public async Task <IActionResult> Create(Commisioner commisioner) { if (ModelState.IsValid) { var commisionerUser = new IdentityUser { Email = commisioner.Email, UserName = commisioner.Nic }; try { commisioner.CommisionerPassword = _hash.EncryptString(commisioner.CommisionerPassword); _context.Add(commisioner); await _context.SaveChangesAsync(); await _usuarios._userManager.CreateAsync(commisionerUser, commisioner.CommisionerPassword); var RoleName = _context.Role.FirstOrDefault(v => v.RoleId.Equals(commisioner.RoleId)).RoleValue; var addRoleToUser = await _usuarios._userManager.FindByEmailAsync(commisioner.Email); await _usuarios._userManager.AddToRoleAsync(addRoleToUser, RoleName); } catch (Exception) { return(View(commisioner)); } return(RedirectToAction(nameof(Index))); } return(View(commisioner)); }
public async Task <IActionResult> Edit(int id, [Bind("CommisionerId,FirstName,LastName,SecondLastName,Nic,ContractNumber,Email,CommisionerPassword")] Commisioner commisioner) { if (id != commisioner.CommisionerId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(commisioner); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CommisionerExists(commisioner.CommisionerId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(commisioner)); }
public async Task <IActionResult> Create([Bind("CommisionerId,FirstName,LastName,SecondLastName,Nic,ContractNumber,Email,CommisionerPassword")] Commisioner commisioner) { if (ModelState.IsValid) { _context.Add(commisioner); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(commisioner)); }
public async Task <IActionResult> Edit(int id, Commisioner commisioner) { if (id != commisioner.CommisionerId) { return(NotFound()); } if (ModelState.IsValid) { try { if (string.IsNullOrEmpty(commisioner.CommisionerPassword) && string.IsNullOrWhiteSpace(commisioner.CommisionerPassword)) { var dataCommisioner = _context.Commisioner.FirstOrDefault(v => v.CommisionerId.Equals(id)); commisioner.CommisionerPassword = dataCommisioner.CommisionerPassword; } var user = HttpContext.Session.GetString("User"); UserData dataItem = JsonConvert.DeserializeObject <UserData>(user.ToString()); var userObtainedById = await _usuarios._userManager.FindByIdAsync(dataItem.Id); await _usuarios._userManager.ChangePasswordAsync(userObtainedById, userObtainedById.PasswordHash, commisioner.CommisionerPassword); userObtainedById.Email = commisioner.Email; userObtainedById.NormalizedEmail = commisioner.Email.ToUpper(); commisioner.CommisionerPassword = _hash.EncryptString(commisioner.CommisionerPassword); _context.Update(commisioner); _context.Update(userObtainedById); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!CommisionerExists(commisioner.CommisionerId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(commisioner)); }