public async System.Threading.Tasks.Task <ActionResult> Edit([Bind(Include = "districtAdminId,name,description,UserId,isDeleted")] districtAdmin districtAdmin, RegisterModel register, string Id) { if (ModelState.IsValid) { register.isDeleted = 0; var userStore = new UserStore <ApplicationUser>(new ApplicationDbContext()); if (Id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var user = await UserManager.FindByIdAsync(Id); if (user == null) { return(HttpNotFound()); } user.FirstName = register.FirstName; user.LastName = register.LastName; user.Email = register.Email; user.PhoneNo = register.PhoneNo; user.isDeleted = 0; user.Address = register.Address; var removePassword = UserManager.RemovePassword(Id); if (removePassword.Succeeded) { //Removed Password Success var AddPassword = UserManager.AddPassword(Id, register.Password); if (AddPassword.Succeeded) { await UserManager.UpdateAsync(user); var ctx = userStore.Context; ctx.SaveChanges(); districtAdmin.name = register.FirstName + " " + register.LastName; districtAdmin.UserId = Id; db.Entry(districtAdmin).State = EntityState.Modified; db.SaveChanges(); } } return(RedirectToAction("Index")); } return(RedirectToAction("Index")); }
public async System.Threading.Tasks.Task <ActionResult> DeleteConfirmed(int id) { var userStore = new UserStore <ApplicationUser>(new ApplicationDbContext()); districtAdmin districtAdmin = db.districtAdmins.Find(id); districtAdmin.isDeleted = 1; var user = await UserManager.FindByIdAsync(districtAdmin.UserId); user.isDeleted = 1; await UserManager.UpdateAsync(user); var ctx = userStore.Context; ctx.SaveChanges(); db.SaveChanges(); return(RedirectToAction("Index")); }
public async Task <ActionResult> RegisterDistrictAdmin(RegisterModel model, string description) { try { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.userName, Email = model.Email, FirstName = model.FirstName, LastName = model.LastName, PhoneNo = model.PhoneNo, Address = model.Address, isDeleted = 0 }; model.UserRoles = "DistrictAdmin"; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { await SignInManager.SignInAsync(user, isPersistent : false, rememberBrowser : false); await this.UserManager.AddToRoleAsync(user.Id, model.UserRoles); // For more information on how to enable account confirmation and password reset please visit http://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>"); districtAdmin admin = new districtAdmin(); admin.isDeleted = 0; admin.description = description; admin.UserId = user.Id; admin.name = user.UserName; db.districtAdmins.Add(admin); db.SaveChanges(); var user1 = context.Users.Where(u => u.Email.Equals("*****@*****.**")).Single(); // where db is ApplicationDbContext instance var result1 = await SignInManager.PasswordSignInAsync(user.UserName, "P@ssw0rd", false, shouldLockout : false); model.UserRoles = "SystemAdmin"; switch (result1) { case SignInStatus.Success: return(RedirectToAction("Index", "districtAdmins")); } } AddErrors(result); } } catch (System.Data.Entity.Validation.DbEntityValidationException dbEx) { Exception raise = dbEx; foreach (var validationErrors in dbEx.EntityValidationErrors) { foreach (var validationError in validationErrors.ValidationErrors) { string message = string.Format("{0}:{1}", validationErrors.Entry.Entity.ToString(), validationError.ErrorMessage); // raise a new exception nesting // the current instance as InnerException raise = new InvalidOperationException(message, raise); } } throw raise; } return(RedirectToAction("Index", "districtAdmins")); }