public ActionResult Edit(int?id) //request id
        {
            ProjectDeliveryRequests delivery = db.ProjectDeliveryRequests.Where(p => p.RequestID == (id ?? 0)).FirstOrDefault();

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

            string projectName = db.ProjectInfo.Where(p => p.ProjectID == delivery.ProjectID).Select(p => p.ProjectName).FirstOrDefault() ?? "";

            var model = new DeliveryRequestModels.EditDeliveryRequest()
            {
                RequestID     = id,
                RequestNumber = delivery.RequestNumber,
                ProjectName   = projectName,
                CreatedOn     = delivery.DateCreated,
                Delivery      = delivery.DeliveryDate,
                TypeID        = delivery.DeliveryTypeID,
                StatusID      = delivery.DeliveryStatusID,
                Note          = delivery.RequestNotes
            };

            ViewBag.CustodyLocations = new SelectList(db.GetCustodyLocationsBySiteCoID(siteusercompanyid).ToList(), nameof(GetCustodyLocationsBySiteCoID_Result.ViewID), nameof(GetCustodyLocationsBySiteCoID_Result.Name), model.TypeID);
            ViewBag.DeliveryStatus   = new SelectList(db.GetDeliveryStatusBySiteCoID(siteusercompanyid).ToList(), nameof(GetDeliveryStatusBySiteCoID_Result.ViewID), nameof(GetDeliveryStatusBySiteCoID_Result.Name), model.StatusID);

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

            if (ModelState.IsValid)
            {
                bool status = repo.UpdateDeliveryRequest(Model.RequestID, Model.Delivery, Model.TypeID, Model.StatusID, Model.Note);
                if (status)
                {
                    return(Json(new { status = "success" }));
                }
                else
                {
                    errorList.Add("Delivery Request 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 }));
        }