Beispiel #1
0
        public void GetDespatchUbl()
        {
            DespatchData data = DataService.Service.GetDespatchData();

            byte[] despatchUbl = UBLHelper.Generator.GenerateDespatchUbl(data);
            File.WriteAllBytes(@"C:\Temp\irsaliye.xml", despatchUbl);
        }
Beispiel #2
0
        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());
            }
        }