예제 #1
0
 public static void CompleteOrder(PurchaseOrder PO)
 {
     PO = PurchaseDataManager.CalculatePO(PO);
     if (PO.isValid)
     {
         PO.Status = POStatus.Completed;
         SavePO(PO);
     }
     else
     {
         ExceptionHandler.Error("PO not valid");
     }
 }
예제 #2
0
        public static List <PurchaseOrder> ReadAllPO()
        {
            DataTable            DTpo          = PurchaseDataManager.GetAllPOs();
            DataTable            DTpod         = PurchaseDataManager.GetAllPODs();
            DataTable            DTgrn         = PurchaseDataManager.GetAllGRNs();
            DataTable            DTdcl         = PurchaseDataManager.GetAllDCLs();
            List <PurchaseOrder> allPOs        = POMap.MapPOData(DTpo, DTpod, DTgrn, DTdcl);
            List <PurchaseOrder> calculatedPOs = new List <PurchaseOrder>();

            foreach (PurchaseOrder PO in allPOs)
            {
                PurchaseOrder po = PurchaseDataManager.CalculatePO(PO);
                calculatedPOs.Add(po);
            }
            HttpContext.Current.Session.Add(SessionManager.POSession, calculatedPOs);
            _AllPOs = calculatedPOs;
            return(calculatedPOs);
        }
예제 #3
0
 public static PurchaseOrder ValidatePOForm(Dictionary <string, string> values)
 {
     try
     {
         string ErrorMessage = string.Empty;
         if (values["Origin"] == "0")
         {
             ErrorMessage += "Origin, ";
         }
         if (values["Size"] == "0")
         {
             ErrorMessage += "Size, ";
         }
         if (values["Vessel"] == "0")
         {
             ErrorMessage += "Vessel, ";
         }
         if (string.IsNullOrEmpty(values["PODate"]))
         {
             ErrorMessage += "PO Date, ";
         }
         if (string.IsNullOrEmpty(values["TargetDays"]))
         {
             ErrorMessage += "Target Days, ";
         }
         if (string.IsNullOrEmpty(values["Supplier"]))
         {
             ErrorMessage += "Supplier, ";
         }
         if (string.IsNullOrEmpty(values["Lead"]))
         {
             ErrorMessage += "Lead, ";
         }
         // if (key == "PaymentTerms" && string.IsNullOrEmpty(value)) throw new Exception("PaymentTerms is required");
         if (string.IsNullOrEmpty(values["BufferMin"]))
         {
             ErrorMessage += "Buffer Min %, ";
         }
         if (string.IsNullOrEmpty(values["BufferMax"]))
         {
             ErrorMessage += "Buffer Max %, ";
         }
         if (values["Customer_1"] == "0")
         {
             ErrorMessage += "Customer, ";
         }
         if (string.IsNullOrEmpty(ErrorMessage))
         {
             bool error = false;
             for (int i = 1; i <= 10; i++)
             {
                 if (values["Customer_" + i] == "0")
                 {
                     continue;
                 }
                 if (string.IsNullOrEmpty(values["Quantity_" + i]))
                 {
                     error = true;
                 }
                 if (string.IsNullOrEmpty(values["Rate_" + i]))
                 {
                     error = true;
                 }
                 if (string.IsNullOrEmpty(values["AllowedWastage_" + i]))
                 {
                     error = true;
                 }
                 if (string.IsNullOrEmpty(values["CostPerTon_" + i]))
                 {
                     error = true;
                 }
                 DateTime tdate = new DateTime();
                 if (!DateTime.TryParse(values["TargetDate_" + i], out tdate))
                 {
                     error = true;
                 }
                 if (error)
                 {
                     ErrorMessage += "PO Detail";
                     break;
                 }
             }
         }
         if (string.IsNullOrEmpty(ErrorMessage))
         {
             PurchaseOrder PO = NewPO();
             PO.Lead              = UserManager.GetUserRef(values["Lead"]);
             PO.PODate            = values.ContainsKey("PODate") ? DateTime.Parse(values["PODate"]) : DateTime.Now;
             PO.Origin            = Common.GetOrigin(values["Origin"]);
             PO.Size              = Common.GetSize(values["Size"]);
             PO.Vessel            = Common.GetVessel(values["Vessel"]);
             PO.TargetDays        = values.ContainsKey("TargetDays") ? int.Parse(values["TargetDays"]) : 0;
             PO.Supplier          = Common.GetSupplier(values["Supplier"]);
             PO.TermsOfPayment    = values["PaymentTerms"];
             PO.BufferQuantityMin = values.ContainsKey("BufferMin") ? decimal.Parse(values["BufferMin"]) : 10;
             PO.BufferQuantityMax = values.ContainsKey("BufferMax") ? decimal.Parse(values["BufferMax"]) : 10;
             for (int i = 1; i <= 10; i++)
             {
                 if (values.ContainsKey("Customer_" + i.ToString()))
                 {
                     if (values["Customer_" + i.ToString()] != "0")
                     {
                         PODetail pod = NewPODetail(PO);
                         pod.Customer        = CustomerManager.GetCustomerRef(values["Customer_" + i.ToString()]);
                         pod.Quantity        = values.ContainsKey("Quantity_" + i.ToString()) ? decimal.Parse(values["Quantity_" + i.ToString()]) : 0;
                         pod.Rate            = values.ContainsKey("Rate_" + i.ToString()) ? decimal.Parse(values["Rate_" + i.ToString()]) : 0;
                         pod.AllowedWaistage = values.ContainsKey("AllowedWastage_" + i.ToString()) ? decimal.Parse(values["AllowedWastage_" + i.ToString()]) : 0;
                         pod.CostPerTon      = values.ContainsKey("CostPerTon_" + i.ToString()) ? decimal.Parse(values["CostPerTon_" + i.ToString()]) : 0;
                         pod.TargetDate      = values.ContainsKey("TargetDate_" + i.ToString()) ? DateTime.Parse(values["TargetDate_" + i.ToString()]) : DateTime.MaxValue;
                         PO.PODetailsList.Add(pod);
                     }
                 }
             }
             PO = PurchaseDataManager.CalculatePO(PO);
             if (PO.isValid)
             {
                 return(PO);
             }
         }
         throw new Exception("Enter required fields: " + ErrorMessage);
     }
     catch (Exception ex)
     {
         ExceptionHandler.Error(ex.Message);
     }
     return(null);
 }