public IActionResult AdminRegister() { AdminRegisterVM Model = TempData.Get <AdminRegisterVM>("AdminRegisterVM") ?? new AdminRegisterVM(); TempData.Remove("AdminRegisterVM"); return(View(Model)); }
public async Task <IActionResult> AdminRegister(AdminRegisterVM model) { bool ValidModel = true; #region Validacija Modela #region Username if (string.IsNullOrEmpty(model.Username)) { model.UsernameError = "Polje za Username ne moze biti prazno"; ValidModel = false; } else { if (_context.Korisnik.FirstOrDefault(w => w.UserName == model.Username) != null) { model.UsernameError = "Username vec postoji"; ValidModel = false; } else { model.UsernameError = null; } } #endregion #region Email if (string.IsNullOrEmpty(model.Email)) { model.EmailError = "Polje za Email ne moze biti prazno"; ValidModel = false; } else { if (_context.Korisnik.FirstOrDefault(w => w.Email == model.Email) != null) { model.EmailError = "Vec postoji nalog sa email-om"; ValidModel = false; } else { model.EmailError = null; } } #endregion #region Password if (string.IsNullOrEmpty(model.Password)) { model.PasswordError = "Polje za password ne moze biti prazno"; ValidModel = false; model.Password = null; } else { if (model.Password != model.ConfirmPassword) { model.PasswordError = "Password i Confirm Password moraju biti jednaki"; ValidModel = false; model.Password = null; } else { model.PasswordError = null; } } #endregion #endregion if (!ValidModel) { model.Password = ""; model.ConfirmPassword = ""; TempData.Put("AdminRegisterVM", model); return(RedirectToAction("AdminRegister")); } #region Kreiranje naloga await _userManager.CreateAsync(new Korisnik { UserName = model.Username, Email = model.Email }, model.Password); _context.Administrator.Add(new Administrator { KorisnikId = _context.Korisnik.Where(w => w.UserName == model.Username).Select(s => s.Id) .FirstOrDefault(), Username = model.Username }); _context.SaveChanges(); //Dodavanje u grupu Administrator await _userManager.AddToRoleAsync(await _userManager.FindByNameAsync(model.Username), "Admin"); #endregion return(Redirect("/Admin/Index")); }