Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }