/// <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 } }
/// <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)); } }
// <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); } }
/// <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)); } }
/// <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. } }
/// <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)); } }
/// <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); } }