/// <summary> /// error mesaj varsa doner yoksa null donup getırılen lısteyı db ye kaydeder /// </summary> public string getArchiveListOnServiceAndSaveDb() { using (new OperationContextScope(eArchiveInvoicePortClient.InnerChannel)) { var req = new GetEArchiveInvoiceListRequest(); //sistemdeki gelen efatura listesi için request parametreleri req.REQUEST_HEADER = RequestHeader.getRequestHeaderArchive; req.REQUEST_HEADER.COMPRESSED = EI.ActiveOrPasive.Y.ToString(); req.PERIOD = getThisMonth() + DateTime.Now.Year.ToString(); req.REPORT_INCLUDED = true; req.LIMIT = 100; req.REPORT_FLAG = EI.ActiveOrPasive.Y.ToString(); //raporlananaları alıyor req.HEADER_ONLY = EI.ActiveOrPasive.N.ToString(); req.CONTENT_TYPE = EI.DocumentType.XML.ToString(); var response = eArchiveInvoicePortClient.GetEArchiveInvoiceList(req); if (response.ERROR_TYPE != null) //error message varsa { return(response.ERROR_TYPE.ERROR_SHORT_DES); } else //servisten arsıv getırme islemi basarılıysa { if (response.INVOICE != null && response.INVOICE.Length > 0) //getırılen arsiv varsa { var archiveArrContentNotNull = response.INVOICE.Where(arc => arc.CONTENT != null).ToArray(); if (archiveArrContentNotNull.Length > 0) { string markErrorMessage = archiveMarkRead(archiveArrContentNotNull); //mark arsiv yapıldı if (markErrorMessage != null) //mark arsıv dan donen error message varsa { return(markErrorMessage); } //getirilen faturaları db ye kaydetme basarılı mı ... hepsı kaydedıldı mı if (Singl.archiveInvoiceDalGet.addArchiveToDbAndSaveContentOnDisk(archiveArrContentNotNull) != archiveArrContentNotNull.Length) { return("DataBase'e kaydetme işlemi başarısız"); } } return(null); //hiçbir hata yoksa null don } return(null); //arsıv sayısı 0 ancak hata yok } } }
/// <summary> /// EGER DİSKE YAZDIGIM XML DOSYASI SILINMIS ISE SILINEN ARCHİVEİN CONTENTINI DISKE YAZMAK ICIN TEKRAR CAGIRIRIM /// </summary> public string getArchiveWithUuidOnService(string uuid) { using (new OperationContextScope(eArchiveInvoicePortClient.InnerChannel)) { var req = new GetEArchiveInvoiceListRequest(); req.REQUEST_HEADER = RequestHeader.getRequestHeaderArchive; req.REQUEST_HEADER.COMPRESSED = EI.ActiveOrPasive.Y.ToString(); req.UUID = uuid; req.HEADER_ONLY = EI.ActiveOrPasive.N.ToString(); req.CONTENT_TYPE = EI.DocumentType.XML.ToString(); req.READ_INCLUDED = true.ToString(); //daha onceden cektıgımız ıcın mark ınv yapılmıstır o yuzden true EARCHIVEINV[] archiveArray = eArchiveInvoicePortClient.GetEArchiveInvoiceList(req).INVOICE; if (archiveArray != null && archiveArray.Length != 0 && archiveArray[0].CONTENT != null) { //getirilen faturanın contentını zipten cıkar,string halınde dondur return(Encoding.UTF8.GetString(Compress.UncompressFile(archiveArray[0].CONTENT.Value))); } return(null); } }