示例#1
0
        private void frmBarCode_Load(object sender, EventArgs e)
        {
            try
            {
                DataTable dt = classSQL.select("SELECT traje_do,popust,aktivnost FROM promocija1", "promocija1").Tables[0];

                double UKpopust = ukupno * Convert.ToDouble(dt.Rows[0]["popust"].ToString()) / 100;

                DateTime RunsUntil;
                DateTime dvo = DateTime.Now;
                RunsUntil = dvo.AddDays(Convert.ToInt16(dt.Rows[0]["traje_do"].ToString()));;

                Image  myimg = Code128Rendering.MakeBarcodeImage("000" + broj_dokumenta, int.Parse("3"), true);
                string path  = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\barcode.png";
                ResizeBarCode(myimg, 100).Save(path);

                string txt = "<html><body style=\"font-family:Verdana, Geneva, sans-serif\"><div>Naša zahvala za Vašu kupovinu:</div><div>" + UKpopust.ToString("#0.00") + " kn popusta.</div><br/><br/>";
                txt += "<img src=\"" + Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\barcode.png\" width=\"300\" height=\"100\" /><br/><br/><br/>";

                txt += "<div>Popust odgovara " + dt.Rows[0]["popust"].ToString() + "% vrijednosti kupovine koju dobivate kod iduće kupovine.</div>" +
                       "<div>Trajanje kupona vrijedi do " + RunsUntil.ToString() + "</div>" +
                       "<div>Gotovinska isplata nije moguća. \r\nIznos sljedeće kupovine mora biti jednak ili veći od vrijednosti bona.</div></html></body>";

                webBrowser1.DocumentText = txt;
            }
            catch (Exception ex)
            {
                MessageBox.Show(this, ex.Message, this.Text);
            }
        }
示例#2
0
        private static void PrintReceiptFooter(double subTotal, double tax, double discount, double ukupno, string barcode, string[] fiskalizacija, double PNP)
        {
            string offSetString = new string(' ', 0);

            PrintTextLine(new string('=', RecLineChars));
            if (Class.PosPrint.ispisUkupnoIspodStavkiMaliPrinter && DTpostavke.Rows[0]["direct_print"].ToString() == "0")
            {
                PrintTextLine("{[5AR]}");
                PrintTextLine(new string('=', RecLineChars));
            }

            if (ukupno_rabat > 0)
            {
                PrintTextLine("UKUPNO POPUST: " + Math.Round(ukupno_rabat, 3).ToString("#0.00") + " kn");
            }

            if (DTpostavke.Rows[0]["sustav_pdv"].ToString() == "1")
            {
                for (int i = 0; i < DTpdv.Rows.Count; i++)
                {
                    //PrintTextLine("PDV " + DTpdv.Rows[i]["stopa"].ToString() + "%: " + Convert.ToDecimal(DTpdv.Rows[i]["iznos"].ToString()).ToString("#0.00") + " OSNOVICA: " + Convert.ToDecimal(DTpdv.Rows[i]["osnovica"].ToString()).ToString("#0.00"));
                    PrintTextLine("PDV " + DTpdv.Rows[i]["stopa"].ToString() + "%: " + Convert.ToDecimal(DTpdv.Rows[i]["iznos"].ToString()).ToString("#0.00") + " OSNOVICA: " + subTotal.ToString("#0.00"));
                }
            }
            else
            {
                PrintTextLine("PDV nije uračunat u cijenu prema");
                if (Class.PodaciTvrtka.oibTvrtke == "36486943127")
                {
                    tekst += Environment.NewLine;
                }

                PrintTextLine("čl.90. st.2. zakona o PDV-u.");
            }

            PrintTextLine(offSetString + String.Format("PNP:       {0}", PNP.ToString("#0.00")));

            PrintTextLine(offSetString + new string('-', RecLineChars));

            _2    = tekst;
            tekst = "";

            PrintTextLine(offSetString + string.Format("UKUPNO: {0} KN", ukupno.ToString("#0.00")));
            _3    = tekst;
            tekst = "";

            _4 = "";
            if (dt.Rows.Count > 0)
            {
                if (dt.Rows[0]["aktivnost"].ToString() == "DA" && barcode != "")
                {
                    tekst += offSetString + new string('-', (RecLineChars)) + Environment.NewLine;
                    tekst += "Naša zahvala za Vašu kupovinu." + Environment.NewLine;

                    double UKpopust = ukupno * Convert.ToDouble(dt.Rows[0]["popust"].ToString()) / 100;

                    tekst += UKpopust.ToString("#0.00") + " kn popusta." + Environment.NewLine + Environment.NewLine;
                    _4     = tekst;
                    tekst  = "";

                    DateTime RunsUntil;
                    DateTime dvo = DateTime.Now;
                    RunsUntil = dvo.AddDays(Convert.ToInt16(dt.Rows[0]["traje_do"].ToString()));

                    tekst  = "Popust odgovara " + dt.Rows[0]["popust"].ToString() + "% vrijednosti kupovine \r\nkoju dobivate kod iduće kupovine. \r\nTrajanje kupona do " + RunsUntil.ToString() + Environment.NewLine;
                    tekst += "Gotovinska isplata nije moguća." + Environment.NewLine + "Iznos sljedeće kupovine mora biti jednak \r\nili veći od vrijednosti bona." + Environment.NewLine;
                }
                else
                {
                    tekst = "";
                }
            }
            else
            {
                tekst = "";
            }

            if (napomena != "")
            {
                tekst += new string('-', (RecLineChars)) + Environment.NewLine;

                nap    = "";
                tekst += PrintTextRecursiveString(napomena + Environment.NewLine);

                _4 += tekst;

                tekst = "";
            }

            string[] lines = DTsetting.Rows[0]["bottom_text"].ToString().Split('\n');
            tekst += Environment.NewLine + Environment.NewLine;

            foreach (string line in lines)
            {
                int    brojText     = line.Trim().Length;
                int    brojOstatak  = (RecLineChars - brojText) / 2;
                string praznaMjesta = "";
                for (int _br = 0; _br < brojOstatak; _br++)
                {
                    praznaMjesta += " ";
                }
                tekst += praznaMjesta + line.Trim() + "\r\n";
            }

            for (int i = 0; i < Convert.ToInt16(DTsetting.Rows[0]["linija_praznih_bottom"].ToString()); i++)
            {
                tekst += Environment.NewLine;
            }
            _5    = tekst;
            tekst = "";
        }
        private static void PrintReceiptFooter(double subTotal, double tax, double discount, double ukupno, string barcode, string[] fiskalizacija, string placanje)
        {
            //string _placanje = "";

            //if (placanje == "G")
            //{
            //    _placanje = "gotovina";
            //}
            //else if (placanje == "K")
            //{
            //    _placanje = "kartica";
            //}
            //else
            //{
            //    _placanje = "ostalo";
            //}

            string offSetString = new string(' ', 0);

            PrintTextLine(new string('-', (RecLineChars / 3) * 2));

            string  za_povrat         = "Plačeno: ";
            decimal ukupno_gotovina   = Convert.ToDecimal(DTrac.Rows[0]["ukupno_gotovina"].ToString());
            decimal ukupno_kartice    = Convert.ToDecimal(DTrac.Rows[0]["ukupno_kartice"].ToString());
            decimal dobiveno_gotovina = Convert.ToDecimal(DTrac.Rows[0]["dobiveno_gotovina"].ToString());

            if (ukupno_gotovina > 0 && ukupno_kartice == 0)
            {
                za_povrat += "Gotovina: " + ukupno_gotovina.ToString("#0.00") + " ";
            }
            else if (ukupno_kartice > 0 && ukupno_gotovina == 0)
            {
                za_povrat += "Kartice: " + ukupno_kartice.ToString("#0.00");
            }
            else
            {
                za_povrat += "Ostalo";
            }

            PrintTextLine(za_povrat);

            if (dobiveno_gotovina > 0)
            {
                za_povrat = "Za vratiti :" + Convert.ToDecimal(dobiveno_gotovina - ukupno_gotovina - ukupno_kartice).ToString("#0.00") + "\r\n";
                PrintTextLine(za_povrat);
            }

            PrintTextLine(offSetString + String.Format("OSNOVICA:  {0}", subTotal.ToString("#0.00")));
            PrintTextLine(offSetString + String.Format("PDV:       {0}", tax.ToString("#0.00")));
            PrintTextLine(offSetString + String.Format("POPUST:    {0}", discount.ToString("#0.00")));

            if (DTfis.Rows[0]["aktivna"].ToString() == "1")
            {
                tekst += "JIR:" + fiskalizacija[0] + "\r\n" + "ZKI:" + fiskalizacija[1] + "\r\n";
            }

            PrintTextLine(offSetString + new string('-', RecLineChars));

            rStavke = tekst;
            tekst   = "";

            PrintTextLine(offSetString + String.Format("UKUPNO:    {0}", ukupno.ToString("#0.00")));

            rUkupno = tekst;
            tekst   = "";

            DataTable dt = classSQL.select("SELECT traje_do,popust,aktivnost FROM promocija1", "promocija1").Tables[0];

            if (dt.Rows[0]["aktivnost"].ToString() == "DA" && barcode != "")
            {
                tekst += offSetString + new string('-', (RecLineChars)) + Environment.NewLine;
                tekst += "Naša zahvala za Vašu kupovinu." + Environment.NewLine;

                double UKpopust = ukupno * Convert.ToDouble(dt.Rows[0]["popust"].ToString()) / 100;

                tekst   += UKpopust.ToString("#0.00") + " kn popusta." + Environment.NewLine + Environment.NewLine;
                rZahvala = tekst;
                tekst    = "";

                DateTime RunsUntil;
                DateTime dvo = DateTime.Now;
                RunsUntil = dvo.AddDays(Convert.ToInt16(dt.Rows[0]["traje_do"].ToString()));
                ;

                tekst  = Environment.NewLine + "Popust odgovara " + dt.Rows[0]["popust"].ToString() + "% vrijednosti kupovine \r\nkoju dobivate kod iduće kupovine. \r\nTrajanje kupona do " + RunsUntil.ToString() + Environment.NewLine;
                tekst += "Gotovinska isplata nije moguća." + Environment.NewLine + "Iznos sljedeće kupovine mora biti jednak \r\nili veći od vrijednosti bona." + Environment.NewLine;
            }
            else
            {
                tekst = "";
            }

            tekst += Environment.NewLine + Environment.NewLine + DTsetting.Rows[0]["bottom_text"].ToString() + Environment.NewLine;

            for (int i = 0; i < Convert.ToInt16(DTsetting.Rows[0]["linija_praznih_bottom"].ToString()); i++)
            {
                tekst += Environment.NewLine;
            }
            rBottom = tekst;
            tekst   = "";
        }
示例#4
0
        private static void PrintReceiptFooter(double subTotal, double tax, double discount, double ukupno, string barcode, string[] fiskalizacija, double PNP)
        {
            string offSetString = new string(' ', 0);

            PrintTextLine(new string('=', RecLineChars));
            if (Class.PosPrint.ispisUkupnoIspodStavkiMaliPrinter && DTpostavke.Rows[0]["direct_print"].ToString() == "0")
            {
                PrintTextLine("{[5AR]}");
                PrintTextLine(new string('=', RecLineChars));
            }

            //PrintTextLine(offSetString + String.Format("OSNOVICA:  {0}", subTotal.ToString("#0.00")));

            if (ukupno_rabat > 0)
            {
                PrintTextLine("UKUPNO POPUST: " + Math.Round(ukupno_rabat, 3).ToString("#0.00") + " kn");
            }

            decimal popust_cijeli_racun = 0;

            decimal.TryParse(DTrac.Rows[0]["popust_cijeli_racun"].ToString(), out popust_cijeli_racun);
            if (popust_cijeli_racun > 0)
            {
                decimal popust_iznos = 0;
                popust_iznos = ((decimal)ukupno * (1 + (((100 * popust_cijeli_racun) / (100 - popust_cijeli_racun)) / 100))) - (decimal)ukupno;
                PrintTextLine("UKUPNO POPUSTA NA RAČUN: " + popust_cijeli_racun + "%");
                PrintTextLine("POPUST U KN: " + Math.Round(popust_iznos, 3).ToString("#0.00") + " kn");
            }

            //if (karticaIznosZaOduzeti > 0)
            //{
            //    PrintTextLine("UKUPNO POPUSTA NA RAČUN U KN: " + karticaIznosZaOduzeti + " kn");
            //}

            if (DTpostavke.Rows[0]["sustav_pdv"].ToString() == "1")
            {
                for (int i = 0; i < DTpdv.Rows.Count; i++)
                {
                    PrintTextLine("PDV " + DTpdv.Rows[i]["stopa"].ToString() + "%: " + Convert.ToDecimal(DTpdv.Rows[i]["iznos"].ToString()).ToString("#0.00") + " OSNOVICA: " + Convert.ToDecimal(DTpdv.Rows[i]["osnovica"].ToString()).ToString("#0.00"));
                }
            }
            else
            {
                PrintTextLine("PDV nije uračunat u cijenu prema");
                if (Class.PodaciTvrtka.oibTvrtke == "36486943127")
                {
                    tekst += Environment.NewLine;
                }

                PrintTextLine("čl.90. st.2. zakona o PDV-u.");
            }

            PrintTextLine(offSetString + String.Format("PNP:       {0}", PNP.ToString("#0.00")));
            //PrintTextLine(offSetString + String.Format("POPUST:    {0}", discount.ToString("#0.00")));

            try
            {
                if (Convert.ToDouble(DTrac.Rows[0]["dobiveno_gotovina"].ToString()) > 0)
                {
                    tekst += "DOBIVENO NOVČANICE: " + Convert.ToDouble(DTrac.Rows[0]["dobiveno_gotovina"].ToString()).ToString("#0.00") + " kn\n";
                }
                else if (DTrac.Rows[0]["nacin_placanja"].ToString() == "K")
                {
                    tekst += "PLAĆENO KARTICOM.\r\n";
                }
                else if (DTrac.Rows[0]["nacin_placanja"].ToString() == "O")
                {
                    tekst += "OSTALI NAČINI PLAČANJA.\r\n";
                }
                else if (DTrac.Rows[0]["nacin_placanja"].ToString() == "T")
                {
                    tekst += "PLAĆANJE VIRMAN.\r\n\r\nUPLATA NA:\r\n";
                    if (DT.Rows[0]["zr"].ToString() != "")
                    {
                        tekst += "ŽR: " + DT.Rows[0]["zr"].ToString() + "\r\n";
                    }
                    if (DT.Rows[0]["zr"].ToString() != "")
                    {
                        tekst += "IBAN: " + DT.Rows[0]["iban"].ToString() + "\r\n";
                    }
                    tekst += "MODEL BR: " + BrojRacunaa + "-" + Convert.ToDateTime(DTrac.Rows[0]["datum_racuna"].ToString()).Year + "\r\n";

                    tekst += classOstalo.SvavkaZaPrinter(DT.Rows[0]["napomenaTransa"].ToString(), RecLineChars) + "\r\n";
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString());
            }

            PrintTextLine(offSetString + new string('-', RecLineChars));

            _2    = tekst;
            tekst = "";

            if (DTfis.Rows[0]["aktivna"].ToString() == "1")
            {
                fiskal_tekst = "";
                kockice      = "";

                fiskal_tekst += "JIR:" + fiskalizacija[0] + "\r\n" + "ZKI:" + fiskalizacija[1] + "\r\n";
                classSQL.update("UPDATE racuni SET jir='" + fiskalizacija[0] + "', zik='" + fiskalizacija[1] + "' WHERE broj_racuna='" + BrojRacunaa + "' AND racuni.id_ducan='" + Util.Korisno.idDucan + "' AND racuni.id_kasa='" + Util.Korisno.idKasa + "'");

                for (int j = 0; j < RecLineChars; j++)
                {
                    kockice += "=";
                }
                kockice += "\r\n";
            }

            PrintTextLine(offSetString + string.Format("UKUPNO: {0} KN", ukupno.ToString("#0.00")));
            _3    = tekst;
            tekst = "";

            //Embed 'center' alignment tag on front of string below to have it printed in the center of the receipt.
            //PrintTextLine(printer, System.Text.ASCIIEncoding.ASCII.GetString(new byte[] { 27, (byte)'|', (byte)'c', (byte)'A' }) + footerText);

            _4 = "";
            if (dt.Rows.Count > 0)
            {
                if (dt.Rows[0]["aktivnost"].ToString() == "DA" && barcode != "")
                {
                    tekst += offSetString + new string('-', (RecLineChars)) + Environment.NewLine;
                    tekst += "Naša zahvala za Vašu kupovinu." + Environment.NewLine;

                    double UKpopust = ukupno * Convert.ToDouble(dt.Rows[0]["popust"].ToString()) / 100;

                    tekst += UKpopust.ToString("#0.00") + " kn popusta." + Environment.NewLine + Environment.NewLine;
                    _4     = tekst;
                    tekst  = "";

                    DateTime RunsUntil;
                    DateTime dvo = DateTime.Now;
                    RunsUntil = dvo.AddDays(Convert.ToInt16(dt.Rows[0]["traje_do"].ToString()));

                    tekst  = "Popust odgovara " + dt.Rows[0]["popust"].ToString() + "% vrijednosti kupovine \r\nkoju dobivate kod iduće kupovine. \r\nTrajanje kupona do " + RunsUntil.ToString() + Environment.NewLine;
                    tekst += "Gotovinska isplata nije moguća." + Environment.NewLine + "Iznos sljedeće kupovine mora biti jednak \r\nili veći od vrijednosti bona." + Environment.NewLine;
                }
                else
                {
                    tekst = "";
                }
            }
            else
            {
                tekst = "";
            }

            if (napomena != "")
            {
                tekst += new string('-', (RecLineChars)) + Environment.NewLine;

                nap    = "";
                tekst += PrintTextRecursiveString(napomena + Environment.NewLine);

                _4 += tekst;

                tekst = "";
            }

            //tekst +=Environment.NewLine + Environment.NewLine + DTsetting.Rows[0]["bottom_text"].ToString() + Environment.NewLine;
            string[] lines = DTsetting.Rows[0]["bottom_text"].ToString().Split('\n');
            tekst += Environment.NewLine + Environment.NewLine;

            foreach (string line in lines)
            {
                int    brojText     = line.Trim().Length;
                int    brojOstatak  = (RecLineChars - brojText) / 2;
                string praznaMjesta = "";
                for (int _br = 0; _br < brojOstatak; _br++)
                {
                    praznaMjesta += " ";
                }
                tekst += praznaMjesta + line.Trim() + "\r\n";
            }

            for (int i = 0; i < Convert.ToInt16(DTsetting.Rows[0]["linija_praznih_bottom"].ToString()); i++)
            {
                tekst += Environment.NewLine;
            }
            _5 = tekst;

            // Code-iT verzija programa bottom text
            string codeIt = $"Code-iT verzija programa: {Properties.Settings.Default.verzija_programa.ToString()}";

            _6 += Environment.NewLine;
            PrintTextLine(new string('-', RecLineChars));
            string endline = "";

            for (int i = 0; i < RecLineChars; i++)
            {
                endline += "-";
            }
            string center = "";

            for (int i = 0; i < (RecLineChars - codeIt.Length) / 2; i++)
            {
                center += " ";
            }
            _6 += endline + "\r\n" + center + codeIt;

            tekst = "";
        }
示例#5
0
        private static void PrintReceiptFooter(double subTotal, double tax, double discount, double ukupno, string barcode, string[] fiskalizacija, double PNP)
        {
            string offSetString = new string(' ', 0);

            PrintTextLine(new string('=', RecLineChars));

            try
            {
                if (ukupno_rabat > 0)
                {
                    PrintTextLine("UKUPNO POPUST: " + Math.Round(ukupno_rabat, 3).ToString("#0.00") + " kn");
                }

                if (DTpostavke.Rows[0]["sustav_pdv"].ToString() == "1")
                {
                    for (int i = 0; i < DTpdv.Rows.Count; i++)
                    {
                        PrintTextLine("PDV " + DTpdv.Rows[i]["stopa"].ToString() + "%: " + Convert.ToDecimal(DTpdv.Rows[i]["iznos"].ToString()).ToString("#0.00") + "     OSNOVICA: " + Convert.ToDecimal(DTpdv.Rows[i]["osnovica"].ToString()).ToString("#0.00"));
                    }
                }
                else
                {
                    PrintTextLine("PDV NIJE URAČUNAT U CIJENU!");
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }

            PrintTextLine(offSetString + String.Format("PNP:       {0}", PNP.ToString("#0.00")));

            try
            {
                if (Convert.ToDouble(DTrac.Rows[0]["dobiveno_gotovina"].ToString()) > 0)
                {
                    tekst += "GOTOVINA NOVČANICE: " + Convert.ToDouble(DTrac.Rows[0]["dobiveno_gotovina"].ToString()).ToString("#0.00") + " kn\n";
                }
                else if (DTrac.Rows[0]["nacin_placanja"].ToString() == "K")
                {
                    tekst += "PLAĆENO KARTICOM.\r\n";
                }
                else if (DTrac.Rows[0]["nacin_placanja"].ToString() == "O")
                {
                    tekst += "OSTALI NAČINI PLAČANJA.\r\n";
                }
                else if (DTrac.Rows[0]["nacin_placanja"].ToString() == "T")
                {
                    tekst += "PLAĆANJE VIRMAN.\r\n\r\nUPLATA NA:\r\n";
                    if (DT.Rows[0]["zr"].ToString() != "")
                    {
                        tekst += "ŽR: " + DT.Rows[0]["zr"].ToString() + "\r\n";
                    }
                    if (DT.Rows[0]["zr"].ToString() != "")
                    {
                        tekst += "IBAN: " + DT.Rows[0]["iban"].ToString() + "\r\n";
                    }
                    tekst += "MODEL BR: " + BrojRacunaa + "-" + Convert.ToDateTime(DTrac.Rows[0]["datum_racuna"].ToString()).Year + "\r\n";
                }
            }
            catch (Exception e)
            {
                MessageBox.Show(e.ToString());
            }

            PrintTextLine(offSetString + new string('-', RecLineChars));

            _2   += tekst;
            tekst = "";

            PrintTextLine(offSetString + String.Format("UKUPNO:    {0}", ukupno.ToString("#0.00")));
            _2   += tekst;
            tekst = "";

            _2 += "JIR: " + "\r\n" + fiskalizacija[0] + "\r\n";
            _2 += "ZKI: " + "\r\n" + fiskalizacija[1] + "\r\n";

            //Embed 'center' alignment tag on front of string below to have it printed in the center of the receipt.
            //PrintTextLine(printer, System.Text.ASCIIEncoding.ASCII.GetString(new byte[] { 27, (byte)'|', (byte)'c', (byte)'A' }) + footerText);

            if (dt.Rows.Count > 0)
            {
                if (dt.Rows[0]["aktivnost"].ToString() == "DA" && barcode != "")
                {
                    tekst += offSetString + new string('-', (RecLineChars)) + Environment.NewLine;
                    tekst += "Naša zahvala za Vašu kupovinu." + Environment.NewLine;

                    double UKpopust = ukupno * Convert.ToDouble(dt.Rows[0]["popust"].ToString()) / 100;

                    tekst += UKpopust.ToString("#0.00") + " kn popusta." + Environment.NewLine + Environment.NewLine;
                    _4    += tekst;
                    tekst  = "";

                    DateTime RunsUntil;
                    DateTime dvo = DateTime.Now;
                    RunsUntil = dvo.AddDays(Convert.ToInt16(dt.Rows[0]["traje_do"].ToString()));

                    tekst  = "Popust odgovara " + dt.Rows[0]["popust"].ToString() + "% vrijednosti kupovine \r\nkoju dobivate kod iduće kupovine. \r\nTrajanje kupona do " + RunsUntil.ToString() + Environment.NewLine;
                    tekst += "Gotovinska isplata nije moguća." + Environment.NewLine + "Iznos sljedeće kupovine mora biti jednak \r\nili veći od vrijednosti bona." + Environment.NewLine;
                }
                else
                {
                    tekst = "";
                }
            }
            else
            {
                tekst = "";
            }
        }