public async Task <ActionResult> CreateAdmin(CreateAdminViewModel model) { if (ModelState.IsValid) { var user = new ApplicationUser { FirstName = model.FirstName, LastName = model.LastName, UserName = model.Email, Email = model.Email, CreditCard = new CreditCard() { CVV = model.CVV, CardNumber = model.CardNumber, CardOwner = model.CardOwner, Year = model.Year, Month = model.Month, CardType = model.CardType } }; 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); return(RedirectToAction("Index", "Account")); } //ViewBag.Name = new SelectList(db.Roles.Where(u => !u.Name.Contains("Admin")) // .ToList(), "Name", "Name"); AddErrors(result); } return(View(model)); }
public async Task <ActionResult> AddAdmin(CreateAdminViewModel model) { if (ModelState.IsValid) { var user = new IdentityUser { UserName = model.Username, Email = model.EmailAdress }; var admin = new Admin { AdminId = user.Id, Name = model.Name }; //TODO: delete password field from CreateAdminViewModel. Use instead randomly generated password. Then send it to the admin e-mail //var password = Membership.GeneratePassword(12, 4); var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { await _userManager.AddToRoleAsync(user.Id, "Admin"); var res = await _adminManager.Create(admin); //var user = await //await SendEmail(user.Id, new RegistrationMailMessageBuilder(model.Username)); return(RedirectIfSignedIn()); } } return(View(model)); }
public ActionResult CreateAdmin(CreateAdminViewModel model) { if (!ModelState.IsValid) { return(View(model)); } ApplicationUser newUser = new ApplicationUser() { Email = model.Email, UserName = model.Email, }; try { if (UserManager.FindByName(model.Email) != null) { ModelState.AddModelError("", "User with such email is already exist."); return(View(model)); } IdentityResult result = UserManager.Create(newUser, model.Password); if (!result.Succeeded) { ModelState.AddModelError("", "Error."); return(View(model)); } UserManager.AddToRole(newUser.Id, "Admin"); } catch { //logging ModelState.AddModelError("", "Internal server error."); return(View(model)); } return(RedirectToAction("Admins")); }
public ActionResult CreateAdmin() { var viewModel = new CreateAdminViewModel() { UserRoles = "Admin" }; return(View(viewModel)); }
// [Authorize(AuthenticationSchemes = "frontend")] public IActionResult Create() { List <IdentityRole> list = new List <IdentityRole>(); list = roleManager.Roles.ToList(); ViewBag.list = list; string generatedPassword = passwordGenerator.GeneratePassword(15); CreateAdminViewModel model = new CreateAdminViewModel(); model.Password = generatedPassword; return(View(model)); }
public ActionResult CreateAdmin(int id) { var company = _companyService.Get(id); if (company == null) { return(RedirectToAction("Admins")); } var model = new CreateAdminViewModel { CompanyId = company.Id, }; return(View(model)); }
public async Task <IActionResult> Create(CreateAdminViewModel model) { if (ModelState.IsValid) { string uniqueFileName = processFileUpload.UploadImage(model.Image, "uploads"); var role = await roleManager.FindByIdAsync(model.Role.Id); IdentityUser user = new IdentityUser { UserName = passwordGenerator.GenerateUsernameFromEmail(model.EmailAddress), Email = model.EmailAddress, PhoneNumber = model.PhoneNumber, }; IdentityResult result = await userManager.CreateAsync(user, model.Password); if (result.Succeeded) { IdentityResult roleAddedResult = await userManager.AddToRoleAsync(user, role.Name); if (roleAddedResult.Succeeded) { Admin admin = new Admin { Firstname = model.Firstname, Lastname = model.Lastname, ImagePath = uniqueFileName, IdentityUserId = user.Id }; _entityRepository.Insert(admin); _entityRepository.Save(); TempData["created"] = $"Admin { model.Firstname } { model.Lastname }, was created successfully."; return(RedirectToAction("index")); } foreach (var error in roleAddedResult.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } return(View(model)); }
public ActionResult CreateAdmin(CreateAdminViewModel model) { if (!ModelState.IsValid) { return(View(model)); } if (model.Password != model.PasswordConfirmation) { ModelState.AddModelError("Password", "Password doesn't match its confirmation"); return(View(model)); } if (_userService.GetAll().Any(u => u.Email == model.Email)) { ModelState.AddModelError("Email", "Email already is use"); return(View(model)); } _userManager.Register(model.Email, model.Password, model.CompanyId, UserRole.Admin, model.Status); return(RedirectToAction("Admins", "Companies", new { id = model.CompanyId })); }
public async Task <IActionResult> Index(CreateAdminViewModel model) { if (ModelState.IsValid) { var user = new ApplicationUser { UserName = "******", Email = "*****@*****.**", FirstName = "Admin", LastName = "Account" }; var result = await _userManager.CreateAsync(user, model.Password); if (result.Succeeded) { await _roleManager.CreateAsync(new IdentityRole("Admin")); await _roleManager.CreateAsync(new IdentityRole("Teacher")); await _roleManager.CreateAsync(new IdentityRole("Student")); await _userManager.AddToRoleAsync(user, "Admin"); await _signInManager.SignInAsync(user, isPersistent : false); return(RedirectToAction("Index", "Home")); } foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } return(View()); }
public async Task <IActionResult> CreateAdminAsync([FromBody] CreateAdminViewModel createAdminViewModel) { var isAdminCreated = await _adminService.CreateAdminAsync(createAdminViewModel.Login, createAdminViewModel.Password); return(Ok(isAdminCreated)); }