Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- public PXAction<ArcContract> generate1;
- [PXUIField(DisplayName = "Generate", MapEnableRights = PXCacheRights.Select, MapViewRights = PXCacheRights.Select)]
- [PXButton]
- public virtual IEnumerable Generate1(PXAdapter adapter)
- {
- bool oldLogic = false;
- foreach (PXDataRecord record in PXDatabase.SelectMulti<CTRMSetup>
- (
- new PXDataField("OldLogicForDifRatio"),
- new PXDataFieldValue("BranchID", PXAccess.GetBranchID())))
- {
- oldLogic = record.GetBoolean(0).GetValueOrDefault(false);
- }
- oldLogic = false;
- if (oldLogic)
- {
- #region Old Logic
- if (generateWizardFilter.AskExt() == WebDialogResult.OK)
- {
- string MonthStart = Document.Current.PeriodStartDateS.Substring(0, 2);
- if (MonthStart.Substring(0, 1) == "0")
- {
- MonthStart = MonthStart.Substring(1, 1);
- }
- string YearStart = Document.Current.PeriodStartDateS.Substring(3, 4);
- string MonthEnd = Document.Current.PeriodEndDateS.Substring(0, 2);
- if (MonthEnd.Substring(0, 1) == "0")
- {
- MonthEnd = MonthEnd.Substring(1, 1);
- }
- string YearEnd = Document.Current.PeriodEndDateS.Substring(3, 4);
- if (Int32.Parse(YearEnd) >= Int32.Parse(YearStart) || (Int32.Parse(YearEnd) >= Int32.Parse(YearStart) && Int32.Parse(MonthEnd) >= Int32.Parse(MonthStart)))
- {
- bool flp = false;
- decimal qty = Document.Current.Quantity.GetValueOrDefault(0);
- decimal splits = generateWizardFilter.Current.NumOfSubContr.GetValueOrDefault(0);
- string ContractType = "";
- PXResultset<ArcContractLine> contrline = PXSelect<ArcContractLine, Where<ArcContractLine.contractNbr, Equal<Current<ArcContract.contractNbr>>>>.Select(this);
- int linectrm = 0;
- if (contrline.Count > 0)
- {
- foreach (ArcContractLine contractline in contrline)
- {
- if (contractline.SplitNbr.GetValueOrDefault(0) > linectrm && contractline.SplitNbr.GetValueOrDefault(0) != 0)
- {
- linectrm = contractline.SplitNbr.GetValueOrDefault(0);
- }
- }
- }
- if (contrline.Count == 0)
- {
- linectrm = 0;
- }
- int numbersofgeneratedsubcontracts = 0;
- foreach (DateTimePair dp in GetDateTimePairs())
- {
- ArcContractLine contrLine = generateLine();
- contrLine.SplitNbr = linectrm + 1;
- linectrm = linectrm + 1;
- contrLine.ShipFrom = dp.FromDateTime;
- contrLine.ShipTo = dp.ToDateTime;
- contrLine.SplitQty = Convert.ToInt32(dp.QtyLeft) / Convert.ToInt32(splits);
- contrLine.MarketID = Document.Current.MarketID;
- if (Document.Current.LocationID.GetValueOrDefault(0) != 0)
- {
- contrLine.DestinationID = Document.Current.LocationID.GetValueOrDefault(0);
- }
- if (!flp)
- {
- flp = true;
- decimal qtydouble = dp.QtyLeft;
- decimal SplitQtyDifference = qtydouble % splits;
- decimal decimalpart = SplitQtyDifference;
- contrLine.SplitQty += decimalpart;
- }
- contrLine.PackagingBrandID = Document.Current.PackagingBrandID;
- string ContractType1 = Document.Current.ContractType;
- foreach (PXDataRecord record in PXDatabase.SelectMulti<InventoryItem>
- (
- new PXDataField("UsrPackagingID"),
- new PXDataField("UsrPackagingSizeID"),
- new PXDataField("UsrContractType"),
- new PXDataFieldValue("InventoryID", Document.Current.StockItemID)))
- {
- contrLine.PackagingID = record.GetInt32(0);
- contrLine.PackagingSizeID = record.GetInt32(1);
- ContractType = record.GetString(2);
- if (record.GetString(2) == "DI" || record.GetString(2) == "BA")
- {
- contrLine.UnitPrice = Document.Current.OutrightPrice +
- (Document.Current.PricingCCY.GetValueOrDefault(false) ?
- GetDifferentialCuryConv(Document.Current.DifferentialRatioValue) :
- Document.Current.DifferentialRatioValue);
- }
- else if (record.GetString(2) == "RA")
- {
- contrLine.UnitPrice = Document.Current.OutrightPrice *
- (Document.Current.PricingCCY.GetValueOrDefault(false) ?
- GetDifferentialCuryConv(Document.Current.DifferentialRatioValue) :
- Document.Current.DifferentialRatioValue);
- }
- else
- contrLine.UnitPrice = 0;
- }
- contrLine.StockItemID = Document.Current.StockItemID;
- contrLine.StockItemID123 = Document.Current.StockItemID;
- string PremiumCurrency = "";
- decimal Premium = 0.00m;
- decimal? Differencial = 0.00m;
- bool OptionalityNotPresent = true;
- foreach (PXDataRecord record in PXDatabase.SelectMulti<CTRMOptionality>
- (
- new PXDataField("PremiumCurrency"),
- new PXDataField("Premium"),
- new PXDataField("Differential"),
- new PXDataFieldValue("ContractNbr", Document.Current.ContractNbr),
- new PXDataFieldValue("StockItemID", Document.Current.StockItemID)
- )
- )
- {
- PremiumCurrency = record.GetString(0);
- Premium = record.GetDecimal(1).GetValueOrDefault(0);
- Differencial = record.GetDecimal(2).GetValueOrDefault(0);
- OptionalityNotPresent = false;
- }
- if (OptionalityNotPresent)
- throw new PXException("Please add optionality to contract!");
- if (ContractType1 == "OU" && (ContractType == "DI" || ContractType == "BA"))
- {
- contrLine.CreatingProcess = true;
- PXResultset<CTRMOther> ctrmot = PXSelect<CTRMOther, Where<CTRMOther.contractNbr, Equal<Current<ArcContract.contractNbr>>>>.Select(this);
- CTRMOther other = new CTRMOther();
- bool value = false;
- foreach (CTRMOther oth in ctrmot)
- {
- if (oth.LocationID.GetValueOrDefault(0) == (Document.Current.LocationID.GetValueOrDefault(0)) && Document.Current.LocationID.GetValueOrDefault(0) != 0 && !value)
- {
- other = oth;
- contrLine.UnitPrice = Document.Current.OutrightPrice +
- (contrLine.PricingCCY.GetValueOrDefault(false) ? GetDifferentialCuryConv(Differencial) : Differencial)
- + Premium + other.Premium.GetValueOrDefault(0);
- value = true;
- }
- }
- if (!value)
- {
- contrLine.UnitPrice = Document.Current.OutrightPrice + (contrLine.PricingCCY.GetValueOrDefault(false) ?
- GetDifferentialCuryConv(Differencial) :
- Differencial) + Premium;
- }
- }
- if (ContractType1 == "OU" && (ContractType == "RA"))
- {
- contrLine.CreatingProcess = true;
- PXResultset<CTRMOther> ctrmot = PXSelect<CTRMOther, Where<CTRMOther.contractNbr, Equal<Current<ArcContract.contractNbr>>>>.Select(this);
- CTRMOther other = new CTRMOther();
- bool value = false;
- foreach (CTRMOther oth in ctrmot)
- {
- if (oth.LocationID.GetValueOrDefault(0) == (Document.Current.LocationID.GetValueOrDefault(0)) && Document.Current.LocationID.GetValueOrDefault(0) != 0 && !value)
- {
- other = oth;
- contrLine.UnitPrice = Document.Current.OutrightPrice + (contrLine.PricingCCY.GetValueOrDefault(false) ?
- GetDifferentialCuryConv(Differencial) :
- Differencial) + Premium + other.Premium.GetValueOrDefault(0);
- value = true;
- }
- }
- if (!value)
- {
- contrLine.UnitPrice = Document.Current.OutrightPrice + (contrLine.PricingCCY.GetValueOrDefault(false) ?
- GetDifferentialCuryConv(Differencial) :
- Differencial) + Premium;
- }
- }
- contrLine.TermsID = Document.Current.TermsID;
- contrLine.ValuationMonthS = Document.Current.ValuationMonthS;
- contrLine.QtyNotFixed = contrLine.SplitQty;
- contrLine.QtyNotInvoiced = contrLine.SplitQty;
- contrLine.QtyNotShipped = contrLine.SplitQty;
- if (Document.Current.ContractType == "OU" || Document.Current.ContractType == "FO")
- {
- contrLine.Status = "FD";
- contrLine.QtyFixed = contrLine.SplitQty;
- contrLine.QtyNotFixed = 0.00m;
- }
- else if (Document.Current.ContractType == "DI" || Document.Current.ContractType == "RA" || Document.Current.ContractType == "BA")
- {
- contrLine.Status = "TF";
- }
- contrLine.ValuationMonthS = Document.Current.ValuationMonthS;
- contrLine = Transactions.Insert(contrLine);
- if (Document.Current.ContractType == "OU" || Document.Current.ContractType == "FO")
- {
- CTRMPriceFixation ctrm = generatectrm();
- ctrm.FixationDate = DateTime.Now;
- ctrm.Quantity = contrLine.SplitQty;
- ctrm.ContractNumber = contrLine.ContractNbr;
- ctrm.SubContractID = contrLine.SplitNbr;
- PriceFixes.Insert(ctrm);
- }
- numbersofgeneratedsubcontracts = numbersofgeneratedsubcontracts + 1;
- }
- PXResultset<ArcContractLine> contrline1 = PXSelect<ArcContractLine, Where<ArcContractLine.contractNbr, Equal<Current<ArcContract.contractNbr>>>>.Select(this);
- decimal SplitQty = 0.00m;
- foreach (ArcContractLine oth in contrline1)
- {
- SplitQty = oth.SplitQty.GetValueOrDefault(0);
- }
- if (numbersofgeneratedsubcontracts == contrline1.Count)
- {
- if (Document.Current.ContractType == "OU" && SplitQty == Document.Current.Quantity.GetValueOrDefault(0))
- {
- Document.Current.Status = "OH";
- }
- if (Document.Current.ContractType == "OU" && SplitQty != Document.Current.Quantity.GetValueOrDefault(0))
- {
- Document.Current.Status = "FF";
- }
- if (Document.Current.ContractType != "OU")
- {
- Document.Current.Status = "TF";
- }
- }
- else if (numbersofgeneratedsubcontracts < contrline1.Count)
- {
- bool exitendif = false;
- int countlines = 0;
- if (Document.Current.ContractType == "OU")
- {
- if (Document.Current.PurchaseSale == "P")
- {
- foreach (ArcContractLine oth in contrline1)
- {
- countlines = countlines + 1;
- if (!string.IsNullOrEmpty(oth.POOrderNbr) || !string.IsNullOrEmpty(oth.ReceiptNbr))
- {
- Document.Current.Status = "CD";
- exitendif = true;
- if (countlines == contrline1.Count && exitendif)
- {
- Document.Current.Status = "DL";
- break;
- }
- if (countlines == contrline1.Count && !exitendif)
- {
- break;
- }
- }
- }
- }
- if (Document.Current.PurchaseSale == "S")
- {
- foreach (ArcContractLine oth in contrline1)
- {
- countlines = countlines + 1;
- if (!string.IsNullOrEmpty(oth.POOrderNbr) || !string.IsNullOrEmpty(oth.ReceiptNbr))
- {
- Document.Current.Status = "CD";
- exitendif = true;
- if (countlines == contrline1.Count && exitendif)
- {
- Document.Current.Status = "SH";
- break;
- }
- if (countlines == contrline1.Count && !exitendif)
- {
- break;
- }
- }
- }
- }
- }
- if (Document.Current.ContractType != "OU")
- {
- if (Document.Current.PurchaseSale == "P")
- {
- foreach (ArcContractLine oth in contrline1)
- {
- countlines = countlines + 1;
- if (!string.IsNullOrEmpty(oth.POOrderNbr) || !string.IsNullOrEmpty(oth.ReceiptNbr))
- {
- Document.Current.Status = "CD";
- exitendif = true;
- if (countlines == contrline1.Count && exitendif)
- {
- Document.Current.Status = "DL";
- break;
- }
- if (countlines == contrline1.Count && !exitendif)
- {
- break;
- }
- }
- }
- }
- if (Document.Current.PurchaseSale == "S")
- {
- foreach (ArcContractLine oth in contrline1)
- {
- countlines = countlines + 1;
- if (!string.IsNullOrEmpty(oth.POOrderNbr) || !string.IsNullOrEmpty(oth.ReceiptNbr))
- {
- Document.Current.Status = "CD";
- exitendif = true;
- if (countlines == contrline1.Count && exitendif)
- {
- Document.Current.Status = "SH";
- break;
- }
- if (countlines == contrline1.Count && !exitendif)
- {
- break;
- }
- }
- }
- }
- }
- }
- else if (numbersofgeneratedsubcontracts > contrline1.Count)
- {
- }
- }
- else
- {
- throw new PXException("Shipping Period End Date Can't be less than Shipping Period Start Date");
- }
- }
- return adapter.Get();
- #endregion
- }
- else
- {
- #region New Logic
- if (generateWizardFilter.AskExt() == WebDialogResult.OK)
- {
- string MonthStart = Document.Current.PeriodStartDateS.Substring(0, 2);
- if (MonthStart.Substring(0, 1) == "0")
- {
- MonthStart = MonthStart.Substring(1, 1);
- }
- string YearStart = Document.Current.PeriodStartDateS.Substring(3, 4);
- string MonthEnd = Document.Current.PeriodEndDateS.Substring(0, 2);
- if (MonthEnd.Substring(0, 1) == "0")
- {
- MonthEnd = MonthEnd.Substring(1, 1);
- }
- string YearEnd = Document.Current.PeriodEndDateS.Substring(3, 4);
- if (Int32.Parse(YearEnd) >= Int32.Parse(YearStart) || (Int32.Parse(YearEnd) >= Int32.Parse(YearStart) && Int32.Parse(MonthEnd) >= Int32.Parse(MonthStart)))
- {
- bool flp = false;
- decimal qty = Document.Current.Quantity.GetValueOrDefault(0);
- decimal splits = generateWizardFilter.Current.NumOfSubContr.GetValueOrDefault(0);
- PXResultset<ArcContractLine> contrline = PXSelect<ArcContractLine, Where<ArcContractLine.contractNbr, Equal<Current<ArcContract.contractNbr>>>>.Select(this);
- int linectrm = 0;
- if (contrline.Count > 0)
- {
- foreach (ArcContractLine contractline in contrline)
- {
- if (contractline.SplitNbr.GetValueOrDefault(0) > linectrm && contractline.SplitNbr.GetValueOrDefault(0) != 0)
- {
- linectrm = contractline.SplitNbr.GetValueOrDefault(0);
- }
- }
- }
- if (contrline.Count == 0)
- {
- linectrm = 0;
- }
- int numbersofgeneratedsubcontracts = 0;
- foreach (DateTimePair dp in GetDateTimePairs())
- {
- ArcContractLine contrLine = generateLine();
- contrLine.SplitNbr = linectrm + 1;
- linectrm = linectrm + 1;
- contrLine.ShipFrom = dp.FromDateTime;
- contrLine.ShipTo = dp.ToDateTime;
- contrLine.SplitQty = dp.QtyLeft / splits;
- contrLine.MarketID = Document.Current.MarketID;
- contrLine.SwitchCost = Document.Current.SwitchCost;
- CTRMOptionality optSingle = GetOptionalitySingle();
- if (optSingle == null)
- throw new PXSetPropertyException("Optionality is empty", PXErrorLevel.RowError);
- contrLine.Differential = optSingle.Differential;
- contrLine.Ratio = optSingle.Ratio;
- if (Document.Current.LocationID.GetValueOrDefault(0) != 0)
- {
- contrLine.DestinationID = Document.Current.LocationID.GetValueOrDefault(0);
- }
- if (!flp)
- {
- flp = true;
- }
- contrLine.PackagingBrandID = Document.Current.PackagingBrandID;
- string ContractType1 = Document.Current.ContractType;
- foreach (PXDataRecord record in PXDatabase.SelectMulti<InventoryItem>
- (
- new PXDataField("UsrPackagingID"),
- new PXDataField("UsrPackagingSizeID"),
- new PXDataFieldValue("InventoryID", Document.Current.StockItemID)))
- {
- contrLine.PackagingID = record.GetInt32(0);
- contrLine.PackagingSizeID = record.GetInt32(1);
- }
- if (Document.Current.PricingType == "FI")
- {
- decimal CurRate = Document.Current.CuryRate.GetValueOrDefault(1.0m);
- decimal OutrightPriceCC = GetOutrightPriceCC(-1, CurRate);
- contrLine.UnitPrice =
- (OutrightPriceCC * Document.Current.Ratio) +
- (Document.Current.PricingCCY.GetValueOrDefault(false) ?
- GetDifferentialCuryConv(Document.Current.DifferentialRatioValue) :
- Document.Current.DifferentialRatioValue);
- }
- else
- {
- contrLine.UnitPrice = 0;
- }
- contrLine.StockItemID = Document.Current.StockItemID;
- contrLine.StockItemID123 = Document.Current.StockItemID;
- string PremiumCurrency = "";
- decimal Premium = 0.00m;
- decimal? Differencial = 0.00m;
- bool OptionalityNotPresent = true;
- foreach (PXDataRecord record in PXDatabase.SelectMulti<CTRMOptionality>
- (
- new PXDataField("PremiumCurrency"),
- new PXDataField("Premium"),
- new PXDataField("Differential"),
- new PXDataFieldValue("ContractNbr", Document.Current.ContractNbr),
- new PXDataFieldValue("StockItemID", Document.Current.StockItemID)))
- {
- PremiumCurrency = record.GetString(0);
- Premium = record.GetDecimal(1).GetValueOrDefault(0);
- Differencial = record.GetDecimal(2).GetValueOrDefault(0);
- OptionalityNotPresent = false;
- }
- if (OptionalityNotPresent)
- throw new PXException("Please add optionality to contract!");
- if (Document.Current.PricingType == "FI")
- {
- contrLine.CreatingProcess = true;
- PXResultset<CTRMOther> ctrmot = PXSelect<CTRMOther, Where<CTRMOther.contractNbr, Equal<Current<ArcContract.contractNbr>>>>.Select(this);
- CTRMOther other = new CTRMOther();
- bool value = false;
- foreach (CTRMOther oth in ctrmot)
- {
- if (oth.LocationID.GetValueOrDefault(0) == (Document.Current.LocationID.GetValueOrDefault(0)) &&
- Document.Current.LocationID.GetValueOrDefault(0) != 0 && !value)
- {
- other = oth;
- decimal CurRate = Document.Current.CuryRate.GetValueOrDefault(1.0m);
- decimal OutrightPriceCC = GetOutrightPriceCC(-1, CurRate);
- contrLine.UnitPrice = (OutrightPriceCC + Document.Current.Ratio) + (contrLine.PricingCCY.GetValueOrDefault(false) ?
- GetDifferentialCuryConv(Differencial) :
- Differencial) + Premium + other.Premium.GetValueOrDefault(0);
- value = true;
- }
- }
- if (!value)
- {
- decimal CurRate = Document.Current.CuryRate.GetValueOrDefault(1.0m);
- decimal OutrightPriceCC = GetOutrightPriceCC(-1, CurRate);
- contrLine.UnitPrice = (OutrightPriceCC * Document.Current.Ratio) + (contrLine.PricingCCY.GetValueOrDefault(false) ?
- GetDifferentialCuryConv(Differencial) :
- Differencial) + Premium;
- }
- }
- contrLine.TermsID = Document.Current.TermsID;
- contrLine.ValuationMonthS = Document.Current.ValuationMonthS;
- contrLine.FixByDate = Document.Current.FixByDate;
- contrLine.QtyNotFixed = contrLine.SplitQty;
- contrLine.QtyNotInvoiced = contrLine.SplitQty;
- contrLine.QtyNotShipped = contrLine.SplitQty;
- if (Document.Current.PricingType == "FI")
- {
- contrLine.Status = "FD";
- contrLine.QtyFixed = contrLine.SplitQty;
- contrLine.QtyNotFixed = 0.00m;
- }
- else
- {
- contrLine.Status = "TF";
- }
- contrLine.ValuationMonthS = Document.Current.ValuationMonthS;
- contrLine.PricingCCY = Document.Current.PricingCCY.GetValueOrDefault();
- if (Document.Current.Crop.GetValueOrDefault(0) > 2000)
- {
- contrLine.Crop = Convert.ToString(Document.Current.Crop.GetValueOrDefault(0));
- }
- if (Document.Current.Crop.GetValueOrDefault(0) < 2000)
- {
- contrLine.Crop = "";
- }
- contrLine = Transactions.Insert(contrLine);
- if (Document.Current.PricingType == "FI")
- {
- CTRMPriceFixation ctrm = generatectrm();
- ctrm.FixationDate = DateTime.Now;
- ctrm.Quantity = contrLine.SplitQty;
- ctrm.ContractNumber = contrLine.ContractNbr;
- ctrm.SubContractID = contrLine.SplitNbr;
- PriceFixes.Insert(ctrm);
- }
- numbersofgeneratedsubcontracts = numbersofgeneratedsubcontracts + 1;
- }
- PXResultset<ArcContractLine> contrline1 = PXSelect<ArcContractLine, Where<ArcContractLine.contractNbr, Equal<Current<ArcContract.contractNbr>>>>.Select(this);
- decimal SplitQty = 0.00m;
- foreach (ArcContractLine oth in contrline1)
- {
- SplitQty = oth.SplitQty.GetValueOrDefault(0);
- }
- if (numbersofgeneratedsubcontracts == contrline1.Count)
- {
- if (Document.Current.PricingType == "FI" && SplitQty == Document.Current.Quantity.GetValueOrDefault(0))
- {
- Document.Current.Status = "OH";
- }
- if (Document.Current.PricingType == "FI" && SplitQty == Document.Current.Quantity.GetValueOrDefault(0))
- {
- Document.Current.Status = "FF";
- }
- if (Document.Current.PricingType == "UN")
- {
- Document.Current.Status = "TF";
- }
- }
- else if (numbersofgeneratedsubcontracts < contrline1.Count)
- {
- bool exitendif = false;
- int countlines = 0;
- if (Document.Current.PricingType == "FI")
- {
- if (Document.Current.PurchaseSale == "P")
- {
- #region Extra Generate
- if (Transactions.Select().Count > 0)
- {
- decimal sunmSplits = Transactions.Select().Sum(x => x.GetItem<ArcContractLine>().SplitQty.GetValueOrDefault());
- decimal qtySplit = (Document.Current.Quantity.GetValueOrDefault() - sunmSplits) / generateWizardFilter.Current.NumOfSubContr.GetValueOrDefault();
- for (int i = 0; i < generateWizardFilter.Current.NumOfSubContr.GetValueOrDefault(); i++)
- {
- ArcContractLine prevline = Transactions.Select().LastOrDefault();
- ArcContractLine contrLine = generateLine();
- contrLine.SplitNbr = linectrm + 1;
- linectrm = linectrm + 1;
- contrLine.ShipFrom = prevline.ShipFrom;
- contrLine.ShipTo = prevline.ShipTo;
- contrLine.SplitQty = qtySplit;
- contrLine.MarketID = Document.Current.MarketID;
- contrLine.SwitchCost = Document.Current.SwitchCost;
- CTRMOptionality optSingle = GetOptionalitySingle();
- if (optSingle == null)
- throw new PXSetPropertyException("Optionality is empty", PXErrorLevel.RowError);
- contrLine.Differential = optSingle.Differential;
- contrLine.Ratio = optSingle.Ratio;
- if (Document.Current.LocationID.GetValueOrDefault(0) != 0)
- {
- contrLine.DestinationID = Document.Current.LocationID.GetValueOrDefault(0);
- }
- if (!flp)
- {
- flp = true;
- decimal qtydouble = 0;
- decimal SplitQtyDifference = qtydouble % splits;
- decimal decimalpart = SplitQtyDifference;
- contrLine.SplitQty += decimalpart;
- }
- contrLine.PackagingBrandID = Document.Current.PackagingBrandID;
- foreach (PXDataRecord record in PXDatabase.SelectMulti<InventoryItem>
- (
- new PXDataField("UsrPackagingID"),
- new PXDataField("UsrPackagingSizeID"),
- new PXDataFieldValue("InventoryID", Document.Current.StockItemID)))
- {
- contrLine.PackagingID = record.GetInt32(0);
- contrLine.PackagingSizeID = record.GetInt32(1);
- }
- if (Document.Current.PricingType == "FI")
- {
- decimal CurRate = Document.Current.CuryRate.GetValueOrDefault(1.0m);
- decimal OutrightPriceCC = GetOutrightPriceCC(-1, CurRate);
- contrLine.UnitPrice =
- (OutrightPriceCC * Document.Current.Ratio) +
- (Document.Current.PricingCCY.GetValueOrDefault(false) ?
- GetDifferentialCuryConv(Document.Current.DifferentialRatioValue) :
- Document.Current.DifferentialRatioValue);
- }
- else
- {
- contrLine.UnitPrice = 0;
- }
- contrLine.StockItemID = Document.Current.StockItemID;
- contrLine.StockItemID123 = Document.Current.StockItemID;
- string PremiumCurrency = "";
- decimal Premium = 0.00m;
- decimal? Differencial = 0.00m;
- foreach (PXDataRecord record in PXDatabase.SelectMulti<CTRMOptionality>
- (
- new PXDataField("PremiumCurrency"),
- new PXDataField("Premium"),
- new PXDataField("Differential"),
- new PXDataFieldValue("ContractNbr", Document.Current.ContractNbr),
- new PXDataFieldValue("StockItemID", Document.Current.StockItemID)))
- {
- PremiumCurrency = record.GetString(0);
- Premium = record.GetDecimal(1).GetValueOrDefault(0);
- Differencial = record.GetDecimal(2).GetValueOrDefault(0);
- }
- if (Document.Current.PricingType == "FI")
- {
- contrLine.CreatingProcess = true;
- PXResultset<CTRMOther> ctrmot = PXSelect<CTRMOther, Where<CTRMOther.contractNbr, Equal<Current<ArcContract.contractNbr>>>>.Select(this);
- CTRMOther other = new CTRMOther();
- bool value = false;
- foreach (CTRMOther oth in ctrmot)
- {
- if (oth.LocationID.GetValueOrDefault(0) == (Document.Current.LocationID.GetValueOrDefault(0)) &&
- Document.Current.LocationID.GetValueOrDefault(0) != 0 && !value)
- {
- other = oth;
- decimal CurRate = Document.Current.CuryRate.GetValueOrDefault(1.0m);
- decimal OutrightPriceCC = GetOutrightPriceCC(-1, CurRate);
- contrLine.UnitPrice = (OutrightPriceCC + Document.Current.Ratio) + (contrLine.PricingCCY.GetValueOrDefault(false) ?
- GetDifferentialCuryConv(Differencial) :
- Differencial) + Premium + other.Premium.GetValueOrDefault(0);
- value = true;
- }
- }
- if (!value)
- {
- decimal CurRate = Document.Current.CuryRate.GetValueOrDefault(1.0m);
- decimal OutrightPriceCC = GetOutrightPriceCC(-1, CurRate);
- contrLine.UnitPrice = (OutrightPriceCC * Document.Current.Ratio) + (contrLine.PricingCCY.GetValueOrDefault(false) ?
- GetDifferentialCuryConv(Differencial) :
- Differencial) + Premium;
- }
- }
- contrLine.TermsID = Document.Current.TermsID;
- contrLine.ValuationMonthS = Document.Current.ValuationMonthS;
- contrLine.FixByDate = Document.Current.FixByDate;
- contrLine.QtyNotFixed = contrLine.SplitQty;
- contrLine.QtyNotInvoiced = contrLine.SplitQty;
- contrLine.QtyNotShipped = contrLine.SplitQty;
- if (Document.Current.PricingType == "FI")
- {
- contrLine.Status = "FD";
- contrLine.QtyFixed = contrLine.SplitQty;
- contrLine.QtyNotFixed = 0.00m;
- }
- else
- {
- contrLine.Status = "TF";
- }
- contrLine.ValuationMonthS = Document.Current.ValuationMonthS;
- contrLine.PricingCCY = Document.Current.PricingCCY.GetValueOrDefault();
- if (Document.Current.Crop.GetValueOrDefault(0) > 2000)
- {
- contrLine.Crop = Convert.ToString(Document.Current.Crop.GetValueOrDefault(0));
- }
- if (Document.Current.Crop.GetValueOrDefault(0) < 2000)
- {
- contrLine.Crop = "";
- }
- contrLine = Transactions.Insert(contrLine);
- }
- }
- #endregion
- else
- {
- foreach (ArcContractLine oth in contrline1)
- {
- countlines = countlines + 1;
- if (!string.IsNullOrEmpty(oth.POOrderNbr) || !string.IsNullOrEmpty(oth.ReceiptNbr))
- {
- Document.Current.Status = "CD";
- exitendif = true;
- if (countlines == contrline1.Count && exitendif)
- {
- Document.Current.Status = "DL";
- break;
- }
- if (countlines == contrline1.Count && !exitendif)
- {
- break;
- }
- }
- }
- }
- }
- if (Document.Current.PurchaseSale == "S")
- {
- #region Extra Generate
- if (Transactions.Select().Count > 0)
- {
- decimal sunmSplits = Transactions.Select().Sum(x => x.GetItem<ArcContractLine>().SplitQty.GetValueOrDefault());
- decimal qtySplit = (Document.Current.Quantity.GetValueOrDefault() - sunmSplits) / generateWizardFilter.Current.NumOfSubContr.GetValueOrDefault();
- for (int i = 0; i < generateWizardFilter.Current.NumOfSubContr.GetValueOrDefault(); i++)
- {
- ArcContractLine prevline = Transactions.Select().LastOrDefault();
- ArcContractLine contrLine = generateLine();
- contrLine.SplitNbr = linectrm + 1;
- linectrm = linectrm + 1;
- contrLine.ShipFrom = prevline.ShipFrom;
- contrLine.ShipTo = prevline.ShipTo;
- contrLine.SplitQty = qtySplit;
- contrLine.MarketID = Document.Current.MarketID;
- contrLine.SwitchCost = Document.Current.SwitchCost;
- CTRMOptionality optSingle = GetOptionalitySingle();
- if (optSingle == null)
- throw new PXSetPropertyException("Optionality is empty", PXErrorLevel.RowError);
- contrLine.Differential = optSingle.Differential;
- contrLine.Ratio = optSingle.Ratio;
- if (Document.Current.LocationID.GetValueOrDefault(0) != 0)
- {
- contrLine.DestinationID = Document.Current.LocationID.GetValueOrDefault(0);
- }
- if (!flp)
- {
- flp = true;
- decimal qtydouble = 0;
- decimal SplitQtyDifference = qtydouble % splits;
- decimal decimalpart = SplitQtyDifference;
- contrLine.SplitQty += decimalpart;
- }
- contrLine.PackagingBrandID = Document.Current.PackagingBrandID;
- foreach (PXDataRecord record in PXDatabase.SelectMulti<InventoryItem>
- (
- new PXDataField("UsrPackagingID"),
- new PXDataField("UsrPackagingSizeID"),
- new PXDataFieldValue("InventoryID", Document.Current.StockItemID)))
- {
- contrLine.PackagingID = record.GetInt32(0);
- contrLine.PackagingSizeID = record.GetInt32(1);
- }
- if (Document.Current.PricingType == "FI")
- {
- decimal CurRate = Document.Current.CuryRate.GetValueOrDefault(1.0m);
- decimal OutrightPriceCC = GetOutrightPriceCC(-1, CurRate);
- contrLine.UnitPrice =
- (OutrightPriceCC * Document.Current.Ratio) +
- (Document.Current.PricingCCY.GetValueOrDefault(false) ?
- GetDifferentialCuryConv(Document.Current.DifferentialRatioValue) :
- Document.Current.DifferentialRatioValue);
- }
- else
- {
- contrLine.UnitPrice = 0;
- }
- contrLine.StockItemID = Document.Current.StockItemID;
- contrLine.StockItemID123 = Document.Current.StockItemID;
- string PremiumCurrency = "";
- decimal Premium = 0.00m;
- decimal? Differencial = 0.00m;
- foreach (PXDataRecord record in PXDatabase.SelectMulti<CTRMOptionality>
- (
- new PXDataField("PremiumCurrency"),
- new PXDataField("Premium"),
- new PXDataField("Differential"),
- new PXDataFieldValue("ContractNbr", Document.Current.ContractNbr),
- new PXDataFieldValue("StockItemID", Document.Current.StockItemID)))
- {
- PremiumCurrency = record.GetString(0);
- Premium = record.GetDecimal(1).GetValueOrDefault(0);
- Differencial = record.GetDecimal(2).GetValueOrDefault(0);
- }
- if (Document.Current.PricingType == "FI")
- {
- contrLine.CreatingProcess = true;
- PXResultset<CTRMOther> ctrmot = PXSelect<CTRMOther, Where<CTRMOther.contractNbr, Equal<Current<ArcContract.contractNbr>>>>.Select(this);
- CTRMOther other = new CTRMOther();
- bool value = false;
- foreach (CTRMOther oth in ctrmot)
- {
- if (oth.LocationID.GetValueOrDefault(0) == (Document.Current.LocationID.GetValueOrDefault(0)) &&
- Document.Current.LocationID.GetValueOrDefault(0) != 0 && !value)
- {
- other = oth;
- decimal CurRate = Document.Current.CuryRate.GetValueOrDefault(1.0m);
- decimal OutrightPriceCC = GetOutrightPriceCC(-1, CurRate);
- contrLine.UnitPrice = (OutrightPriceCC + Document.Current.Ratio) + (contrLine.PricingCCY.GetValueOrDefault(false) ?
- GetDifferentialCuryConv(Differencial) :
- Differencial) + Premium + other.Premium.GetValueOrDefault(0);
- value = true;
- }
- }
- if (!value)
- {
- decimal CurRate = Document.Current.CuryRate.GetValueOrDefault(1.0m);
- decimal OutrightPriceCC = GetOutrightPriceCC(-1, CurRate);
- contrLine.UnitPrice = (OutrightPriceCC * Document.Current.Ratio) + (contrLine.PricingCCY.GetValueOrDefault(false) ?
- GetDifferentialCuryConv(Differencial) :
- Differencial) + Premium;
- }
- }
- contrLine.TermsID = Document.Current.TermsID;
- contrLine.ValuationMonthS = Document.Current.ValuationMonthS;
- contrLine.FixByDate = Document.Current.FixByDate;
- contrLine.QtyNotFixed = contrLine.SplitQty;
- contrLine.QtyNotInvoiced = contrLine.SplitQty;
- contrLine.QtyNotShipped = contrLine.SplitQty;
- if (Document.Current.PricingType == "FI")
- {
- contrLine.Status = "FD";
- contrLine.QtyFixed = contrLine.SplitQty;
- contrLine.QtyNotFixed = 0.00m;
- }
- else
- {
- contrLine.Status = "TF";
- }
- contrLine.ValuationMonthS = Document.Current.ValuationMonthS;
- contrLine.PricingCCY = Document.Current.PricingCCY.GetValueOrDefault();
- if (Document.Current.Crop.GetValueOrDefault(0) > 2000)
- {
- contrLine.Crop = Convert.ToString(Document.Current.Crop.GetValueOrDefault(0));
- }
- if (Document.Current.Crop.GetValueOrDefault(0) < 2000)
- {
- contrLine.Crop = "";
- }
- contrLine = Transactions.Insert(contrLine);
- }
- }
- #endregion
- else
- {
- foreach (ArcContractLine oth in contrline1)
- {
- countlines = countlines + 1;
- if (!string.IsNullOrEmpty(oth.POOrderNbr) || !string.IsNullOrEmpty(oth.ReceiptNbr))
- {
- Document.Current.Status = "CD";
- exitendif = true;
- if (countlines == contrline1.Count && exitendif)
- {
- Document.Current.Status = "SH";
- break;
- }
- if (countlines == contrline1.Count && !exitendif)
- {
- break;
- }
- }
- }
- }
- }
- }
- if (Document.Current.PricingType == "UN")
- {
- if (Document.Current.PurchaseSale == "P")
- {
- #region Extra Generate
- if (Transactions.Select().Count > 0)
- {
- decimal sunmSplits = Transactions.Select().Sum(x => x.GetItem<ArcContractLine>().SplitQty.GetValueOrDefault());
- decimal qtySplit = (Document.Current.Quantity.GetValueOrDefault() - sunmSplits) / generateWizardFilter.Current.NumOfSubContr.GetValueOrDefault();
- for (int i = 0; i < generateWizardFilter.Current.NumOfSubContr.GetValueOrDefault(); i++)
- {
- ArcContractLine prevline = Transactions.Select().LastOrDefault();
- ArcContractLine contrLine = generateLine();
- contrLine.SplitNbr = linectrm + 1;
- linectrm = linectrm + 1;
- contrLine.ShipFrom = prevline.ShipFrom;
- contrLine.ShipTo = prevline.ShipTo;
- contrLine.SplitQty = qtySplit;
- contrLine.MarketID = Document.Current.MarketID;
- contrLine.SwitchCost = Document.Current.SwitchCost;
- CTRMOptionality optSingle = GetOptionalitySingle();
- if (optSingle == null)
- throw new PXSetPropertyException("Optionality is empty", PXErrorLevel.RowError);
- contrLine.Differential = optSingle.Differential;
- contrLine.Ratio = optSingle.Ratio;
- if (Document.Current.LocationID.GetValueOrDefault(0) != 0)
- {
- contrLine.DestinationID = Document.Current.LocationID.GetValueOrDefault(0);
- }
- if (!flp)
- {
- flp = true;
- decimal qtydouble = 0;
- decimal SplitQtyDifference = qtydouble % splits;
- decimal decimalpart = SplitQtyDifference;
- contrLine.SplitQty += decimalpart;
- }
- contrLine.PackagingBrandID = Document.Current.PackagingBrandID;
- foreach (PXDataRecord record in PXDatabase.SelectMulti<InventoryItem>
- (
- new PXDataField("UsrPackagingID"),
- new PXDataField("UsrPackagingSizeID"),
- new PXDataFieldValue("InventoryID", Document.Current.StockItemID)))
- {
- contrLine.PackagingID = record.GetInt32(0);
- contrLine.PackagingSizeID = record.GetInt32(1);
- }
- if (Document.Current.PricingType == "FI")
- {
- decimal CurRate = Document.Current.CuryRate.GetValueOrDefault(1.0m);
- decimal OutrightPriceCC = GetOutrightPriceCC(-1, CurRate);
- contrLine.UnitPrice =
- (OutrightPriceCC * Document.Current.Ratio) +
- (Document.Current.PricingCCY.GetValueOrDefault(false) ?
- GetDifferentialCuryConv(Document.Current.DifferentialRatioValue) :
- Document.Current.DifferentialRatioValue);
- }
- else
- {
- contrLine.UnitPrice = 0;
- }
- contrLine.StockItemID = Document.Current.StockItemID;
- contrLine.StockItemID123 = Document.Current.StockItemID;
- string PremiumCurrency = "";
- decimal Premium = 0.00m;
- decimal? Differencial = 0.00m;
- foreach (PXDataRecord record in PXDatabase.SelectMulti<CTRMOptionality>
- (
- new PXDataField("PremiumCurrency"),
- new PXDataField("Premium"),
- new PXDataField("Differential"),
- new PXDataFieldValue("ContractNbr", Document.Current.ContractNbr),
- new PXDataFieldValue("StockItemID", Document.Current.StockItemID)))
- {
- PremiumCurrency = record.GetString(0);
- Premium = record.GetDecimal(1).GetValueOrDefault(0);
- Differencial = record.GetDecimal(2).GetValueOrDefault(0);
- }
- if (Document.Current.PricingType == "FI")
- {
- contrLine.CreatingProcess = true;
- PXResultset<CTRMOther> ctrmot = PXSelect<CTRMOther, Where<CTRMOther.contractNbr, Equal<Current<ArcContract.contractNbr>>>>.Select(this);
- CTRMOther other = new CTRMOther();
- bool value = false;
- foreach (CTRMOther oth in ctrmot)
- {
- if (oth.LocationID.GetValueOrDefault(0) == (Document.Current.LocationID.GetValueOrDefault(0)) &&
- Document.Current.LocationID.GetValueOrDefault(0) != 0 && !value)
- {
- other = oth;
- decimal CurRate = Document.Current.CuryRate.GetValueOrDefault(1.0m);
- decimal OutrightPriceCC = GetOutrightPriceCC(-1, CurRate);
- contrLine.UnitPrice = (OutrightPriceCC + Document.Current.Ratio) + (contrLine.PricingCCY.GetValueOrDefault(false) ?
- GetDifferentialCuryConv(Differencial) :
- Differencial) + Premium + other.Premium.GetValueOrDefault(0);
- value = true;
- }
- }
- if (!value)
- {
- decimal CurRate = Document.Current.CuryRate.GetValueOrDefault(1.0m);
- decimal OutrightPriceCC = GetOutrightPriceCC(-1, CurRate);
- contrLine.UnitPrice = (OutrightPriceCC * Document.Current.Ratio) + (contrLine.PricingCCY.GetValueOrDefault(false) ?
- GetDifferentialCuryConv(Differencial) :
- Differencial) + Premium;
- }
- }
- contrLine.TermsID = Document.Current.TermsID;
- contrLine.ValuationMonthS = Document.Current.ValuationMonthS;
- contrLine.FixByDate = Document.Current.FixByDate;
- contrLine.QtyNotFixed = contrLine.SplitQty;
- contrLine.QtyNotInvoiced = contrLine.SplitQty;
- contrLine.QtyNotShipped = contrLine.SplitQty;
- if (Document.Current.PricingType == "FI")
- {
- contrLine.Status = "FD";
- contrLine.QtyFixed = contrLine.SplitQty;
- contrLine.QtyNotFixed = 0.00m;
- }
- else
- {
- contrLine.Status = "TF";
- }
- contrLine.ValuationMonthS = Document.Current.ValuationMonthS;
- contrLine.PricingCCY = Document.Current.PricingCCY.GetValueOrDefault();
- if (Document.Current.Crop.GetValueOrDefault(0) > 2000)
- {
- contrLine.Crop = Convert.ToString(Document.Current.Crop.GetValueOrDefault(0));
- }
- if (Document.Current.Crop.GetValueOrDefault(0) < 2000)
- {
- contrLine.Crop = "";
- }
- contrLine = Transactions.Insert(contrLine);
- }
- }
- #endregion
- else
- {
- foreach (ArcContractLine oth in contrline1)
- {
- countlines = countlines + 1;
- if (!string.IsNullOrEmpty(oth.POOrderNbr) || !string.IsNullOrEmpty(oth.ReceiptNbr))
- {
- Document.Current.Status = "CD";
- exitendif = true;
- if (countlines == contrline1.Count && exitendif)
- {
- Document.Current.Status = "DL";
- break;
- }
- if (countlines == contrline1.Count && !exitendif)
- {
- break;
- }
- }
- }
- }
- }
- if (Document.Current.PurchaseSale == "S")
- {
- #region Extra Generate
- if (Transactions.Select().Count > 0)
- {
- decimal sunmSplits = Transactions.Select().Sum(x => x.GetItem<ArcContractLine>().SplitQty.GetValueOrDefault());
- decimal qtySplit = (Document.Current.Quantity.GetValueOrDefault() - sunmSplits) / generateWizardFilter.Current.NumOfSubContr.GetValueOrDefault();
- for (int i = 0; i < generateWizardFilter.Current.NumOfSubContr.GetValueOrDefault(); i++)
- {
- ArcContractLine prevline = Transactions.Select().LastOrDefault();
- ArcContractLine contrLine = generateLine();
- contrLine.SplitNbr = linectrm + 1;
- linectrm = linectrm + 1;
- contrLine.ShipFrom = prevline.ShipFrom;
- contrLine.ShipTo = prevline.ShipTo;
- contrLine.SplitQty = qtySplit;
- contrLine.MarketID = Document.Current.MarketID;
- contrLine.SwitchCost = Document.Current.SwitchCost;
- CTRMOptionality optSingle = GetOptionalitySingle();
- if (optSingle == null)
- throw new PXSetPropertyException("Optionality is empty", PXErrorLevel.RowError);
- contrLine.Differential = optSingle.Differential;
- contrLine.Ratio = optSingle.Ratio;
- if (Document.Current.LocationID.GetValueOrDefault(0) != 0)
- {
- contrLine.DestinationID = Document.Current.LocationID.GetValueOrDefault(0);
- }
- if (!flp)
- {
- flp = true;
- decimal qtydouble = 0;
- decimal SplitQtyDifference = qtydouble % splits;
- decimal decimalpart = SplitQtyDifference;
- contrLine.SplitQty += decimalpart;
- }
- contrLine.PackagingBrandID = Document.Current.PackagingBrandID;
- foreach (PXDataRecord record in PXDatabase.SelectMulti<InventoryItem>
- (
- new PXDataField("UsrPackagingID"),
- new PXDataField("UsrPackagingSizeID"),
- new PXDataFieldValue("InventoryID", Document.Current.StockItemID)))
- {
- contrLine.PackagingID = record.GetInt32(0);
- contrLine.PackagingSizeID = record.GetInt32(1);
- }
- if (Document.Current.PricingType == "FI")
- {
- decimal CurRate = Document.Current.CuryRate.GetValueOrDefault(1.0m);
- decimal OutrightPriceCC = GetOutrightPriceCC(-1, CurRate);
- contrLine.UnitPrice =
- (OutrightPriceCC * Document.Current.Ratio) +
- (Document.Current.PricingCCY.GetValueOrDefault(false) ?
- GetDifferentialCuryConv(Document.Current.DifferentialRatioValue) :
- Document.Current.DifferentialRatioValue);
- }
- else
- {
- contrLine.UnitPrice = 0;
- }
- contrLine.StockItemID = Document.Current.StockItemID;
- contrLine.StockItemID123 = Document.Current.StockItemID;
- string PremiumCurrency = "";
- decimal Premium = 0.00m;
- decimal? Differencial = 0.00m;
- foreach (PXDataRecord record in PXDatabase.SelectMulti<CTRMOptionality>
- (
- new PXDataField("PremiumCurrency"),
- new PXDataField("Premium"),
- new PXDataField("Differential"),
- new PXDataFieldValue("ContractNbr", Document.Current.ContractNbr),
- new PXDataFieldValue("StockItemID", Document.Current.StockItemID)))
- {
- PremiumCurrency = record.GetString(0);
- Premium = record.GetDecimal(1).GetValueOrDefault(0);
- Differencial = record.GetDecimal(2).GetValueOrDefault(0);
- }
- if (Document.Current.PricingType == "FI")
- {
- contrLine.CreatingProcess = true;
- PXResultset<CTRMOther> ctrmot = PXSelect<CTRMOther, Where<CTRMOther.contractNbr, Equal<Current<ArcContract.contractNbr>>>>.Select(this);
- CTRMOther other = new CTRMOther();
- bool value = false;
- foreach (CTRMOther oth in ctrmot)
- {
- if (oth.LocationID.GetValueOrDefault(0) == (Document.Current.LocationID.GetValueOrDefault(0)) &&
- Document.Current.LocationID.GetValueOrDefault(0) != 0 && !value)
- {
- other = oth;
- decimal CurRate = Document.Current.CuryRate.GetValueOrDefault(1.0m);
- decimal OutrightPriceCC = GetOutrightPriceCC(-1, CurRate);
- contrLine.UnitPrice = (OutrightPriceCC + Document.Current.Ratio) + (contrLine.PricingCCY.GetValueOrDefault(false) ?
- GetDifferentialCuryConv(Differencial) :
- Differencial) + Premium + other.Premium.GetValueOrDefault(0);
- value = true;
- }
- }
- if (!value)
- {
- decimal CurRate = Document.Current.CuryRate.GetValueOrDefault(1.0m);
- decimal OutrightPriceCC = GetOutrightPriceCC(-1, CurRate);
- contrLine.UnitPrice = (OutrightPriceCC * Document.Current.Ratio) + (contrLine.PricingCCY.GetValueOrDefault(false) ?
- GetDifferentialCuryConv(Differencial) :
- Differencial) + Premium;
- }
- }
- contrLine.TermsID = Document.Current.TermsID;
- contrLine.ValuationMonthS = Document.Current.ValuationMonthS;
- contrLine.FixByDate = Document.Current.FixByDate;
- contrLine.QtyNotFixed = contrLine.SplitQty;
- contrLine.QtyNotInvoiced = contrLine.SplitQty;
- contrLine.QtyNotShipped = contrLine.SplitQty;
- if (Document.Current.PricingType == "FI")
- {
- contrLine.Status = "FD";
- contrLine.QtyFixed = contrLine.SplitQty;
- contrLine.QtyNotFixed = 0.00m;
- }
- else
- {
- contrLine.Status = "TF";
- }
- contrLine.ValuationMonthS = Document.Current.ValuationMonthS;
- contrLine.PricingCCY = Document.Current.PricingCCY.GetValueOrDefault();
- if (Document.Current.Crop.GetValueOrDefault(0) > 2000)
- {
- contrLine.Crop = Convert.ToString(Document.Current.Crop.GetValueOrDefault(0));
- }
- if (Document.Current.Crop.GetValueOrDefault(0) < 2000)
- {
- contrLine.Crop = "";
- }
- contrLine = Transactions.Insert(contrLine);
- }
- }
- #endregion
- else
- {
- foreach (ArcContractLine oth in contrline1)
- {
- countlines = countlines + 1;
- if (!string.IsNullOrEmpty(oth.POOrderNbr) || !string.IsNullOrEmpty(oth.ReceiptNbr))
- {
- Document.Current.Status = "CD";
- exitendif = true;
- if (countlines == contrline1.Count && exitendif)
- {
- Document.Current.Status = "SH";
- break;
- }
- if (countlines == contrline1.Count && !exitendif)
- {
- break;
- }
- }
- }
- }
- }
- }
- }
- }
- else
- {
- throw new PXException("Shipping Period End Date Can't be less than Shipping Period Start Date");
- }
- }
- return adapter.Get();
- #endregion
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment