示例#1
0
        /// <summary>
        /// Grid üzerinden seçilen gelen veya gönderilen e-irsaliyeyi UBL olarak kayıt eder
        /// </summary>
        /// <returns>Grid üzerinden seçilen gelen veya gönderilen e-irsaliyenin UBL binary datası</returns>
        public getDesUBLResponse IrsaliyeUBLIndir(TextModel m, string[] UUID, ArrayList sslList, RequestModel reqModel)
        {
            ServicePointManager.SecurityProtocol = TlsSetting.TlsSet(sslList);  // TLS/SSL ayarları
            ClientEDespatchServicesPortClient wsClient = new ClientEDespatchServicesPortClient();

            using (new OperationContextScope(wsClient.InnerChannel))
            {
                if (WebOperationContext.Current != null)
                {
                    WebOperationContext.Current.OutgoingRequest.Headers.Add(HttpRequestHeader.Authorization,
                                                                            Authorization.GetAuthorization(m.Kullanici, m.Sifre));
                }

                var req = new getDesUBLRequest
                {
                    Identifier = reqModel.Identifier,  // Alınacak dosyanın bulunduğu etiket
                    VKN_TCKN   = m.VknTckn,            // VKN veya TCKN
                    UUID       = UUID,                 // datagrid deki irsaliye veya irsaliye yanıtlarının UUID si (en fazla 20 UUID sorgulanabilir)
                    DocType    = reqModel.DocType,     // Alınacak dosya irsaliye ise DESPATCH, irsaliye yanıtı ise RECEIPT yazılmalı
                    Type       = reqModel.DespatchType // Alınacak dosya gelen ise INBOUND , gönderilen ise OUTBOUND olmalı.
                };

                return(wsClient.getDesUBL(req)); // UBL in zipli base64 formatındaki datası döner
            }
        }
示例#2
0
        /// <summary>
        ///  Sisteme e-irsaliye yanıtı gönderir
        /// </summary>
        /// <returns>Gönderilen irsaliye yanıtı bilgileri</returns>
        public sendDesUBLResponse IrsaliyeYanitiGonder(TextModel m, string UUID, ArrayList sslList)
        {
            IrsaliyeYanitiUBL receiptAdvice = new IrsaliyeYanitiUBL();
            var createdUBL = receiptAdvice.CreateReceiptAdvice(m.VknTckn, m.IssueDate, UUID);                             // İrsaliye yanıtı UBL i oluşturulur
            UBLBaseSerializer serializer = new ReceiptAdviceSerializer();                                                 // UBL  XML e dönüştürülür
            var strIrsaliyeYaniti        = serializer.GetXmlAsString(createdUBL);                                         // XML byte tipinden string tipine dönüştürülür

            byte[] zipliFile = ZipUtility.CompressFile(Encoding.UTF8.GetBytes(strIrsaliyeYaniti), createdUBL.UUID.Value); // XML  ziplenir
            ServicePointManager.SecurityProtocol = TlsSetting.TlsSet(sslList);                                            // TLS/SSL ayarları

            ClientEDespatchServicesPortClient wsClient = new ClientEDespatchServicesPortClient();

            using (new OperationContextScope(wsClient.InnerChannel))
            {
                if (WebOperationContext.Current != null)
                {
                    WebOperationContext.Current.OutgoingRequest.Headers.Add(HttpRequestHeader.Authorization,
                                                                            Authorization.GetAuthorization(m.Kullanici, m.Sifre));
                }
                var req = new sendDesUBLRequest
                {
                    VKN_TCKN           = m.VknTckn,   // gönderici vkn veya tckn
                    SenderIdentifier   = m.PkEtiketi, //gönderici birim etiketi
                    ReceiverIdentifier = m.GbEtiketi, //alıcı birim etiketi
                    DocType            = "RECEIPT",   // gönderilecek doküman tipi
                    DocData            = zipliFile    //gönderilecek irsaliye yanıtının ziplenmiş byte datası
                };

                return(wsClient.sendDesUBL(req));
            }
        }
示例#3
0
        // <summary>
        /// Sisteme gönderilen e-irsaliye yanıtlarının listesini alır
        /// </summary>
        /// <returns>Sisteme gönderilen e-irsaliye yanıtlarının listesi</returns>
        public GetDesUBLListResponseType[] GonderilenIrsaliyeYanitlari(TextModel textModel, ArrayList sslList, RequestModel reqModel)
        {
            ServicePointManager.SecurityProtocol = TlsSetting.TlsSet(sslList); // TLS/SSL ayarları
            ClientEDespatchServicesPortClient wsClient = new ClientEDespatchServicesPortClient();

            using (new OperationContextScope(wsClient.InnerChannel))
            {
                if (WebOperationContext.Current != null)
                {
                    WebOperationContext.Current.OutgoingRequest.Headers.Add(HttpRequestHeader.Authorization,
                                                                            Authorization.GetAuthorization(textModel.Kullanici, textModel.Sifre));
                }

                var req = new getDesUBLListRequest
                {
                    Identifier        = reqModel.Identifier,   //gönderici birim etiketi
                    VKN_TCKN          = textModel.VknTckn,     //gönderici VKN veya TCKN
                    DocType           = reqModel.DocType,      //döküman tipi
                    Type              = reqModel.DespatchType, //gelen dosyalar için INBOUND, gönderilen dosyalar için ise OUTBOUND yazılmalı
                    FromDate          = textModel.IssueDate,   //sorgulanacak başlangıç tarihi. Max 1 günlük tarih aralığı limiti verilmeli.
                    ToDate            = textModel.EndDate,     //sorgulanacak bitiş tarihi
                    FromDateSpecified = true,
                    ToDateSpecified   = true                   //başlangıç ve bitiş tarihi verildikten sonra bu iki alanın true olarak set edilmesi gerekmektedir.
                };

                return(wsClient.getDesUBLList(req).Response);
            }
        }
示例#4
0
        /// <summary>
        /// Sisteme gelen irsaliye zarf listesini alır
        /// </summary>
        /// <returns>Sisteme gelen irsaliye zarf listesi</returns>
        public getDesUBLListResponse GelenZarflar(TextModel m, ArrayList sslList)
        {
            ServicePointManager.SecurityProtocol = TlsSetting.TlsSet(sslList); // TLS/SSL ayarları
            ClientEDespatchServicesPortClient wsClient = new ClientEDespatchServicesPortClient();

            using (new OperationContextScope(wsClient.InnerChannel))
            {
                if (WebOperationContext.Current != null)
                {
                    WebOperationContext.Current.OutgoingRequest.Headers.Add(HttpRequestHeader.Authorization,
                                                                            Authorization.GetAuthorization(m.Kullanici, m.Sifre));
                }

                var req = new getDesUBLListRequest
                {
                    Identifier        = m.PkEtiketi, // alıcı birim etiketi
                    VKN_TCKN          = m.VknTckn,   //alıcı VKN veya TCKN
                    DocType           = "ENVELOPE",  //doküman tipi
                    Type              = "INBOUND",   // gelen dosyalar için INBOUND, gönderilen dosyalar için ise OUTBOUND yazılmalı
                    FromDate          = m.IssueDate, //sorgulanacak başlangıç tarihi. Max 1 günlük tarih aralığı limiti verilmeli
                    ToDate            = m.EndDate,   //sorgulanacak bitiş tarihi
                    FromDateSpecified = true,
                    ToDateSpecified   = true         //başlangıç ve bitiş tarihi verildikten sonra bu iki alanın true olarak set edilmesi gerekmektedir.
                };
                return(wsClient.getDesUBLList(req));
            }
        }
示例#5
0
        /// <summary>
        /// Aşağıdaki metodda Grid üzerindeki gelen veya gönderilen e-irsaliyelerin sadece PDF binary datası alınmaktadır.
        /// Aynı request içerisinde DocDetails alanından max 20 adet olabilir .
        /// Aynı request içerisinde istenirse (gönderilen etiket ve VKN aynı olmak şartıyla) aynı veya farklı UUID lere ait belgelerin HTML, PDF, XSLT, PDF_DEFAULT veya HTML_DEFAULT belgeleride alınabilir.
        /// </summary>
        /// <returns>Grid üzerindeki gelen veya gönderilen e-irsaliyelerin PDF binary datası</returns>
        public getDesViewResponse IrsaliyePDFIndir(TextModel m, string[] UUID, ArrayList sslList, RequestModel reqModel)
        {
            List <GetDesViewRequestType> docDetails = new List <GetDesViewRequestType>();

            ServicePointManager.SecurityProtocol = TlsSetting.TlsSet(sslList);  // TLS/SSL ayarları
            ClientEDespatchServicesPortClient wsClient = new ClientEDespatchServicesPortClient();

            using (new OperationContextScope(wsClient.InnerChannel))
            {
                if (WebOperationContext.Current != null)
                {
                    WebOperationContext.Current.OutgoingRequest.Headers.Add(HttpRequestHeader.Authorization,
                                                                            Authorization.GetAuthorization(m.Kullanici, m.Sifre));
                }

                var req = new getDesViewRequest
                {
                    Identifier = reqModel.Identifier, // Alınacak dosyanın bulunduğu  etiket
                    VKN_TCKN   = m.VknTckn,           // gönderici VKN veya TCKN
                };


                foreach (var item in UUID)
                {
                    var data = new GetDesViewRequestType  //Her requestType da bulunan UUID  aynı veya farklı olabilir.
                    {
                        UUID     = item,                  // datagrid de seçilen irsaliye veya irsaliye yanıtının UUID si
                        Type     = reqModel.DespatchType, // Alınacak dosya gelen ise INBOUND , gönderilen ise OUTBOUND olmalı.
                        DocType  = reqModel.DocType,      // Alınacak dosya irsaliye ise DESPATCH, irsaliye yanıtı ise RECEIPT yazılmalı
                        ViewType = "PDF"                  // Dosyanın tipi HTML ,PDF, XSLT, PDF_DEFAULT veya HTML_DEFAULT olabilir
                    };
                    docDetails.Add(data);
                }

                req.DocDetails = docDetails.ToArray();

                return(wsClient.getDesView(req)); // Yazılan her UUID için istenilen dosya tipinde data dönülür.
            }
        }
示例#6
0
        /// <summary>
        /// Textbox a girilen TCKN veya VKN numarası ile sisteme kayıtlı mükellef sorgulaması yapar.
        /// </summary>
        /// <returns>Mükellef Listesi</returns
        public getDesUserListResponse MukellefSorgula(TextModel m, ArrayList sslList)
        {
            ServicePointManager.SecurityProtocol = TlsSetting.TlsSet(sslList); // TLS/SSL ayarları
            ClientEDespatchServicesPortClient wsClient = new ClientEDespatchServicesPortClient();

            using (new OperationContextScope(wsClient.InnerChannel))
            {
                if (WebOperationContext.Current != null)
                {
                    WebOperationContext.Current.OutgoingRequest.Headers.Add(HttpRequestHeader.Authorization,
                                                                            Authorization.GetAuthorization(m.Kullanici, m.Sifre));
                }

                var req = new getDesUserListRequest
                {
                    Identifier = m.GbEtiketi, //kullanıcı etiketi
                    VKN_TCKN   = m.VknTckn,   //kullanıcı vkn vaya tckn
                    Role       = "PK"         //sorgulanacak GB veya PK etiketi
                };
                return(wsClient.getDesUserList(req));
            }
        }
示例#7
0
        /// <summary>
        /// Sisteme gönderilen zarfın statüsünü sorgular
        /// </summary>
        /// <returns>Sisteme gönderilen zarfın statüsü </returns>
        public GetDesEnvelopeStatusResponseType[] ZarfDurumSorgula(TextModel m, string[] envelopeUUID, ArrayList sslList)
        {
            ServicePointManager.SecurityProtocol = TlsSetting.TlsSet(sslList); // TLS/SSL ayarları
            ClientEDespatchServicesPortClient wsClient = new ClientEDespatchServicesPortClient();

            using (new OperationContextScope(wsClient.InnerChannel))
            {
                if (WebOperationContext.Current != null)
                {
                    WebOperationContext.Current.OutgoingRequest.Headers.Add(HttpRequestHeader.Authorization,
                                                                            Authorization.GetAuthorization(m.Kullanici, m.Sifre));
                }

                var req = new getDesEnvelopeStatusRequest
                {
                    Identifier = m.GbEtiketi, // gönderici birim etiketi
                    VKN_TCKN   = m.VknTckn,   // gönderici VKN veya TCKN
                    UUID       = envelopeUUID // zarf UUIDleri
                };
                return(wsClient.getDesEnvelopeStatus(req).Response);
            }
        }