Beispiel #1
0
        public void EditVoter(ElectionVoter electionVoter)
        {
            var obj = _electionUnitOfWork.VoterRepository.GetById(electionVoter.Id);

            obj.Mobile        = electionVoter.Mobile;
            obj.Address       = electionVoter.Address;
            obj.CoverPhotoUrl = electionVoter.CoverPhotoUrl;
            _electionUnitOfWork.VoterRepository.Edit(obj);
            _electionUnitOfWork.Save();
        }
Beispiel #2
0
        public int addUser(User user, Election[] elections)
        {
            List <ElectionVoter> electionVoters = new List <ElectionVoter>();

            foreach (Election election in elections)
            {
                ElectionVoter ev = new ElectionVoter();
                ev.ElectionId = election.ID;
                ev.VoterId    = user.ID;
                electionVoters.Add(ev);
            }
            user.ElectionVoters = electionVoters;
            electContext.Users.Add(user);
            electContext.SaveChanges();
            return(user.ID);
        }
        public ElectionVoter ConvertToVoter(IList <ElectionVoter> electionVoter)
        {
            var electionVoterObj = new ElectionVoter();

            foreach (var item in electionVoter)
            {
                electionVoterObj.Id            = item.Id;
                electionVoterObj.Name          = item.Name;
                electionVoterObj.NID           = item.NID;
                electionVoterObj.Mobile        = item.Mobile;
                electionVoterObj.DateOfBirth   = item.DateOfBirth;
                electionVoterObj.Address       = item.Address;
                electionVoterObj.CoverPhotoUrl = FormatFileUrl(item.CoverPhotoUrl);
            }
            return(electionVoterObj);
        }
Beispiel #4
0
 public void AddVoter(ElectionVoter electionVoter)
 {
     _electionUnitOfWork.VoterRepository.Add(electionVoter);
     _electionUnitOfWork.Save();
 }
Beispiel #5
0
        /// <summary>
        /// 处理市民
        /// </summary>
        /// <param name="homeID"></param>
        /// <param name="data"></param>
        /// <param name="isPre"></param>
        public static void ProcessCitizen(uint homeID, ref CitizenUnit data, bool isPre)
        {
            FieldInfo fieldInfo;

            if (isPre)
            {
                CitizenUnitData.familyMoney[homeID] = 0;
                for (int i = 0; i <= 4; i++)
                {
                    fieldInfo = data.GetType().GetField($"m_citizen{i}");
                    uint m_citizenI = (uint)fieldInfo.GetValue(data);
                    if (m_citizenI != 0)
                    {
                        Citizen citizenData = Singleton <CitizenManager> .instance.m_citizens.m_buffer[m_citizenI];
                        if ((citizenData.m_flags & Citizen.Flags.MovingIn) == Citizen.Flags.None)
                        {
                            if (citizenData.Dead == false)
                            {
                                RealCityResidentAI.citizenCount++;
                                CitizenUnitData.familyMoney[homeID] += CitizenData.citizenMoney[m_citizenI];
                            }
                        }
                    }
                }
            }
            else
            {
                // post-process
                if (CitizenUnitData.familyMoney[homeID] < MainDataStore.lowWealth)
                {
                    RealCityResidentAI.familyWeightStableLow++;
                }
                else if (CitizenUnitData.familyMoney[homeID] >= MainDataStore.highWealth)
                {
                    RealCityResidentAI.familyWeightStableHigh++;
                }

                int temp = 0;
                for (int i = 0; i <= 4; i++)
                {
                    fieldInfo = data.GetType().GetField($"m_citizen{i}");
                    uint m_citizenI = (uint)fieldInfo.GetValue(data);

                    if (m_citizenI != 0)
                    {
                        Citizen citizenData = Singleton <CitizenManager> .instance.m_citizens.m_buffer[m_citizenI];
                        if (((citizenData.m_flags & Citizen.Flags.MovingIn) == Citizen.Flags.None) && (citizenData.Dead == false))
                        {
                            ++temp;
#if FASTRUN
#else
                            //add a party.chancce by its citizen data
                            //GetVoteChance(m_citizenI, citizenData, homeID);
                            if (Politics.IsOnElection() && Politics.IsOverVotingAge(Citizen.GetAgeGroup(citizenData.m_age)))
                            {
                                ElectionVoter v = new ElectionVoter(m_citizenI, ref citizenData, homeID, Election.CurrentElectionInfo);
                                v.VoteTicket();
                            }
#endif
                        }
                    }
                }

                if (temp != 0)
                {
                    for (int i = 0; i <= 4; i++)
                    {
                        fieldInfo = data.GetType().GetField($"m_citizen{i}");
                        uint m_citizenI = (uint)fieldInfo.GetValue(data);

                        if (m_citizenI != 0)
                        {
                            Citizen citizenData = Singleton <CitizenManager> .instance.m_citizens.m_buffer[m_citizenI];
                            if (((citizenData.m_flags & Citizen.Flags.MovingIn) == Citizen.Flags.None) && (citizenData.Dead == false))
                            {
                                CitizenData.citizenMoney[m_citizenI] = CitizenUnitData.familyMoney[homeID] / temp;
                            }
                        }
                    }
                }
            }
        }