public async Task <ActionResult> EditCitizen(ViewModels.AddCitizen updateCitizen) { if (updateCitizen != null) { var currentUser = await db.Users.Where(x => x.UserName == User.Identity.Name) .SingleOrDefaultAsync(); if (currentUser != null) { var RT = await db.RT.FindAsync(updateCitizen.RT); var RW = await db.RW.FindAsync(updateCitizen.RW); var job = await db.Jobs.FindAsync(updateCitizen.Job); var editCitizen = new Models.Citizens { NIK = updateCitizen.NIK, FullName = updateCitizen.FullName, RegistrationStatus = updateCitizen.RegistrationStatus, IsBanned = true, Avatar = updateCitizen.Avatar, Address = updateCitizen.Address, RT = RT, RW = RW, DOB = updateCitizen.DOB, Institution = updateCitizen.Institution, PhoneNumber = updateCitizen.PhoneNumber, MaritalStatus = updateCitizen.MaritalStatus, Religion = updateCitizen.Religion, Citizenship = updateCitizen.Citizenship, Descriptions = updateCitizen.Descriptions, Job = job, Gender = updateCitizen.Gender, Departement = updateCitizen.Roles, UpdatedBy = currentUser, Updated = DateTime.UtcNow }; try { db.Entry(editCitizen).State = EntityState.Modified; var result = await db.SaveChangesAsync(); if (result > 0) { return(RedirectToAction("Citizen", "VillageHead")); } } catch (Exception ex) { Trace.TraceError(ex.Message); Trace.TraceError(ex.StackTrace); } } } return(View("Error")); }
public async Task <ActionResult> Confirm(ViewModels.AddCitizen newCitizen) { if (newCitizen != null) { 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 currentCitizen = await UserManager.FindByEmailAsync(newCitizen.Email); 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.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 = true; addCitizen.Descriptions = newCitizen.Descriptions; addCitizen.FullName = newCitizen.FullName; addCitizen.PhoneNumber = newCitizen.PhoneNumber; } db.Entry(addCitizen).State = EntityState.Modified; var result = await db.SaveChangesAsync(); if (result > 0) { return(RedirectToAction("Login", "Account")); } } return(View("Error")); }
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")); }