private static int AddFreeText(int itmcnt, global::DocumentItemDS.Business.Entities.xcuda_Item itm, string entryDataId) { if (BaseDataModel.Instance.CurrentApplicationSettings.GroupEX9 != true) { if (itmcnt < 5) { if (itm.Free_text_1 == null) { itm.Free_text_1 = ""; //"Inv.#" } itm.Free_text_1 = itm.Free_text_1 + "|" + string.Format("{0}", entryDataId); //CleanText(allo.EntryDataDetails.EntryDataId)); } else { if (itm.Free_text_2 == null) { itm.Free_text_2 = ""; //"Inv.#" } itm.Free_text_2 = itm.Free_text_2 + "|" + string.Format("{0}", entryDataId); // CleanText(allo.EntryDataDetails.EntryDataId)); } itmcnt += 1; } if (itm.Free_text_1 != null && itm.Free_text_1.Length > 1) { if (itm.Free_text_1.Length < 31) { itm.Free_text_1 = itm.Free_text_1.Substring(1); } else { itm.Free_text_1 = itm.Free_text_1.Substring(1, 30); } } if (itm.Free_text_2 != null && itm.Free_text_2.Length > 1) { if (itm.Free_text_2.Length < 21) { itm.Free_text_2 = itm.Free_text_2.Substring(1); } else { itm.Free_text_2 = itm.Free_text_2.Substring(1, 20); } } return(itmcnt); }
public bool CreateEx9EntryAsync(dynamic mypod, DocumentCT cdoc, int itmcount, string dfp, bool applyEX9Bucket) { try { if (applyEX9Bucket == true) { Ex9Bucket(mypod, dfp, cdoc); } mypod.EntlnData.Quantity = Math.Round(mypod.EntlnData.Quantity, 2); if (mypod.EntlnData.Quantity <= 0) { return(false); } global::DocumentItemDS.Business.Entities.xcuda_PreviousItem pitm = CreatePreviousItem(mypod.EntlnData, itmcount, dfp); if (pitm.Net_weight < 0.01) { foreach (AsycudaSalesAllocations item in mypod.Allocations) { item.Status = "Net Weight < 0.01"; } return(false); } //cdoc.Document.xcuda_PreviousItem.Add(pitm); pitm.ASYCUDA_Id = cdoc.Document.ASYCUDA_Id; global::DocumentItemDS.Business.Entities.xcuda_Item itm = BaseDataModel.Instance.CreateItemFromEntryDataDetail(mypod.EntlnData, cdoc); itm.xcuda_ASYCUDA = cdoc.Document; //TODO:Refactor this dup code if (mypod.Allocations != null) { var itmcnt = 0; foreach ( var allo in (mypod.Allocations as List <AsycudaSalesAllocations>))//.Distinct() { itm.xBondAllocations.Add(new xBondAllocations() { AllocationId = allo.AllocationId, xcuda_Item = itm, TrackingState = TrackingState.Added }); itmcnt = AddFreeText(itmcnt, itm, allo.EntryDataDetails.EntryDataId); } } //return true; itm.xcuda_PreviousItem = pitm; pitm.xcuda_Item = itm; // cdoc.Document.xcuda_PreviousItem.Add(pitm); //pitm.xcuda_ASYCUDA = cdoc; // pitm.PreviousDocumentItem = itm; itm.xcuda_Tarification.xcuda_HScode.Commodity_code = pitm.Hs_code; itm.xcuda_Goods_description.Country_of_origin_code = pitm.Goods_origin; itm.xcuda_Previous_doc.Summary_declaration = String.Format("{0} {1} C {2} art. {3}", pitm.Prev_reg_cuo, pitm.Prev_reg_dat, pitm.Prev_reg_nbr, pitm.Previous_item_number); itm.xcuda_Valuation_item.xcuda_Weight_itm = new xcuda_Weight_itm() { TrackingState = TrackingState.Added }; itm.xcuda_Valuation_item.xcuda_Weight_itm.Gross_weight_itm = pitm.Net_weight; itm.xcuda_Valuation_item.xcuda_Weight_itm.Net_weight_itm = pitm.Net_weight; // adjusting because not using real statistical value when calculating itm.xcuda_Valuation_item.xcuda_Item_Invoice.Amount_foreign_currency = Convert.ToDouble(Math.Round((pitm.Current_value * pitm.Suplementary_Quantity), 2)); itm.xcuda_Valuation_item.xcuda_Item_Invoice.Amount_national_currency = Convert.ToDouble(Math.Round(pitm.Current_value * pitm.Suplementary_Quantity, 2)); itm.xcuda_Valuation_item.xcuda_Item_Invoice.Currency_code = "XCD"; itm.xcuda_Valuation_item.xcuda_Item_Invoice.Currency_rate = 1; if (cdoc.DocumentItems.Select(x => x.xcuda_PreviousItem).Count() == 1 || itmcount == 0) { pitm.Packages_number = "1"; //(i.Packages.Number_of_packages).ToString(); pitm.Previous_Packages_number = pitm.Previous_item_number == "1" ? "1" : "0"; } else { pitm.Packages_number = (0).ToString(CultureInfo.InvariantCulture); pitm.Previous_Packages_number = (0).ToString(CultureInfo.InvariantCulture); } return(true); } catch (Exception Ex) { throw; } }