public async Task <IActionResult> Edit(Guid id, EditOfficeViewModel model) { if (id != model.Id) { return(NotFound()); } if (await _dal.OfficeNameExistsAsync(model.Name, id)) { ModelState.AddModelError("Name", "The name already exists."); } string msg; if (ModelState.IsValid) { var item = new Office() { Id = model.Id, Name = model.Name, Active = model.Active, MasterUserId = model.MasterUserId }; _cache.Remove(CacheKeys.OfficesSelectList); _cache.Remove(CacheKeys.OfficesSelectListRequireMaster); try { _context.Update(item); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!(await _dal.OfficeExists(model.Id))) { return(NotFound()); } else { throw; } } msg = string.Format("The {0} was updated.", objectDisplayName); TempData.SaveAlertForSession(msg, AlertStatus.Success, "Success"); return(RedirectToAction("Details", new { id = model.Id })); } msg = string.Format("The {0} was not updated. Please fix the errors shown below.", objectDisplayName); ViewData["AlertMessage"] = new AlertViewModel(msg, AlertStatus.Error, "Error"); model.UsersSelectList = await _dal.GetAllUsersSelectListAsync(); return(View(model)); }
// GET: Administration/Offices/Edit/5 public ActionResult Edit(int?id) { if (id == null) { return(HttpNotFound()); } Office office = this.data.Offices.Find(id); if (office == null) { return(HttpNotFound()); } EditOfficeViewModel model = new EditOfficeViewModel(); Mapper.Map(office, model); model.Managers = this.GetManagers(); return(View(model)); }
public ActionResult Edit(EditOfficeViewModel model) { if (ModelState.IsValid) { Office office = this.data.Offices.Find(model.OfficeId); if (office == null) { this.TempData["ErrorMessage"] = "Invalid office id"; } ApplicationUser manager = this.data.Users.All() .FirstOrDefault(m => m.Id == model.ManagerId); if (manager != null) { var userManager = this.HttpContext.GetOwinContext().GetUserManager <ApplicationUserManager>(); if (!userManager.IsInRole(manager.Id, "Manager")) { this.TempData["ErrorMessage"] = "Invalid manager"; } } else { this.TempData["ErrorMessage"] = "Invalid manager"; } if (this.TempData["ErrorMessage"] == null) { Mapper.Map(model, office); this.data.Offices.Update(office); this.data.SaveChanges(); return(RedirectToAction("Index")); } } model.Managers = this.GetManagers(); return(View(model)); }
public async Task <IActionResult> Edit(Guid id) { if (id == null) { return(NotFound()); } var item = await _context.LookupOffices.AsNoTracking() .Include(e => e.MasterUser) .Where(m => m.Id == id) .SingleOrDefaultAsync(); if (item == null) { return(NotFound()); } var model = new EditOfficeViewModel(item) { UsersSelectList = await _dal.GetAllUsersSelectListAsync() }; return(View(model)); }