public ActionResult Create(UserViewModel viewModel) { if (ModelState.IsValid) { var context = new Context(); var user = new User { Name = viewModel.Name, Username = viewModel.Username.ToUpper(), Password = viewModel.Password }; context.Users.Add(user); var exists = (from p in context.Users where p.Username.ToUpper() == viewModel.Username select p).Any(); if (exists) { throw new Exception($"There is already a registered user with the username {user.Username}."); } context.SaveChanges(); return RedirectToAction("Index"); } return View(viewModel); }
public ActionResult Edit(int id) { var context = new Context(); var user = context.Users.FirstOrDefault(x => x.Id == id); if (user == null) { throw new Exception($"Usuário com código {id} não encontrado."); } var viewModel = new UserViewModel { Id = user.Id, Username = user.Username, Name = user.Name, Password = user.Password }; return View(viewModel); }
public ActionResult Edit(UserViewModel viewModel) { if (ModelState.IsValid) { var context = new Context(); var user = context.Users.FirstOrDefault(x => x.Id == viewModel.Id); if (user == null) { throw new Exception($"User with id {viewModel.Id} not found."); } user.Username = viewModel.Username; user.Name = viewModel.Name; if (!string.IsNullOrWhiteSpace(viewModel.Password)) { user.Password = viewModel.Password; } try { var exists = (from p in context.Users where p.Username.ToUpper() == user.Username && p.Id != user.Id select p).Any(); if (exists) { throw new Exception($"There is already a registered user with the username {user.Username}."); } context.SaveChanges(); return RedirectToAction("Index"); } catch (Exception exp) { ModelState.AddModelError("", exp.Message); } } return View(viewModel); }