public async Task <ActionResult> CreateAdmin(CreateAdminModel model) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = model.Email, Email = model.Email, PhoneNumber = model.PhoneNumber, Gender = model.Gender, Address = model.Address, Status = model.Status, CreatedAt = model.CreatedAt, UpdatedAt = model.UpdatedAt, }; var result = await UserManager.CreateAsync(user, model.Password); if (result.Succeeded) { //await SignInManager.SignInAsync(user, isPersistent: true, rememberBrowser: true); UserManager.AddToRole(user.Id, model.RoleName); 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(Redirect("/Admin/Role")); } AddErrors(result); } // If we got this far, something failed, redisplay form return(View(model)); }
public async Task <IActionResult> CreateAdmin(CreateAdminModel model) { if (ModelState.IsValid) { var name = User.Identity.Name; var loggedUser = await _adminRepository.GetByEmailAsync(name); var user = await _adminRepository.GetByEmailAsync(model.Email); if (user == null) { var pwdslt = Hash.Create(model.Password); await _adminRepository.AddAsync(new DomainLayer.Entities.Admin { Email = model.Email, PwdSalt = pwdslt, CreatedAt = DateTime.UtcNow, OwnerId = loggedUser?.Id }); return(RedirectToAction("Index", "Home")); } } return(View(model)); }
public async Task <IActionResult> AddAdmin( [Bind(nameof(CreateAdminModel.FullName), nameof(CreateAdminModel.Email), nameof(CreateAdminModel.DateOfBirth), nameof(CreateAdminModel.PhoneNumber), nameof(CreateAdminModel.Gender), nameof(CreateAdminModel.Address))] CreateAdminModel model) { if (ModelState.IsValid) { try { await model.CreateAdminAsync(); model.Response = new ResponseModel("Admin Added successful.", ResponseType.Success); _logger.LogInformation("New Admin Created Successfully"); return(RedirectToAction("Index")); } catch (DuplicationException ex) { model.Response = new ResponseModel(ex.Message, ResponseType.Failure); _logger.LogError(ex.Message); } catch (Exception ex) { model.Response = new ResponseModel("Admin added failured.", ResponseType.Failure); _logger.LogError(ex.Message); } } return(View(model)); }
public IActionResult AddNewAdmin([FromBody] CreateAdminModel body) { Administrator user = new Administrator { Name = body.Name, Email = body.Email, Password = body.Password, Phone = body.Phone, Role = body.Role }; var response = _repo.AddAdmin(user); return(Ok(response.Result.ToString())); }
public IActionResult AddAdmin() { var model = new CreateAdminModel(); return(View(model)); }