public ActionResult ProcessPurchaseorderDelivery(POrderInfo delivery)
        {
            var gVal = new GenericValidator();

            try
            {
                var retStatus = ValidatePurchaseOrderItemDelivery(delivery.DeliveredItems);
                if (retStatus.Code < 1)
                {
                    return(Json(retStatus, JsonRequestBehavior.AllowGet));
                }

                var userInfo = GetSignedOnUser();
                if (userInfo == null || userInfo.UserProfile.Id < 1)
                {
                    gVal.Code  = -1;
                    gVal.Error = "Your session has timed out.";
                    return(Json(gVal, JsonRequestBehavior.AllowGet));
                }

                delivery.DeliveredItems.ForEach(d =>
                {
                    d.ReceivedById = userInfo.UserProfile.EmployeeId;
                });

                var status = new PurchaseOrderServices().ProcessPurchaseOrderDeliveries(delivery);
                if (status < 1)
                {
                    gVal.Code  = -1;
                    gVal.Error = "Process failed. Please try again later.";
                    return(Json(gVal, JsonRequestBehavior.AllowGet));
                }
                gVal.Code  = status;
                gVal.Error = "Process was successfully completed.";
                return(Json(gVal, JsonRequestBehavior.AllowGet));
            }
            catch (Exception)
            {
                gVal.Code  = -1;
                gVal.Error = "An unknown error was encountered. Please try again later.";
                return(Json(gVal, JsonRequestBehavior.AllowGet));
            }
        }
 public long ProcessPurchaseOrderDeliveries(POrderInfo delivery)
 {
     return(_purchaseOrderRepository.ProcessPurchaseOrderDeliveries(delivery));
 }