/// <summary> /// Gönderilen e-faturalara gelen uygulama yanıtlarının (kabul,red) listesini getirir /// </summary> /// <returns>Gönderilen e-faturalara gelen uygulama yanıtlarının (kabul,red) listesi</returns> private void btnGondrlnUyg_Click(object sender, EventArgs e) { ClearText(); try { if (!CheckConnParam()) throw new CheckConnParamException("TCKN/VKN, Gönderici Birim Etiketi, Posta Kutusu Etiketi, WS Kullanıcı Adı ve WS Şifre alanları boş bırakılamaz!"); lblBaslik.Text = "Gönderilen Uygulama Yanıtları"; ButtonAktifPasif(false, false, false); var fatura = new InvoiceWebService(); grdListFatura.DataSource = null; grdListFatura.DataSource = fatura.GonderilenUygulamaYanitlari(SetValue(), CheckedSSL()); } catch (CheckConnParamException ex) { MessageBox.Show(ex.Message, "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (FaultException<ProcessingFault> ex) { MessageBox.Show(ex.Detail.Message, "ProcessingFault", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (FaultException ex) { MessageBox.Show(ex.Message, "FaultException", MessageBoxButtons.OK, MessageBoxIcon.Error); lblBaslik.Text = ""; } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
/// <summary> /// Grid üzerinden seçilen faturanın id bilgisini aldıktan sonra pdf formatında bilgisayara kayıt eder /// </summary> /// <returns>e-Fatura PDF Kaydetme</returns> private void btnFaturaPdfIndir_Click(object sender, EventArgs e) { try { if (!CheckConnParam()) throw new CheckConnParamException("TCKN/VKN, Gönderici Birim Etiketi, Posta Kutusu Etiketi, WS Kullanıcı Adı ve WS Şifre alanları boş bırakılamaz!"); if (InvUUID == "0" || InvUUID == null) throw new UUIDNullException("Lütfen bir fatura seçiniz!"); var fatura = new InvoiceWebService(); var result = fatura.FaturaPDFIndir(SetValue(), InvUUID, CheckedSSL()); var fbDialog = new FolderBrowserDialog(); fbDialog.Description = "Lütfen kaydetmek istediğiniz dizini seçiniz..."; fbDialog.RootFolder = Environment.SpecialFolder.Desktop; if (fbDialog.ShowDialog() == DialogResult.OK) { //dialog ile kullanıcıya seçtirilen dizine fatura UUID si ile dosya ismini set ederek kayıt işlemi yapıyoruz. File.WriteAllBytes(fbDialog.SelectedPath + "\\" + InvUUID + ".pdf", result.DocData); MessageBox.Show("Fatura PDF İndirme Başarılı", "", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (UUIDNullException ex) { MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (CheckConnParamException ex) { MessageBox.Show(ex.Message, "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (FaultException<ProcessingFault> ex) { MessageBox.Show(ex.Detail.Message, "ProcessingFault", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (FaultException ex) { MessageBox.Show(ex.Message, "FaultException", MessageBoxButtons.OK, MessageBoxIcon.Error); lblBaslik.Text = ""; } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
/// <summary> /// Gelen ticari e-Fatura'ya uygulama yanıtı (kabul,red) gönderir /// </summary> /// <returns>Ticari faturaya uygulama yanıtı gönderme</returns> private void btnUygYanitGon_Click(object sender, EventArgs e) { try { if (!CheckConnParam()) throw new CheckConnParamException("TCKN/VKN, Gönderici Birim Etiketi, Posta Kutusu Etiketi, WS Kullanıcı Adı ve WS Şifre alanları boş bırakılamaz!"); var UUID = Interaction.InputBox("Uygulama yanıtı göndermek için Fatura UUID giriniz", "Uygulama Yanıtı Gönderme", "", -1, -1); if (string.IsNullOrEmpty(UUID)) throw new UUIDNullException("Uygulama yanıtı göndermek için lütfen bir Fatura UUID giriniz!"); var uygulamaYaniti = new InvoiceWebService(); var result = uygulamaYaniti.UygulamaYanitiGonder(SetValue(), UUID, CheckedSSL()); grdListFatura.DataSource = null; ButtonAktifPasif(false, false, false); ClearText(); grdListFatura.DataSource = result; lblBaslik.Text = "Uygulama Yanıtı Gönderildi."; MessageBox.Show("Uygulama yanıtı başarıyla gönderildi", "", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (UUIDNullException ex) { MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (CheckConnParamException ex) { MessageBox.Show(ex.Message, "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (FaultException<ProcessingFault> ex) { MessageBox.Show(ex.Detail.Message, "ProcessingFault", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (FaultException ex) { MessageBox.Show(ex.Message, "FaultException", MessageBoxButtons.OK, MessageBoxIcon.Error); lblBaslik.Text = ""; } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
/// <summary> /// Oluşturulan faturanın gönderimini gerçekleştirir /// </summary> /// <returns>e-Fatura Gönderme</returns> private void btnFaturaGonder_Click(object sender, EventArgs e) { ClearText(); try { if (!CheckConnParam()) throw new CheckConnParamException("TCKN/VKN, Gönderici Birim Etiketi, Posta Kutusu Etiketi, WS Kullanıcı Adı ve WS Şifre alanları boş bırakılamaz!"); grdListFatura.DataSource = null; lblBaslik.Text = "Fatura Gönderiliyor.."; ButtonAktifPasif(false, false, false); var fatura = new InvoiceWebService(); var result = fatura.FaturaGonder(SetValue(), CheckedSSL(), GetUBLInvoiceData()); grdListFatura.DataSource = result; lblBaslik.Text = "Fatura Gönderildi."; MessageBox.Show("e-Fatura başarıyla gönderildi", "", MessageBoxButtons.OK, MessageBoxIcon.Information); } catch (CheckConnParamException ex) { MessageBox.Show(ex.Message, "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (FaultException<ProcessingFault> ex) { MessageBox.Show(ex.Detail.Message, "ProcessingFault", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (FaultException ex) { MessageBox.Show(ex.Message, "FaultException", MessageBoxButtons.OK, MessageBoxIcon.Error); lblBaslik.Text = ""; } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
/// <summary> /// Grid üzerindeki tüm faturaların id bilgisini aldıktan sonra xml formatında masaüstünde oluşacak dosyaya kayıt eder. /// </summary> /// <returns>e-Fatura XML Kaydetme</returns> private void btnFaturaUblIndir_Click(object sender, EventArgs e) { { try { if (!CheckConnParam()) throw new CheckConnParamException("TCKN/VKN, Gönderici Birim Etiketi, Posta Kutusu Etiketi, WS Kullanıcı Adı ve WS Şifre alanları boş bırakılamaz!"); List<string> allUUID = new List<string>(); var fatura = new InvoiceWebService(); foreach (DataGridViewRow item in grdListFatura.Rows) { allUUID.Add(item.Cells[0].Value.ToString()); } if (allUUID.Count != 0) { string recordPath = Environment.GetFolderPath(Environment.SpecialFolder.DesktopDirectory) + @"\INVOICE-UBL"; if (File.Exists(recordPath) == false) Directory.CreateDirectory(recordPath); var splitUUIDArray = allUUID.Split(20); foreach (var UUIDList in splitUUIDArray) { var result = fatura.FaturaUBLIndir(SetValue(), UUIDList.ToArray(), CheckedSSL()); for (int i = 0; i < result.Count(); i++) { File.WriteAllBytes(Path.Combine(recordPath, UUIDList[i] + ".xml"), result[i]); } } MessageBox.Show("Fatura UBL İndirme Başarılı", "", MessageBoxButtons.OK, MessageBoxIcon.Information); }else { MessageBox.Show("İndirilecek Fatura UBL'i Bulunamadı.", "", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (UUIDNullException ex) { MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (CheckConnParamException ex) { MessageBox.Show(ex.Message, "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (FaultException<ProcessingFault> ex) { MessageBox.Show(ex.Detail.Message, "ProcessingFault", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (FaultException ex) { MessageBox.Show(ex.Message, "FaultException", MessageBoxButtons.OK, MessageBoxIcon.Error); lblBaslik.Text = ""; } catch (Exception ex) { MessageBox.Show(ex.ToString()); } } }
/// <summary> /// Gönderilen e-Fatura'nın durumunu sorgular /// </summary> /// <returns>e-Fatura Durum Sorgulama</returns> private void btnZarfDurumSorgula_Click(object sender, EventArgs e) { ButtonAktifPasif(false, false, false); try { if (!CheckConnParam()) throw new CheckConnParamException( "TCKN/VKN, Gönderici Birim Etiketi, Posta Kutusu Etiketi, WS Kullanıcı Adı ve WS Şifre alanları boş bırakılamaz!"); List<string> allUUID = new List<string>(); List<getEnvelopeStatusResponseType> resultList = new List<getEnvelopeStatusResponseType>(); var fatura = new InvoiceWebService(); foreach (DataGridViewRow item in grdListFatura.Rows) { allUUID.Add(item.Cells[0].Value.ToString()); } if (allUUID.Count != 0) { var splitUUIDArray = allUUID.Split(20); foreach (var UUIDList in splitUUIDArray) { var result = fatura.ZarfDurumSorgula(SetValue(), UUIDList.ToArray(), CheckedSSL()); foreach (var item in result) { resultList.Add(item); } } grdListFatura.DataSource = null; ClearText(); lblBaslik.Text = "Zarf Durumu Sorgulandı."; var dt = new DataTable(); dt.Columns.Add("ZarfUUID"); dt.Columns.Add("IssueDate"); dt.Columns.Add("DocumentTypeCode"); dt.Columns.Add("DocumentType"); dt.Columns.Add("ResponseCode"); dt.Columns.Add("Description"); foreach (var item in resultList) { var dRow = dt.NewRow(); dRow["ZarfUUID"] = item.UUID; dRow["IssueDate"] = item.IssueDate; dRow["DocumentTypeCode"] = item.DocumentTypeCode; dRow["DocumentType"] = item.DocumentType; dRow["ResponseCode"] = item.ResponseCode; dRow["Description"] = item.Description; dt.Rows.Add(dRow); } grdListFatura.DataSource = dt; }else { MessageBox.Show("Sorgulanacak Zarf Bulunamadı.", "", MessageBoxButtons.OK, MessageBoxIcon.Information); } } catch (CheckConnParamException ex) { MessageBox.Show(ex.Message, "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (UUIDNullException ex) { MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (FaultException<ProcessingFault> ex) { MessageBox.Show(ex.Detail.Message, "ProcessingFault", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (FaultException ex) { MessageBox.Show(ex.Message, "FaultException", MessageBoxButtons.OK, MessageBoxIcon.Error); lblBaslik.Text = ""; } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
/// <summary> /// TCKN/VKN parametresi ile sisteme kayıtlı e-fatura mükellefi sorgular /// </summary> /// <returns> e-Fatura Mükellef Listesi</returns> private void btnMukSorgu_Click(object sender, EventArgs e) { ButtonAktifPasif(false, false, false); try { if (!CheckConnParam()) throw new CheckConnParamException( "TCKN/VKN, Gönderici Birim Etiketi, Posta Kutusu Etiketi, WS Kullanıcı Adı ve WS Şifre alanları boş bırakılamaz!"); string FilterVknTckn = Interaction.InputBox("Lütfen sorgulamak istediğiniz mükellefin TCKN/VKN bilgisini giriniz.", "Mükellef Sorgulama"); double numeric; if (string.IsNullOrEmpty(FilterVknTckn)) throw new UUIDNullException("Lütfen bir VKN/TCKN giriniz!"); if (!double.TryParse(FilterVknTckn, out numeric)) throw new NumericVknTcknException("Lütfen VKN/TCKN için sayısal karakterler giriniz"); if (FilterVknTckn.Length == 10 || FilterVknTckn.Length == 11) { InvoiceWebService fatura = new InvoiceWebService(); var res = fatura.MukellefSorgula(SetValue(), FilterVknTckn, CheckedSSL()); grdListFatura.DataSource = null; ClearText(); lblBaslik.Text = "Mükellef Sorgulama"; grdListFatura.DataSource = res; grdListFatura.ClearSelection(); } else MessageBox.Show("Girilen VKN/TCKN 10 veya 11 haneli olmalıdır."); } catch (UUIDNullException ex) { MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (NumericVknTcknException ex) { MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (CheckConnParamException ex) { MessageBox.Show(ex.Message, "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (FaultException<ProcessingFault> ex) { MessageBox.Show(ex.Detail.Message, "ProcessingFault", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (FaultException ex) { MessageBox.Show(ex.Message, "FaultException", MessageBoxButtons.OK, MessageBoxIcon.Error); lblBaslik.Text = ""; } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }
/// <summary> /// TCKN/VKN parametresi ile sisteme kayıtlı e-fatura mükellefi sorgular /// </summary> /// <returns> e-Fatura Mükellef Listesi</returns> private void btnMukSorgu_Click(object sender, EventArgs e) { try { if (!CheckConnParam()) { throw new CheckConnParamException("TCKN/VKN, Gönderici Birim Etiketi, Posta Kutusu Etiketi, WS Kullanıcı Adı ve WS Şifre alanları boş bırakılamaz!"); } lblBaslik.Text = "Mükellef Sorgulanıyor"; ButtonAktifPasif(false, false, false); grdListFatura.DataSource = null; InvoiceWebService invoice = new InvoiceWebService(); var result = invoice.MukellefSorgula(SetValue(), CheckedSSL()).DocData; var zippedStream = new MemoryStream(result); using (var archive = new ZipArchive(zippedStream)) { foreach (var entry in archive.Entries) { var ms = new MemoryStream(); var zipStream = entry.Open(); zipStream.CopyTo(ms); XmlByte = ms.ToArray(); } } var fbDialog = new FolderBrowserDialog(); fbDialog.Description = "Lütfen kaydetmek istediğiniz dizini seçiniz..."; fbDialog.RootFolder = Environment.SpecialFolder.Desktop; if (fbDialog.ShowDialog() == DialogResult.OK) { //dialog ile kullanıcıya seçtirilen dizine irsaliye UUID si ile dosya ismini set ederek kayıt işlemi yapıyoruz. File.WriteAllBytes(fbDialog.SelectedPath + "\\" + "mükellefListesi" + ".xml", ZipUtility.UncompressFile(result)); MessageBox.Show("Mükellef Listesi İndirme Başarılı", "", MessageBoxButtons.OK, MessageBoxIcon.Information); } lblBaslik.Text = "Mükellef Sorgulama"; grdListFatura.DataSource = JoinTable(); } catch (UUIDNullException ex) { MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (NumericVknTcknException ex) { MessageBox.Show(ex.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (CheckConnParamException ex) { MessageBox.Show(ex.Message, "Uyarı", MessageBoxButtons.OK, MessageBoxIcon.Warning); } catch (FaultException <ProcessingFault> ex) { MessageBox.Show(ex.Detail.Message, "ProcessingFault", MessageBoxButtons.OK, MessageBoxIcon.Error); } catch (FaultException ex) { MessageBox.Show(ex.Message, "FaultException", MessageBoxButtons.OK, MessageBoxIcon.Error); lblBaslik.Text = ""; } catch (Exception ex) { MessageBox.Show(ex.ToString()); } }