public ActionResult Edit(WorkorderEditViewModel viewModel) { var workorder = _db.Workorders.Find(viewModel.Id); if (ModelState.IsValid) { //validate issue closed date if (viewModel.Closed.HasValue && (viewModel.Closed.Value.Date < viewModel.Reported.Date || viewModel.Closed.Value.Date > DateTime.Today.Date)) { ModelState.AddModelError("Closed", "Invalid Closed date."); } else { //update only edit only fields workorder.DepartmentId = viewModel.DepartmentId; workorder.Priority = viewModel.Priority; workorder.Details = viewModel.Details; workorder.ConsumerId = viewModel.ConsumerId; workorder.Estimate = viewModel.Estimate; workorder.PoNumber = viewModel.PoNumber; workorder.Closed = viewModel.Closed; workorder.Closer = viewModel.Closer; workorder.Resolution = viewModel.Resolution; workorder.PersonServed = viewModel.ResultOfPersonServed == true ? viewModel.PersonServed : null; _db.Entry(workorder).State = EntityState.Modified; _db.SaveChanges(); TempData["SuccessMessage"] = "Workorder has been updated successfully"; return(RedirectToAction("Index")); } } //fill dropdowns data viewModel.Departments = GetDepartmentsSelectList(viewModel.DepartmentId); viewModel.Consumers = GetConsumersSelectList(viewModel.ConsumerId); viewModel.Priorities = GetPrioritiesSelectList(viewModel.Priority); //add disabled fields to view model viewModel.Reported = workorder.Reported; viewModel.Reporter = workorder.Reporter; return(View(viewModel)); }
public ActionResult Edit(int id) { var selectedCompany = CompanyCookie.SelectedCompany; if (string.IsNullOrEmpty(selectedCompany)) { return(RedirectToAction("Index")); } var model = _db.Workorders.Find(id); if (model == null) { return(HttpNotFound()); } var viewModel = new WorkorderEditViewModel { Id = id, DepartmentId = model.DepartmentId, DepartmentAreaId = model.Department.AreaID, Priority = model.Priority, Reported = model.Reported, Details = model.Details, Reporter = model.Reporter, ConsumerId = model.ConsumerId, Estimate = model.Estimate, PoNumber = model.PoNumber, Closed = model.Closed, Closer = model.Closer, Resolution = model.Resolution, //viewModel.Approved = model.Approved ?? false; Approved = model.Approved, PersonServed = model.PersonServed }; viewModel.ResultOfPersonServed = !string.IsNullOrEmpty(viewModel.PersonServed) ? true : false; //fill dropdowns data viewModel.Departments = GetDepartmentsSelectList(viewModel.DepartmentId); viewModel.Consumers = GetConsumersSelectList(viewModel.ConsumerId); viewModel.Priorities = GetPrioritiesSelectList(viewModel.Priority); viewModel.Areas = GetAreasSelectList(viewModel.DepartmentAreaId); return(View(viewModel)); }