private static List <Clearence> GetClearanceIds(Entities entities, SADGood good, string pattern) { List <Clearence> _ret = new List <Clearence>(); foreach (SADRequiredDocuments _rdx in good.SADRequiredDocuments(entities)) { if (_rdx.Code != XMLResources.RequiredDocumentConsignmentCode) { continue; } int?_cleranceInt = XMLResources.GetRequiredDocumentFinishedGoodExportConsignmentNumber(_rdx.Number, pattern); if (!_cleranceInt.HasValue) { continue; } if (_cleranceInt.HasValue) { Clearence _clearance = Element.GetAtIndex <Clearence>(entities.Clearence, _cleranceInt.Value); _ret.Add(_clearance); } else { string _template = "Cannot find clearance for the required document code={0} for customs document = {1}/ref={2}"; throw new InputDataValidationException( String.Format(_template, _rdx.Number, good.SADDocumentIndex.DocumentNumber, good.SADDocumentIndex.ReferenceNumber), "SAD Required Documents", "clear through customs fatal error", true); } }// foreach if (_ret.Count == 0) { string _template = "Cannot find required document code={0} for customs document = {1}/ref={2}"; throw new InputDataValidationException( String.Format(_template, XMLResources.RequiredDocumentConsignmentCode, good.SADDocumentIndex.DocumentNumber, good.SADDocumentIndex.ReferenceNumber), "SAD Required Documents", "clear through customs fatal error", true); } return(_ret); }
private static SAD CraeteSAD(Entities entities, CustomsWarehouseDisposal disposal, string masterDocumentName) { SADGood _entrySAD = disposal.CWL_CWDisposal2CustomsWarehouseID.CWL_CW2ClearenceID.Clearence2SadGoodID; List <SADZgloszenieTowarDokumentWymagany> _dcsList = new List <SADZgloszenieTowarDokumentWymagany>(); int _Pos = 1; _dcsList.Add(SADZgloszenieTowarDokumentWymagany.Create(_Pos++, Settings.CustomsProcedureCode9DK8, masterDocumentName, String.Empty)); foreach (SADRequiredDocuments _rdx in _entrySAD.SADRequiredDocuments(entities, false)) { if (Required(_rdx.Code)) { _dcsList.Add(SADZgloszenieTowarDokumentWymagany.Create(_Pos++, _rdx.Code, _rdx.Number, _rdx.Title)); } } decimal _IloscTowaruId = 1; SADZgloszenieTowarIloscTowaru[] _IloscTowaruArray = new SADZgloszenieTowarIloscTowaru[] { SADZgloszenieTowarIloscTowaru.Create(ref _IloscTowaruId, disposal.CW_SettledNetMass.ConvertToDecimal(), disposal.CW_SettledGrossMass.ConvertToDecimal()) }; decimal _Value = disposal.TobaccoValue.ConvertToDecimal(); decimal _SADZgloszenieTowarId = 1; string _CWDocumentNo = disposal.CWL_CWDisposal2CustomsWarehouseID.DocumentNo; string _CustomsProcedure = String.IsNullOrEmpty(disposal.CustomsProcedure) ? disposal.CWL_CWDisposal2DisposalRequestLibraryID.ClearenceProcedure.Value.Convert2String() : disposal.CustomsProcedure; SADZgloszenieTowar[] _good = new SADZgloszenieTowar[] { SADZgloszenieTowar.Create (disposal.GoodsName(entities), disposal.CW_PackageToClear.ConvertToDecimal(), _CWDocumentNo, _Value, ref _SADZgloszenieTowarId, disposal.ProductCode, disposal.ProductCodeTaric, _CustomsProcedure, _dcsList.ToArray(), _IloscTowaruArray) }; SADZgloszenieUC _CustomsOffice = SADZgloszenieUC.Create(Settings.GetParameter(entities, SettingsEntry.DefaultCustomsOffice)); SADZgloszenie _application = SADZgloszenie.Create(_good, _CustomsOffice, Settings.GetParameter(entities, SettingsEntry.RecipientOrganization), Vendor.SenderOrganization(entities)); return(SAD.Create(Settings.GetParameter(entities, SettingsEntry.OrganizationEmail), _application)); }