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




        }
Exemplo n.º 8
0
        /// <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());
            }
        }