(function () { "use strict"; angular.module("EnrApp") .factory("primaryService", ["$rootScope", function ($rootScope) { // Service Interface var serviceInterface = { setOfficesList: setOfficesList, getOfficesList: getOfficesList, setIsNumberOfSeats: setIsNumberOfSeats, getIsNumberOfSeats: getIsNumberOfSeats, setIsPrimary: setIsPrimary, setSelectedParty: setSelectedParty, getIsPrimary: getIsPrimary, setPartyColors: setPartyColors, getPartyColors: getPartyColors, getSelectedPartyColor: getSelectedPartyColor, getSelectedParty: getSelectedParty, setIsCertified: setIsCertified, getIsCertified: getIsCertified, setSelectedOffice: setSelectedOffice, getSelectedOffice: getSelectedOffice, setSelectedCounty: setSelectedCounty, getSelectedCounty: getSelectedCounty, setSelectedGeometryObjProperties: setSelectedGeometryObjProperties, getSelectedGeometryObjProperties: getSelectedGeometryObjProperties, setSelectedGeometryEventPath: setSelectedGeometryEventPath, getSelectedGeometryEventPath: getSelectedGeometryEventPath, setIsAnyRegionSelected: setIsAnyRegionSelected, getIsAnyRegionSelected: getIsAnyRegionSelected, getSelectedNavtab: getSelectedNavtab, setSelectedNavtab: setSelectedNavtab, getSelectedMainNavtab: getSelectedMainNavtab, setSelectedMainNavtab: setSelectedMainNavtab, setOfficersJsonData: setOfficersJsonData, getOfficersJsonData: getOfficersJsonData, //Implemented for State Constitutional Amendment getStateConReferendum: getStateConReferendum, setStateConReferendum: setStateConReferendum, isStateConReferendumExist: isStateConReferendumExist, getMapDistrictData: getMapDistrictData, setMapDistrictData: setMapDistrictData, getIsMouseArrivedOnModel: getIsMouseArrivedOnModel, setIsMouseArrivedOnModel: setIsMouseArrivedOnModel, getElectionType: getElectionType, setElectionType: setElectionType, resetSelectedOffice: resetSelectedOffice, resetselectedCounty: resetselectedCounty, resetselectedGeometryObjProperties: resetselectedGeometryObjProperties, resetselectedGeometryEventPath: resetselectedGeometryEventPath, resetisAnyRegionSelected: resetisAnyRegionSelected, resetselectedNavtab: resetselectedNavtab, resetselectedMainNavtab: resetselectedMainNavtab } // "Private" members var isPrimary = false; var selectedParty = null; var selectedOffice = null; var selectedCounty = null; var selectedGeometryObjProperties = null; var selectedGeometryEventPath = null; var isAnyRegionSelected = null; var selectedNavtab = null; var selectedMainNavtab = null; var isSplash = null; var PartyColor = { Republican: null, Democrat: null }; var isCertified = false; var isNumberOfSeats = null; var isMouseArrivedonModel = false; var officesList = []; var officersJsonData = []; var mapDistrictData = []; var stateConReferendumData = {}; var isStateConReferendumData = false; var electionType; function getIsMouseArrivedOnModel() { return isMouseArrivedonModel; } function setIsMouseArrivedOnModel(_isArrived) { isMouseArrivedonModel = _isArrived; } function setOfficersJsonData(_setOfficersJsonData) { officersJsonData = _setOfficersJsonData; } function getStateConReferendum() { return stateConReferendumData; } function getMapDistrictData() { return mapDistrictData; } function setMapDistrictData(_mapDistrictData) { mapDistrictData = _mapDistrictData; } function isStateConReferendumExist() { return isStateConReferendumData; } function setStateConReferendum(_stateConReferendumData) { stateConReferendumData = _stateConReferendumData; isStateConReferendumData = true; $rootScope.$broadcast("STATE_CON_REFERENDUM"); } function getOfficersJsonData() { return officersJsonData; } function setIsPrimary(_isPrimary, _selectedParty) { isPrimary = _isPrimary; setSelectedParty(_selectedParty); if (_isPrimary) $rootScope.$broadcast("IS_PRIMARY_SET"); } function setSelectedParty(_selectedParty, _isSplash) { selectedParty = _selectedParty; isSplash = _isSplash; $rootScope.$broadcast("SELECTED_PARTY_CHANGED", selectedParty, isSplash); } function setSelectedOffice(_selectedOffice) { selectedOffice = _selectedOffice; $rootScope.$broadcast("SELECTED_OFFICE_CHANGED", selectedParty); } function setSelectedCounty(_selectedCounty) { selectedCounty = _selectedCounty; $rootScope.$broadcast("COUNTY_CHNAGED"); } function setSelectedGeometryObjProperties(_selectedGeometryObjProperties) { selectedGeometryObjProperties = _selectedGeometryObjProperties; // $rootScope.$broadcast("COUNTY_CHNAGED"); } function setSelectedGeometryEventPath(_selectedGeometryEventPath) { selectedGeometryEventPath = _selectedGeometryEventPath; } function setIsAnyRegionSelected(_isAnyRegionSelected) { isAnyRegionSelected = _isAnyRegionSelected; } function setSelectedNavtab(_selectedNavtab) { selectedNavtab = _selectedNavtab; } function setSelectedMainNavtab(_selectedMainNavtab) { selectedMainNavtab = _selectedMainNavtab; } function setIsCertified(_isCertified) { isCertified = _isCertified; } function setIsNumberOfSeats(_isNumberOfSeats) { isNumberOfSeats = _isNumberOfSeats; } function setOfficesList(_officesList) { officesList = _officesList; } function getIsPrimary() { return isPrimary; } function getSelectedParty() { return selectedParty; } function getSelectedOffice() { return selectedOffice; } function getSelectedCounty() { return selectedCounty; } function getSelectedGeometryObjProperties() { return selectedGeometryObjProperties; } function getSelectedGeometryEventPath() { return selectedGeometryEventPath; } function getIsAnyRegionSelected() { return isAnyRegionSelected; } function getIsCertified() { return isCertified; } function getSelectedNavtab() { return selectedNavtab; } function getSelectedMainNavtab() { return selectedainNavtab; } function getIsNumberOfSeats() { return isNumberOfSeats; } function setPartyColors(partyColors) { PartyColor = partyColors; } function setElectionType(_electionType) { electionType = _electionType; } function getElectionType() { return electionType; } function getPartyColors() { return PartyColor; } function getOfficesList() { return officesList; } function getSelectedPartyColor() { if (selectedParty === "D") { return PartyColor.Democrat; } else //if (selectedParty === "R") { return PartyColor.Republican; } } function resetselectedCounty() { selectedCounty = null; } function resetselectedGeometryObjProperties() { selectedGeometryObjProperties = null; } function resetselectedGeometryEventPath() { selectedGeometryEventPath = null; } function resetisAnyRegionSelected() { isAnyRegionSelected = null; } function resetselectedNavtab() { selectedNavtab = null; } function resetselectedMainNavtab() { selectedMainNavtab = null; } function resetSelectedOffice() { selectedOffice = null; } return serviceInterface; }]); }());