示例#1
0
        /// <summary>
        /// Grid üzerinden seçilen gelen veya gönderilen faturayı UBL olarak kayıt eder
        /// </summary>
        /// <returns>Grid üzerinden seçilen gelen veya gönderilen faturanın UBL binary datası</returns>
        public byte[][] FaturaUBLIndir(TextModel m, string[] invUUID, ArrayList sslList)
        {
            ServicePointManager.SecurityProtocol = TlsSetting.TlsSet(sslList);  // TLS/SSL ayarları
            WebServisAdresDegistir();
            using (new OperationContextScope(WsClient.InnerChannel))
            {
                if (WebOperationContext.Current != null)
                {
                    WebOperationContext.Current.OutgoingRequest.Headers.Add(HttpRequestHeader.Authorization,
                                                                            Authorization.GetAuthorization(m.Kullanici, m.Sifre));
                }

                string[] arrayUUID = invUUID;

                var req = new getUBLRequest   //Faturanın UBL datasını almak için request parametreleri gönderiyorz.
                {
                    Identifier = m.GbEtiketi, //gönderici birim etiketi
                    VKN_TCKN   = m.VknTckn,   //tckn veya vkn
                    UUID       = arrayUUID,   //grid üzerinden seçimi yapılan faturanın UUID si
                    DocType    = "INVOICE",   //xml olarak kaydedilecek dosya tipi
                    Type       = "OUTBOUND",  //gelen veya giden fatura seçeneği
                    Parameters = new[] { "XML" } //parametre olarak XML gönderiyoruz.
                };

                return(WsClient.getUBL(req));
            }
        }
        public async Task Execute()
        {
            var serviceResponse = new ServiceResponse()
            {
                Hatali = false,
            };

            _serviceProxy = new ClientEInvoiceServicesPortClient();
            getUBLRequest request = new getUBLRequest()
            {
                Identifier = this.ServiceInfo.SupplierPB,
                Type       = "INBOUND",
                Parameters = new[] { "zip" },
                DocType    = "INVOICE",
                VKN_TCKN   = ServiceInfo.SupplierVkn,
                UUID       = this.UUIDs
            };
            var ubl = _serviceProxy.getUBL(request);

            serviceResponse.Sonuc = "UBL Başarıyla alındı";
            serviceResponse.Data  = ubl[0];
            this.Result           = Task.FromResult(serviceResponse);
        }