Пример #1
0
        public async Task <IActionResult> Edit(int id, [Bind("CitizenId,FirstName,LastName,Email,Phone,IsConfirmed")] Citizens citizens)
        {
            if (id != citizens.CitizenId)
            {
                return(NotFound());
            }

            if (ModelState.IsValid)
            {
                try
                {
                    _context.Update(citizens);
                    await _context.SaveChangesAsync();
                }
                catch (DbUpdateConcurrencyException)
                {
                    if (!CitizensExists(citizens.CitizenId))
                    {
                        return(NotFound());
                    }
                    else
                    {
                        throw;
                    }
                }
                return(RedirectToAction(nameof(Index)));
            }
            return(View(citizens));
        }
Пример #2
0
        public async Task <ActionResult> Register(RegisterViewModel model)
        {
            if (ModelState.IsValid)
            {
                var user = new Citizens {
                    UserName = model.Email, Email = model.Email
                };
                var result = await UserManager.CreateAsync(user, model.Password);

                var currentCitizen = await UserManager.FindByEmailAsync(model.Email);

                var addToRoleResult = await UserManager.AddToRoleAsync(currentCitizen.Id, "VillageHead");

                if (result.Succeeded && addToRoleResult.Succeeded)
                {
                    await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false);

                    //For more information on how to enable account confirmation and password reset please visit https://go.microsoft.com/fwlink/?LinkID=320771
                    //Send an email with this link
                    string code = await UserManager.GenerateEmailConfirmationTokenAsync(user.Id);

                    var callbackUrl = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = code }, protocol: Request.Url.Scheme);
                    await UserManager.SendEmailAsync(user.Id, "Confirm your account", "Please confirm your account by clicking <a href=\"" + callbackUrl + "\">here</a>");

                    return(RedirectToAction("ConfirmEmail", "Account", new { email = model.Email }));
                }
                AddErrors(result);
            }

            // If we got this far, something failed, redisplay form
            return(View(model));
        }
    static void Main(string[] args)
    {
        var society = new List <IIdentable>();

        var visitors = Console.ReadLine().Split();

        while (visitors[0] != "End")
        {
            IIdentable currentVisitor;
            if (visitors.Length == 3)
            {
                currentVisitor = new Citizens(visitors[0], int.Parse(visitors[1]), visitors[2]);
                society.Add(currentVisitor);
            }
            if (visitors.Length == 2)
            {
                currentVisitor = new Robots(visitors[0], visitors[1]);
                society.Add(currentVisitor);
            }

            visitors = Console.ReadLine().Split();
        }
        Console.WriteLine();
        var fakeId = Console.ReadLine();

        foreach (var visitor in society.Where(v => v.Id.EndsWith(fakeId)))
        {
            Console.WriteLine(visitor.Id);
        }
    }
Пример #4
0
        /// <summary>
        /// Reset the status and the type of every citizens to optimize [productivity / commerce / food].
        /// </summary>
        internal void ResetCitizens()
        {
            var availableMapSquares = Player.ComputeCityAvailableMapSquares(this);

            var citizensToReset = Citizens.ToList(); // Fix the list !
            int i = 0;

            foreach (var citizen in citizensToReset)
            {
                if (i > availableMapSquares.Count)
                {
                    // From this point, only specialists
                    if (!citizen.Type.HasValue)
                    {
                        ChangeCitizenToSpecialist(citizen, CitizenTypePivot.Entertainer);
                    }
                }
                else
                {
                    AddRegularCitizen(citizen, BestVacantMapSquareLocation(), true);
                }
                i++;
            }

            CheckCitizensHappiness();
        }
Пример #5
0
        public ActionResult <bool> UpdateItem(int id, [FromBody] Citizens entity)
        {
            try
            {
                var      c        = new vaccineContext();
                Citizens existing = c.Citizens.Where(p => p.Id == id).SingleOrDefault();
                //values
                existing.FirstName = entity.FirstName is null ? existing.FirstName : entity.FirstName;
                existing.LastName  = entity.LastName is null ? existing.LastName : entity.LastName;
                existing.Phone     = entity.Phone is null ? existing.Phone : entity.Phone;
                existing.IdNumber  = entity.IdNumber is null ? existing.IdNumber : entity.IdNumber;
                existing.BirthDate = entity.BirthDate is null ? existing.BirthDate : entity.BirthDate;



                c.Update(existing);
                c.SaveChanges();

                return(true);
            }
            catch (System.Exception)
            {
                return(BadRequest());
            }
        }
Пример #6
0
    public static void Main()
    {
        var input   = Console.ReadLine();
        var members = new List <SocietyMembersId>();

        while (input != "End")
        {
            var inputArgs = input.Split();
            if (inputArgs.Length == 2)
            {
                var model   = inputArgs[0];
                var robotId = inputArgs[1];
                var robot   = new Robots(model, robotId);
                members.Add(robot);
            }
            else
            {
                var name = inputArgs[0];
                var age  = inputArgs[1];
                var id   = inputArgs[2];

                var citizen = new Citizens(name, age, id);
                members.Add(citizen);
            }
            input = Console.ReadLine();
        }
        var lastDigits = Console.ReadLine();
        var result     = members.Where(m => m.HasInvalidEnding(lastDigits) == true);

        foreach (var toBeKilled in result)
        {
            Console.WriteLine(toBeKilled.Id);
        }
    }
Пример #7
0
    public static void Main()
    {
        string input = Console.ReadLine();
        List <IBirthdayDate> birthdays = new List <IBirthdayDate>();

        while (input != "End")
        {
            string[] tokens    = input.Split();
            string   birthdate = String.Empty;
            switch (tokens[0])
            {
            case "Pet":
                string name = tokens[1];
                birthdate = tokens[2];
                IBirthdayDate pet = new Pets(name, birthdate);
                birthdays.Add(pet);
                break;

            case "Citizen":
                string personName = tokens[1];
                int    age        = int.Parse(tokens[2]);
                string personId   = tokens[3];
                birthdate = tokens[4];
                IBirthdayDate person = new Citizens(personName, age, personId, birthdate);
                birthdays.Add(person);
                break;
            }
            input = Console.ReadLine();
        }

        string year = Console.ReadLine();

        birthdays.Where(x => x.Birthdate.EndsWith(year)).ToList().ForEach(x => Console.WriteLine(x));
    }
Пример #8
0
 public override void Initialize(City city, IntStruct indexes)
 {
     base.Initialize(city, indexes);
     for (int i = 0; i < 3 && city.FreeCitizens.Count > 0; i++)
     {
         Citizens.Add(city.FreeCitizens.Dequeue());
     }
 }
Пример #9
0
    public void DumpCitizen(Coords coords)
    {
        int id = cityHomesGrid[coords.X, coords.Y];

        cityHomesGrid[coords.X, coords.Y] = -1;
        Citizens.Remove(id);
        nonAllocatedHomes.Insert(Global.Methods.GetRandom(nonAllocatedHomes.Count), coords);
    }
Пример #10
0
    public static void Main()
    {
        var n       = int.Parse(Console.ReadLine());
        var members = new List <SocietyMembersId>();

        for (int i = 0; i < n; i++)
        {
            var input     = Console.ReadLine();
            var inputArgs = input.Split();

            if (inputArgs.Length == 4) //citizen
            {
                var name     = inputArgs[0];
                var age      = int.Parse(inputArgs[1]);
                var id       = inputArgs[2];
                var birthday = inputArgs[3];
                var food     = 0;
                var citizen  = new Citizens(name, age, id, birthday, food);
                members.Add(citizen);
            }
            else//rebel
            {
                var name     = inputArgs[0];
                var age      = int.Parse(inputArgs[1]);
                var id       = string.Empty;
                var birthday = string.Empty;
                var group    = inputArgs[2];
                var food     = 0;
                var rebel    = new Rebel(name, age, id, birthday, group, food);
                members.Add(rebel);
            }
        }
        var currentBuyer = Console.ReadLine();

        while (currentBuyer != "End")
        {
            foreach (var currentMember in members)
            {
                if (currentMember.Name == currentBuyer)
                {
                    if (currentMember is Rebel)
                    {
                        currentMember.Food += 5;
                    }
                    else
                    {
                        currentMember.Food += 10;
                    }
                }
            }
            currentBuyer = Console.ReadLine();
        }
        var totalFood = members.Sum(m => m.Food);

        Console.WriteLine(totalFood);
    }
Пример #11
0
        private Citizens formModel(string id, string Cname, string Gender, string Email)
        {
            Citizens citizen = new Citizens();

            citizen.citizenid = id;
            citizen.CName     = Cname;
            citizen.Gender    = Gender;
            citizen.Email     = Email;
            return(citizen);
        }
Пример #12
0
        public ActionResult <object> Put(Citizens citizen)
        {
            DALOps dal = new DALOps(connStr, database);
            Dictionary <object, object> pairs = new Dictionary <object, object>();

            pairs.Add("citizenid", citizen.citizenid);
            var dotNetObj = dal.UpdateCollection(dal, collection, citizen, pairs);

            return(dotNetObj);
        }
Пример #13
0
        public ActionResult <object> Post(Citizens citizen)
        {
            DALOps dal  = new DALOps(connStr, database);
            var    coll = dal.GetCollectionCount(dal, collection);

            citizen.citizenid = "PH" + (coll + 1).ToString();
            var dotNetObj = dal.InsertToCollection(dal, collection, citizen);

            return(dotNetObj);
        }
Пример #14
0
        private void CreateCitizen(string[] splitted)
        {
            string name = splitted[0];
            int    age  = int.Parse(splitted[1]);
            string id   = splitted[2];

            Citizens citizen = new Citizens(name, age, id);

            inhabitants.Add(citizen);
        }
Пример #15
0
        public async Task <IActionResult> Create([Bind("CitizenId,FirstName,LastName,Email,Phone,IsConfirmed")] Citizens citizens)
        {
            if (ModelState.IsValid)
            {
                _context.Add(citizens);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(Index)));
            }
            return(View(citizens));
        }
Пример #16
0
    public bool InstallNewCitizen(Citizen newCitizen)
    {
        Coords coords = AllocateCitizen();

        if (coords.X < 0)
        {
            return(false);
        }
        newCitizen.Home = coords;
        Citizens.Add(newCitizen.ID, newCitizen);
        cityHomesGrid[coords.X, coords.Y] = newCitizen.ID;
        return(true);
    }
Пример #17
0
 private static void AddCitizens(int citizenCount)
 {
     for (int i = 0; i < citizenCount; i++)
     {
         Citizens c = new Citizens();
         c.Name      = 'C';
         c.ID        = i + 1;
         c.XPos      = maximumLenghtX.GetRandomNumber();
         c.YPos      = maximumLenghtY.GetRandomNumber();
         c.Direction = (Direction)maximumDirection.GetRandomNumber();
         c.Inventory = GetDefaultInventory();
         Persons.Add(c);
     }
 }
Пример #18
0
 public ActionResult <bool> CreateItem([FromBody] Citizens entity)
 {
     try
     {
         var c = new vaccineContext();
         c.Citizens.Add(entity);
         c.SaveChanges();
         return(true);
     }
     catch (System.Exception)
     {
         return(BadRequest());
     }
 }
Пример #19
0
        /// <summary>
        /// Primary simulator class constructor //TODO: Add more complex settings
        /// </summary>
        /// <param name="citizenCount">Ordinary citizen count</param>
        /// <param name="medicalStaffCount">Medical staff count</param>
        /// <param name="firstResponderCount">First responder count</param>
        /// <param name="militaryCount">Military personnel count</param>
        /// <param name="infectedCitizenCount">Infected citizen count</param>
        public Simulator(uint citizenCount, uint medicalStaffCount, uint firstResponderCount, uint militaryCount,
                         uint infectedCitizenCount)
        {
            //Generate people
            for (uint i = 0; i < citizenCount; i++)
            {
                Citizens.Add(PersonFactory.GenerateCitizen());
            }

            //Generate people
            for (uint i = 0; i < infectedCitizenCount; i++)
            {
                Citizens.Add(PersonFactory.GenerateCitizen(Person.HealthStatusEnum.Symptoms));
            }

            //Generate medicalStaff
            for (uint i = 0; i < medicalStaffCount; i++)
            {
                Citizens.Add(PersonFactory.GenerateMedicalStaff());
            }

            //Generate military
            for (uint i = 0; i < militaryCount; i++)
            {
                Citizens.Add(PersonFactory.GenerateMilitary());
            }

            //Generate firstResponder
            for (uint i = 0; i < firstResponderCount; i++)
            {
                Citizens.Add(PersonFactory.GenerateMilitary());
            }

            Console.WriteLine($"Starting state {_day++}");
            Console.WriteLine(
                $"Healthy count: {Citizens.Count(person => person.Health == Person.HealthStatusEnum.Healthy)}");
            Console.WriteLine(
                $"Asymptomatic count: {Citizens.Count(person => person.Health == Person.HealthStatusEnum.Asymptomatic)}");
            Console.WriteLine(
                $"Symptoms count: {Citizens.Count(person => person.Health == Person.HealthStatusEnum.Symptoms)}");
            Console.WriteLine(
                $"Seriously ill count: {Citizens.Count(person => person.Health == Person.HealthStatusEnum.SeriouslyIll)}");
            Console.WriteLine(
                $"Immune count: {Citizens.Count(person => person.Health == Person.HealthStatusEnum.Immune)}");
            Console.WriteLine(
                $"Dead count: {Citizens.Count(person => person.Health == Person.HealthStatusEnum.Deceased)}");
            Console.WriteLine(
                "###############");
        }
Пример #20
0
    public static void Main()
    {
        var input   = Console.ReadLine();
        var members = new List <SocietyMembersId>();

        while (input != "End")
        {
            var inputArgs = input.Split();

            if (inputArgs[0] == "Citizen")
            {
                var name     = inputArgs[1];
                var age      = inputArgs[2];
                var id       = inputArgs[3];
                var birthday = inputArgs[4];
                var citizen  = new Citizens(name, age, id, birthday);
                members.Add(citizen);
                //
            }
            else if (inputArgs[0] == "Robot")
            {
                var model    = inputArgs[1];
                var robotId  = inputArgs[2];
                var birthDay = string.Empty;
                var robot    = new Robots(model, robotId, birthDay);
                members.Add(robot);
            }
            else//pet
            {
                var petName     = inputArgs[1];
                var id          = string.Empty;
                var petBirthday = inputArgs[2];
                var pet         = new Pet(petName, id, petBirthday);
                members.Add(pet);
            }
            input = Console.ReadLine();
        }
        var lastDigits = Console.ReadLine();
        var result     = members.Where(m => m.HasInvalidEnding(lastDigits));

        foreach (var toBeGifted in result)
        {
            Console.WriteLine(toBeGifted.BirthDay);
        }
    }
Пример #21
0
    public void FullRepair()
    {
        switch (state)
        {
        case BuildingState.HP75:
            hp75.gameObject.SetActive(false);
            break;

        case BuildingState.HP50:
            hp50.gameObject.SetActive(false);
            break;
        }

        state = BuildingState.FullRepair;
        hp100.gameObject.SetActive(true);

        Citizens.FullRepairReaction();
    }
Пример #22
0
    public void CheapRepair()
    {
        switch (state)
        {
        case BuildingState.HP75:
            hp75Repair.gameObject.SetActive(true);
            hp75.gameObject.SetActive(false);
            break;

        case BuildingState.HP50:
            hp50Repair.gameObject.SetActive(true);
            hp50.gameObject.SetActive(false);
            break;
        }

        state = BuildingState.CheapRepair;

        Citizens.CheapRepairReaction();
    }
Пример #23
0
        public static void ParseInput(List <IBuyer> buyers)
        {
            var input = int.Parse(Console.ReadLine());

            for (int i = 0; i < input; i++)
            {
                string[] inputPart = Console.ReadLine().Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);
                switch (inputPart.Length)
                {
                case 4:
                    IBuyer citizens = new Citizens(inputPart[0], inputPart[1], inputPart[2], inputPart[3]);
                    buyers.Add(citizens);
                    break;

                case 3:
                    IBuyer rebel = new Rebel(inputPart[0], inputPart[1], inputPart[2]);
                    buyers.Add(rebel);
                    break;
                }
            }
        }
Пример #24
0
        public void Run()
        {
            string command = Console.ReadLine();

            List <string> ids = new List <string>();

            while (command != "End")
            {
                string[] info = command.Split(' ');

                if (info.Length == 2)
                {
                    string model = info[0];
                    string id    = info[1];

                    Robots robots = new Robots(model, id);
                    ids.Add(robots.Id);
                }
                else if (info.Length == 3)
                {
                    string name = info[0];
                    int    age  = int.Parse(info[1]);
                    string id   = info[2];

                    Citizens citizens = new Citizens(name, age, id);
                    ids.Add(citizens.Id);
                }

                command = Console.ReadLine();
            }

            string number   = Console.ReadLine();
            var    finalIds = ids.Where(a => a.EndsWith(number));

            foreach (var id in finalIds)
            {
                Console.WriteLine(id);
            }
        }
Пример #25
0
        public static void Main()
        {
            List <IBuyer> statistic = new List <IBuyer>();

            int parameter = int.Parse(Console.ReadLine());

            for (int i = 0; i < parameter; i++)
            {
                string[] tokens = Console.ReadLine().Split();
                string   name   = tokens[0];

                if (tokens.Length == 4)
                {
                    IBuyer citizen = new Citizens(name, int.Parse(tokens[1]), tokens[2], tokens[3]);
                    statistic.Add(citizen);
                }
                else
                {
                    IBuyer rabel = new Rabel(name, int.Parse(tokens[1]), tokens[2]);
                    statistic.Add(rabel);
                }
            }

            string command;
            int    result = 0;

            while ((command = Console.ReadLine()) != "End")
            {
                foreach (var person in statistic)
                {
                    if (person.Name == command)
                    {
                        result += person.BuyFood();
                    }
                }
            }

            Console.WriteLine(result);
        }
Пример #26
0
        /// <summary>
        /// Simulate one day
        /// </summary>
        public void Day()
        {
            Matchmaker();

            ExecuteAllMeetingsParallel();

            //Run end of day checks
            Parallel.ForEach(Citizens, person => { person.EndOfDay(); });

            Console.WriteLine($"End of day {_day++}");
            Console.WriteLine(
                $"Healthy count: {Citizens.Count(person => person.Health == Person.HealthStatusEnum.Healthy)}");
            Console.WriteLine(
                $"Asymptomatic count: {Citizens.Count(person => person.Health == Person.HealthStatusEnum.Asymptomatic)}");
            Console.WriteLine(
                $"Symptoms count: {Citizens.Count(person => person.Health == Person.HealthStatusEnum.Symptoms)}");
            Console.WriteLine(
                $"Seriously ill count: {Citizens.Count(person => person.Health == Person.HealthStatusEnum.SeriouslyIll)}");
            Console.WriteLine(
                $"Immune count: {Citizens.Count(person => person.Health == Person.HealthStatusEnum.Immune)}");
            Console.WriteLine(
                $"Dead count: {Citizens.Count(person => person.Health == Person.HealthStatusEnum.Deceased)}");
            Console.WriteLine(
                "##############");

            EndOfDayEvent?.Invoke(this, new EndOfDayEventArgs
            {
                HealthyCount      = (uint)Citizens.Count(person => person.Health == Person.HealthStatusEnum.Healthy),
                AsymptomaticCount =
                    (uint)Citizens.Count(person => person.Health == Person.HealthStatusEnum.Asymptomatic),
                SymptomsCount     = (uint)Citizens.Count(person => person.Health == Person.HealthStatusEnum.Symptoms),
                SeriouslyIllCount =
                    (uint)Citizens.Count(person => person.Health == Person.HealthStatusEnum.SeriouslyIll),
                DeceasedCount = (uint)Citizens.Count(person => person.Health == Person.HealthStatusEnum.Deceased),
                ImmuneCount   = (uint)Citizens.Count(person => person.Health == Person.HealthStatusEnum.Immune),
                day           = _day
            });
        }
Пример #27
0
        //1. BorderControl
        //2. BirthdayCelebrations => extend version
        public void Run()
        {
            string input = Console.ReadLine();

            while (input != "End")
            {
                string[] inputArgs = input.Split();

                if (inputArgs[0].ToLower() == "robot")
                {
                    string model  = inputArgs[1];
                    string id     = inputArgs[2];
                    Robots robots = new Robots(id, model);
                    identifables.Add(robots);
                }
                else if (inputArgs[0].ToLower() == "citizen")
                {
                    string name      = inputArgs[1];
                    int    age       = int.Parse(inputArgs[2]);
                    string id        = inputArgs[3];
                    string birthdate = inputArgs[4];

                    IBirthable citizens = new Citizens(id, name, age, birthdate);
                    birthables.Add(citizens);
                }
                else if (inputArgs[0].ToLower() == "pet")
                {
                    string name      = inputArgs[1];
                    string birthdate = inputArgs[2];
                    Pet    pet       = new Pet(name, birthdate);
                    birthables.Add(pet);
                }
                input = Console.ReadLine();
            }
            string year = Console.ReadLine();

            birthables.Where(x => x.Birthday.EndsWith(year)).ToList().ForEach(x => Console.WriteLine(x.Birthday));
        }
Пример #28
0
        public void Run()
        {
            string command = Console.ReadLine();

            List <string> years = new List <string>();

            while (command != "End")
            {
                string[] info = command.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries);

                if (info[0] == "Citizen")
                {
                    Citizens citizens = new Citizens(info[1], int.Parse(info[2]), info[3], info[4]);
                    years.Add(citizens.BirthDate);
                }
                else if (info[0] == "Robot")
                {
                    Robots robots = new Robots(info[1], info[2]);
                }
                else if (info[0] == "Pet")
                {
                    Pet pet = new Pet(info[1], info[2]);
                    years.Add(pet.BirthDate);
                }

                command = Console.ReadLine();
            }

            string year = Console.ReadLine();

            var finalYears = years.Where(a => a.EndsWith(year));

            foreach (var y in finalYears)
            {
                Console.WriteLine(y);
            }
        }
Пример #29
0
        /// <summary>
        /// Generate patient-doctor meetings
        /// </summary>
        /// <param name="person">Person for whom these meetings are generated. Should be a member of medical-staff</param>
        /// <param name="randomIndexList">Index list of people to meet</param>
        /// <param name="peopleToMeet">List of people to meet to which meetings are added</param>
        /// <param name="random">Random generator to increase efficiency</param>
        public void PatientMeetings(Person person, HashSet <int> randomIndexList,
                                    List <Person> peopleToMeet, Random random = null)
        {
            random ??= new Random();

            if (person.CitizenClass != Person.CitizenClassEnum.MedicalStaff)
            {
                throw new WarningException("Warning! Doctor-patient meeting generated for non-medical staff!");
            }

            //TODO Upgrade this to reflect total amount of medical personnel and infected patients in hospitals
            var infectedCitizens = Citizens.Where(p => p.IsContagious).ToList();

            while (randomIndexList.Count < PatientMaxCount &&
                   randomIndexList.Count < infectedCitizens.Count)
            {
                randomIndexList.Add(random.Next(0, infectedCitizens.Count));
            }

            foreach (var index in randomIndexList)
            {
                peopleToMeet.Add(infectedCitizens[index]);
            }
        }
Пример #30
0
        public async Task <ActionResult> AddCitizen(ViewModels.AddCitizen newCitizen)
        {
            var currentUser = await db.Users.Where(x => x.UserName == User.Identity.Name)
                              .SingleOrDefaultAsync();

            if (currentUser != null)
            {
                try
                {
                    var searchUser = await db.Users.Where(x => x.Email == newCitizen.Email).SingleOrDefaultAsync();

                    if (searchUser == null)
                    {
                        var citizen = new Citizens
                        {
                            Id          = Guid.NewGuid().ToString(),
                            UserName    = newCitizen.NIK,
                            Email       = newCitizen.Email,
                            FullName    = newCitizen.FullName,
                            PhoneNumber = newCitizen.PhoneNumber
                        };
                        var resultUserManager = await UserManager.CreateAsync(citizen, newCitizen.Password);

                        var currentCitizen = await UserManager.FindByEmailAsync(newCitizen.Email);

                        var addToRoleResult = await UserManager.AddToRoleAsync(currentCitizen.Id, "Citizen");

                        if (newCitizen.Roles == Departement.Admin)
                        {
                            addToRoleResult = await UserManager.AddToRoleAsync(currentCitizen.Id, "Administrator");
                        }
                        else if (newCitizen.Roles == Departement.VillageHead)
                        {
                            addToRoleResult = await UserManager.AddToRoleAsync(currentCitizen.Id, "VillageHead");
                        }
                        if (resultUserManager.Succeeded && addToRoleResult.Succeeded)
                        {
                            var RT = await db.RT.FindAsync(newCitizen.RT);

                            var RW = await db.RW.FindAsync(newCitizen.RW);

                            var job = await db.Jobs.FindAsync(newCitizen.Job);

                            var addCitizen = await db.Citizens.FindAsync(currentCitizen.Id);

                            if (addCitizen != null)
                            {
                                addCitizen.NIK                = newCitizen.NIK;
                                addCitizen.Job                = job;
                                addCitizen.DOB                = newCitizen.DOB;
                                addCitizen.Religion           = newCitizen.Religion;
                                addCitizen.RegisteredBy       = currentUser;
                                addCitizen.Departement        = newCitizen.Roles;
                                addCitizen.RegistrationStatus = newCitizen.RegistrationStatus;
                                addCitizen.RT             = RT;
                                addCitizen.RW             = RW;
                                addCitizen.MaritalStatus  = newCitizen.MaritalStatus;
                                addCitizen.Citizenship    = newCitizen.Citizenship;
                                addCitizen.Gender         = newCitizen.Gender;
                                addCitizen.Institution    = newCitizen.Institution;
                                addCitizen.IsBanned       = false;
                                addCitizen.Address        = newCitizen.Address;
                                addCitizen.EmailConfirmed = false;
                                addCitizen.Descriptions   = newCitizen.Descriptions;
                            }
                            db.Entry(addCitizen).State = EntityState.Modified;
                            var result = await db.SaveChangesAsync();

                            if (result > 0)
                            {
                                return(RedirectToAction("Citizen", "VillageHead"));
                            }
                        }
                    }
                }
                catch (DbEntityValidationException dbEx)
                {
                    foreach (var validationErrors in dbEx.EntityValidationErrors)
                    {
                        foreach (var validationError in validationErrors.ValidationErrors)
                        {
                            System.Console.WriteLine("Property: {0} Error: {1}", validationError.PropertyName, validationError.ErrorMessage);
                        }
                    }
                }
                catch (Exception ex)
                {
                    Trace.TraceError(ex.Message);
                    Trace.TraceError(ex.StackTrace);
                }
            }
            return(View("Error"));
        }