Exemple #1
0
        private static void InitializeHelper()
        {
            var path = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);

            log.DebugFormat("Initializing EET helper, path: {0}", path);

            var eet = new EETHelper();

            eet.UrlAddress = ConfigurationManager.AppSettings["EETServiceUrlAddress"];
            eet.LoadCertificate(path + "\\" + ConfigurationManager.AppSettings["CertificateFileName"], ConfigurationManager.AppSettings["CertificatePassword"]);

            eet.Hlavicka.uuid_zpravy      = eet.GenerateUUID();
            eet.Hlavicka.dat_odesl        = eet.FormatDate(DateTime.Now);
            eet.Hlavicka.prvni_zaslani    = true;
            eet.Hlavicka.overeniSpecified = true;
            eet.Hlavicka.overeni          = false;

            eet.Data.dic_popl  = ConfigurationManager.AppSettings["DIC"];
            eet.Data.id_provoz = int.Parse(ConfigurationManager.AppSettings["StoreId"]);
            eet.Data.id_pokl   = ConfigurationManager.AppSettings["RegisterId"];
            eet.Data.rezim     = 0;

            helper = eet;

            log.Debug("EET helper initialized");
        }
Exemple #2
0
        private void btnSend_Click(object sender, EventArgs e)
        {
            if (!this.validujVsechnyZadaneUdaje())
            {
                return;
            }

            Cursor.Current = Cursors.WaitCursor;

            // Clear controls
            this.clearControls();
            this.Refresh();

            // Debugging proxy setting e.g. Telerik Fiddler
            eet.Proxy = this.cbxProxy.Checked && !String.IsNullOrEmpty(this.txtProxy.Text) ? this.txtProxy.Text : null;

            // EET globalni nastaveni
            eet.UrlAddress = ConfigurationManager.AppSettings["EETServiceUrlAddress"];
            eet.Timeout    = this.cbxTimeout.Checked && !String.IsNullOrEmpty(this.txtTimeout.Text) ? int.Parse(this.txtTimeout.Text) : 0;
            eet.LoadCertificate(Application.StartupPath + "\\" + this.txtCertifikat.Text, this.txtHeslo.Text);

            // EET Hlavicka
            eet.Hlavicka.uuid_zpravy = eet.GenerateUUID();
            // eet.Hlavicka.uuid_zpravy = @"a272e701-d9bc-405e-b2cd-b9f47ce7dafe";
            eet.Hlavicka.dat_odesl        = eet.FormatDate(DateTime.Now);
            eet.Hlavicka.prvni_zaslani    = true;
            eet.Hlavicka.overeniSpecified = true;
            eet.Hlavicka.overeni          = this.cbxTest.Checked;

            // EET Data
            // eet.Data.dic_popl = "CZ1212121218";
            // eet.Data.dic_popl = "CZ68710712";
            // eet.Data.dic_popl = "CZ2415961224";
            eet.Data.dic_popl = this.txtDIC.Text;
            // eet.Data.id_provoz = 356;
            eet.Data.id_provoz = int.Parse(this.txtProvozovna.Text);
            // eet.Data.id_pokl = "POKLADNA_1";
            eet.Data.id_pokl = this.txtPokladna.Text;
            eet.Data.rezim   = 0;
            // eet.Data.porad_cis = "PD2016/8-22";
            eet.Data.porad_cis = this.txtUctenka.Text;
            // eet.Data.dat_trzby = eet.FormatDate(DateTime.Parse("2016-08-18 15:23:17"));
            // eet.Data.dat_trzby = eet.FormatDate(DateTime.Parse("2016-07-18 15:23:17"));
            eet.Data.dat_trzby = eet.FormatDate(DateTime.Parse(this.txtDatum.Text));
            // eet.Data.celk_trzba = eet.FormatMoney(71953.50m);
            eet.Data.celk_trzba = eet.FormatMoney(decimal.Parse(this.txtTrzba.Text));
            // Zakladni sazba DPH
            if (!String.IsNullOrEmpty(this.txtZakladZakladni.Text))
            {
                eet.Data.zakl_dan1Specified = true;
                eet.Data.zakl_dan1          = eet.FormatMoney(decimal.Parse(this.txtZakladZakladni.Text));
            }
            else
            {
                eet.Data.zakl_dan1Specified = false;
            }
            if (!String.IsNullOrEmpty(this.txtDPHZakladni.Text))
            {
                eet.Data.dan1Specified = true;
                eet.Data.dan1          = eet.FormatMoney(decimal.Parse(this.txtDPHZakladni.Text));
            }
            else
            {
                eet.Data.dan1Specified = false;
            }
            // Snizena sazba DPH
            if (!String.IsNullOrEmpty(this.txtZakladSnizena.Text))
            {
                eet.Data.zakl_dan2Specified = true;
                eet.Data.zakl_dan2          = eet.FormatMoney(decimal.Parse(this.txtZakladSnizena.Text));
            }
            else
            {
                eet.Data.zakl_dan2Specified = false;
            }
            if (!String.IsNullOrEmpty(this.txtDPHSnizena.Text))
            {
                eet.Data.dan2Specified = true;
                eet.Data.dan2          = eet.FormatMoney(decimal.Parse(this.txtDPHSnizena.Text));
            }
            else
            {
                eet.Data.dan2Specified = false;
            }

            // EET vypocet PKP a BKP kontrolnich kodu - lze je pak pripadne pouzit pro offline
            eet.VypoctiPKPaBKP();
            if (eet.PKP != null && eet.BKP != null)
            {
                this.rtbPKP.Text = eet.PKP;
                this.rtbBKP.Text = eet.BKP;
            }

            // EET vlastni odeslani trzby
            bool result = eet.OdeslaniTrzby();

            // Report success
            if (result)
            {
                // Kyzeny FIK
                this.txtFIK.Text = eet.Potvrzeni.fik;

                // Report warnings
                List <EETLibrary.EET.OdpovedVarovaniType> warnList = eet.Varovani;
                if (warnList.Count > 0)
                {
                    this.tabError.TabPages[1].Text = this.tabError.TabPages[1].Tag.ToString().Split('|')[1];
                    foreach (EETLibrary.EET.OdpovedVarovaniType warn in warnList)
                    {
                        this.rtbWarning.Text += eet.ConcatText(warn.Text) + Environment.NewLine;
                    }
                }

                //  EET validace odpovedi
                List <string> errors;
                result = eet.ValidujOdpoved(out errors);

                // Report validation errors
                if (!result)
                {
                    this.tabError.TabPages[0].Text = this.tabError.TabPages[0].Tag.ToString().Split('|')[1];
                    this.rtbError.Text            += Environment.NewLine + "Chyby při validaci odpovědi:" + Environment.NewLine;
                    foreach (string err in errors)
                    {
                        this.rtbError.Text += err + Environment.NewLine;
                    }
                }
            }
            // Report error
            else
            {
                this.tabError.TabPages[0].Text = this.tabError.TabPages[0].Tag.ToString().Split('|')[1];
                this.rtbError.Text            += eet.ConcatText(eet.Chyba.Text) + Environment.NewLine;
            }

            // Report komunikacnich XML zprav
            this.rtbRequest.Text  = eet.XMLRequest;
            this.rtbResponse.Text = eet.XMLResponse;

            Cursor.Current = Cursors.Default;
        }