public void GetDespatchUbl() { DespatchData data = DataService.Service.GetDespatchData(); byte[] despatchUbl = UBLHelper.Generator.GenerateDespatchUbl(data); File.WriteAllBytes(@"C:\Temp\irsaliye.xml", despatchUbl); }
public byte[] GenerateDespatchUbl(DespatchData data) { var despatch = new DespatchAdviceType { UUID = new UUIDType() { Value = Guid.NewGuid().ToString() }, UBLVersionID = new UBLVersionIDType() { Value = "2.1" }, CustomizationID = new CustomizationIDType() { Value = "TR1.2" }, ProfileID = new ProfileIDType() { Value = "TEMELIRSALIYE" }, ID = new IDType() { Value = data.IRSALIYE_NO }, //Irsaliye No CopyIndicator = new CopyIndicatorType() { Value = false }, IssueDate = new IssueDateType { Value = DateTime.Now.Date }, IssueTime = new IssueTimeType { Value = DateTime.Now }, DespatchAdviceTypeCode = new DespatchAdviceTypeCodeType { Value = "SEVK" }, UBLExtensions = new UBLExtensionType[] { new UBLExtensionType { ExtensionContent = null } }, DespatchSupplierParty = new SupplierPartyType() { Party = new PartyType { WebsiteURI = new WebsiteURIType { Value = "www.firmaadi.com" }, PartyIdentification = new PartyIdentificationType[] { new PartyIdentificationType { ID = new IDType { schemeID = "VKN", Value = data.GONDEREN_VERGINO } } }, PartyName = new PartyNameType { Name = new NameType1 { Value = data.GONDEREN_UNVAN } }, PostalAddress = new AddressType { CitySubdivisionName = new CitySubdivisionNameType { Value = data.GONDEREN_ILCE }, CityName = new CityNameType { Value = data.GONDEREN_IL }, Country = new CountryType { Name = new NameType1 { Value = "Türkiye" } } }, PartyTaxScheme = new PartyTaxSchemeType { TaxScheme = new TaxSchemeType { Name = new NameType1 { Value = data.GONDEREN_VERGIDAIRESI } } } } }, DeliveryCustomerParty = new CustomerPartyType { Party = new PartyType { PartyIdentification = new PartyIdentificationType[] { new PartyIdentificationType { ID = new IDType { schemeID = "VKN", Value = !string.IsNullOrEmpty(data.ALICI_VERGINO)?data.ALICI_VERGINO:"5555555555" } } }, PartyName = new PartyNameType { Name = new NameType1 { Value = !string.IsNullOrEmpty(data.ALICI_VERGINO) ? data.ALICI_UNVAN : "Muhtelif Müşteriler" } }, PostalAddress = new AddressType { CitySubdivisionName = new CitySubdivisionNameType { Value = data.ALICI_ILCE }, CityName = new CityNameType { Value = data.ALICI_IL }, Country = new CountryType { Name = new NameType1 { Value = "Türkiye" } } }, PartyTaxScheme = new PartyTaxSchemeType { TaxScheme = new TaxSchemeType { Name = new NameType1 { Value = data.ALICI_VERGIDAIRESI } } } } }, Shipment = new ShipmentType { ID = new IDType { Value = "" }, GoodsItem = new GoodsItemType[] { new GoodsItemType { HazardousRiskIndicator = new HazardousRiskIndicatorType { Value = false, }, ValueAmount = new ValueAmountType { currencyID = "TRY", // Toplam_Tutar_Bilgisi Value = 0 }, CustomsImportClassifiedIndicator = new CustomsImportClassifiedIndicatorType { Value = false } } }, Delivery = new DeliveryType { Despatch = new DespatchType { ActualDespatchDate = new ActualDespatchDateType { Value = DateTime.Now.Date }, ActualDespatchTime = new ActualDespatchTimeType { Value = DateTime.Now } }, CarrierParty = new PartyType { PartyIdentification = new PartyIdentificationType[] { new PartyIdentificationType { ID = new IDType { schemeID = "", Value = data.CarrierInfo.VERGINO } } }, PartyName = new PartyNameType { Name = new NameType1 { Value = data.CarrierInfo.FIRMA_ADI } }, PostalAddress = new AddressType { CitySubdivisionName = new CitySubdivisionNameType { Value = data.CarrierInfo.ILCE }, CityName = new CityNameType { Value = data.CarrierInfo.IL }, Country = new CountryType { Name = new NameType1 { Value = "Türkiye" } } } } } }, DespatchLine = data.Details.Select(d => new DespatchLineType { ID = new IDType { Value = d.SIRANO }, DeliveredQuantity = new DeliveredQuantityType { unitCode = "NIU", Value = d.ADET }, OrderLineReference = new OrderLineReferenceType { LineID = new LineIDType { Value = d.SIRANO } }, Item = new ItemType { Name = new NameType1 { Value = d.ACIKLAMA }, SellersItemIdentification = new ItemIdentificationType { ID = new IDType { Value = d.IRS_SATIR_ID//IRSALIYE_SATIR_ID } } } }).ToArray() }; XmlSerializer xmlSerializer = new XmlSerializer(typeof(DespatchAdviceType)); using (MemoryStream output = new MemoryStream()) { xmlSerializer.Serialize(output, despatch, new Common.UblGenerator()); return(output.ToArray()); } }