public ActionResult Edit(int?id) //WoID
        {
            ProjectWorkOrders wo = db.ProjectWorkOrders.Where(p => p.WoID == id).FirstOrDefault();

            if (wo == null)
            {
                return(HttpNotFound());
            }

            var projectInfo = db.ProjectInfo.Where(p => p.ProjectID == wo.ProjectID).FirstOrDefault();

            if (projectInfo == null)
            {
                return(HttpNotFound());
            }

            var model = new WorkOrderModels.EditWorkOrder()
            {
                WoID            = wo.WoID,
                WorkOrderNumber = wo.WoNumber,
                ResourceID      = wo.SiteUserID,
                JobName         = projectInfo.ProjectName,
                Phone           = projectInfo.ProjectPhone,
                Address1        = projectInfo.ProjectAddress1,
                Address2        = projectInfo.ProjectAddress2,
                City            = projectInfo.ProjectCity,
                State           = projectInfo.ProjectState,
                Zip             = projectInfo.ProjectZip,
                Country         = projectInfo.ProjectCountry,
                StatusID        = wo.WoStatusID,
                Assigned        = wo.WoDate != null && wo.WoTime != null ? (DateTime?)(wo.WoDate.Value.Date.Add(wo.WoTime.Value)) : null,
                EstimatedHours  = wo.AllottedTime,
                StartTime       = wo.WoTime,
            };

            ProjectAssignments ProjectAssignMent = db.ProjectAssignments.Where(s => s.WoID == wo.WoID).FirstOrDefault();

            ViewBag.ProjectID = wo.ProjectID;
            ViewBag.Items     = ProjectAssignMent.ItemID;

            ViewBag.Resources = new SelectList(db.GetSiteUsersBySiteCoID(siteusercompanyid).ToList(), nameof(GetSiteUsersBySiteCoID_Result.ViewID), nameof(GetSiteUsersBySiteCoID_Result.User), model.ResourceID);
            ViewBag.Status    = new SelectList(repo.GetWorkOrderStatus(siteusercompanyid), nameof(GetCoWoStatusBySiteCoID_Result.ViewID), nameof(GetCoWoStatusBySiteCoID_Result.Status), model.StatusID);

            return(View("_Edit", model));
        }
        public ActionResult Edit(WorkOrderModels.EditWorkOrder Model)
        {
            var errorList = new List <string>();

            if (ModelState.IsValid)
            {
                bool status = repo.UpdateWorkOrder(Model.WoID, Model.ResourceID, Model.StatusID, Model.Assigned, Model.EstimatedHours);
                if (status)
                {
                    return(Json(new { status = "success" }));
                }
                else
                {
                    errorList.Add("Work Order couldn't be updated. Please retry.");
                }
            }

            errorList.AddRange((from item in ModelState.Values
                                from error in item.Errors
                                select error.ErrorMessage).ToList()
                               );

            return(Json(new { status = "error", errors = errorList }));
        }