public string KB_97(string inTekst)    //' vraca kontrolni broj po modulu 97
        {
            decimal      varInput_Value = 0;
            decimal      varResult      = 0;
            decimal      inModel        = 97;
            clsOperacije co             = new clsOperacije();

            if (inTekst.Trim() == "")
            {
                return("");
            }

            if (co.IsNumeric(inTekst) == false)
            {
                return("");
            }

            varInput_Value = Convert.ToInt64(inTekst) * 100;
            varResult      = Convert.ToDecimal((varInput_Value / inModel) - Math.Truncate(varInput_Value / inModel));
            varResult      = inModel + 1 - varResult * inModel;
            //ivana 10.6.2021.
            if (varResult < 10)
            {
                return("0" + Convert.ToString(Convert.ToInt32(varResult)));
            }
            else
            {
                return(Convert.ToString(Convert.ToInt32(varResult)));
            }
        }
        public void OsveziSalda(ref DataTable tg, string KojePolje, string KojaFormula)
        {
            decimal        KojaVrednost = 0;
            string         prviclan     = "";
            string         drugiclan    = "";
            DataBaseBroker db           = new DataBaseBroker();
            //DataTable t = new DataTable();
            clsOperacije co = new clsOperacije();

            //t = tg;
            for (int i = 0; i < tg.Rows.Count; i++)
            {
                if (KojaFormula.Contains("-") == true)
                {
                    prviclan      = KojaFormula.Substring(0, KojaFormula.IndexOf("-"));
                    drugiclan     = KojaFormula.Substring(KojaFormula.IndexOf("-") + 1);
                    KojaVrednost += Convert.ToDecimal(tg.Rows[i][prviclan].ToString()) - Convert.ToDecimal(tg.Rows[i][drugiclan].ToString());
                }
                else
                {
                    if (KojaFormula.Contains("/") == true)
                    {
                        prviclan  = KojaFormula.Substring(0, KojaFormula.IndexOf("/"));
                        drugiclan = KojaFormula.Substring(KojaFormula.IndexOf("/") + 1);
                        if (Convert.ToDouble(tg.Rows[i][drugiclan].ToString()) > 0.01)
                        {
                            KojaVrednost += Convert.ToDecimal(tg.Rows[i][prviclan].ToString()) / Convert.ToDecimal(tg.Rows[i][drugiclan].ToString());
                        }
                    }
                    else
                    {
                        if (KojaFormula.Contains("+") == true)
                        {
                            prviclan  = KojaFormula.Substring(0, KojaFormula.IndexOf("+"));
                            drugiclan = KojaFormula.Substring(KojaFormula.IndexOf("+") + 1);
                            if (co.IsNumeric(drugiclan.Trim()) == true)
                            {
                                KojaVrednost += Convert.ToDecimal(tg.Rows[i][prviclan].ToString()) + Convert.ToDecimal(drugiclan);
                            }
                            else
                            {
                                KojaVrednost += Convert.ToDecimal(tg.Rows[i][prviclan].ToString()) + Convert.ToDecimal(tg.Rows[i][drugiclan].ToString());
                            }
                        }
                        else
                        {
                            KojaVrednost = 0;
                        }
                    }
                    //else
                    //    KojaVrednost += KojaVrednost + Convert.ToDecimal(t.Rows[i][KojaFormula].ToString());
                }
                tg.Rows[i][KojePolje] = Convert.ToString(KojaVrednost);
            }
            //tg = t;
        }
        public int UpisiDokument(ref string BrojDok, string Opis, int IdDokumentaStablo, string Datum)
        {
            clsOperacije    co          = new clsOperacije();
            string          strTabela   = "Dokumenta";
            string          strParams   = "";
            List <string[]> lista       = new List <string[]>();
            string          dokType     = "";
            string          str         = "";
            string          rezultat    = "";
            string          Proknjizeno = "";

            int newID = 0;

            forma = Program.Parent.ActiveMdiChild;
            string NazivDokumenta = "";
            int    ParRb          = 0;
            string knjizise       = "";

            BrojDok = KreirajBrDokNovi(ref ParRb, Datum, IdDokumentaStablo, "UNOS");
            clsMesecPoreza mp          = new clsMesecPoreza();
            int            MesecPoreza = mp.ObradiMesecPoreza(Datum);

            sql  = "Select s.KnjiziSe,s.Naziv from SifarnikDokumenta as s,DokumentaStablo as d  where d.ID_DokumentaStablo=" + IdDokumentaStablo;
            sql += " AND s.naziv =d.Naziv";
            t    = db.ReturnDataTable(sql);
            if (t.Rows.Count > 0)
            {
                knjizise       = t.Rows[0]["KnjiziSe"].ToString();
                NazivDokumenta = t.Rows[0]["Naziv"].ToString();
                if (knjizise.ToUpper().Contains("N") == true)
                {
                    Proknjizeno = "NeKnjiziSe";
                }
                else
                {
                    Proknjizeno = "NijeProknjizeno";
                }
            }
            dokType    = "D";
            strParams  = "";
            strParams  = "@param1=" + ParRb.ToString() + "`";
            strParams += "@param2=" + Program.idkadar.ToString() + "`";
            strParams += "@param3=" + IdDokumentaStablo.ToString() + "`";
            strParams += "@param4=" + BrojDok + "`";
            strParams += "@param5=" + Datum + "`";
            strParams += "@param6=" + Opis + "`";
            strParams += "@param7=" + Program.idOrgDeo.ToString() + "`";
            strParams += "@param8=" + Proknjizeno + "`";
            strParams += "@param9=" + Convert.ToString(MesecPoreza) + "`";
            strParams += "@param10=" + Program.idkadar.ToString() + "`";
            // Jovana 02.11.21 dodat UUser
            str  = "Insert Into Dokumenta ( [RedniBroj], [ID_KadrovskaEvidencija],";
            str += " [ID_DokumentaStablo], [BrojDokumenta], [Datum], [Opis],";
            str += " [ID_OrganizacionaStrukturaView],[Proknjizeno],[MesecPoreza],[UUser])";
            str += " values(@param1,@param2,@param3,@param4,@param5,@param6,@param7,@param8,@param9,@param10)";
            lista.Add(new string[] { str, strParams, strTabela, dokType, "" });
            lista.ToArray();
            dokType   = "D";
            strParams = "";
            str       = "Execute TotaliZaDokument 'Dokumenta'," + "'tttt'";
            lista.Add(new string[] { str, strParams, strTabela, dokType, "" });
            lista.ToArray();
            rezultat = db.ReturnSqlTransactionParamsFull(lista);

            if (rezultat != "")
            {
                if (co.IsNumeric(rezultat.Trim()) == true)
                {
                    newID = Convert.ToInt32(rezultat);
                }
                else
                {
                    MessageBox.Show("Greaka kod upisa Dokumenta za: " + NazivDokumenta + "!!");
                }
            }
            return(newID);
        }
        public void MenuItemClickHandler(object sender, EventArgs e)
        {
            clsProveraDozvola proDoz = new clsProveraDozvola();
            string            s      = GetMenuNaziv(((ToolStripMenuItem)sender).Text);
            //zajedno 14.1.2021.
            //Program.AktivnaSifraIzvestaja = s;
            char slovo = UzmiSlovo(s);

            Program.KlasifikacijaSlovo = "";
            switch (s)
            {
            //tamara 28.4.2021.
            case "cmdMagacin":
                System.Diagnostics.Process.Start("http:\\192.168.1.71\\magacin");
                break;

            case "OrganizacionaSema":
                System.Diagnostics.Process.Start("http://192.168.1.4:8080/");
                break;

            case "Imenik":
                proDoz.ToolBarItemsEnDis();
                Form   f    = Application.OpenForms["Imenik"];
                Imenik frmi = new Imenik();
                if (f == null)
                {
                    //ivana 2.3.2021.
                    //if (Program.brtabova < 10 && Program.Parent.tabovi < Program.Parent.toolStrip1.Width - 50)
                    //{

                    frmi.FormBorderStyle = FormBorderStyle.None;
                    frmi.Name            = "Imenik";
                    frmi.MdiParent       = Program.Parent;
                    frmi.Dock            = DockStyle.Fill;

                    Program.Parent.addFormTotoolstrip1(frmi, "Imenik");
                    Program.Parent.updateToolStrip("Imenik");
                    frmi.StartPosition = FormStartPosition.CenterScreen;
                    frmi.Show();
                    //ivana 15.11.2021.
                    //proDoz.ProveriDozvole("", "", "", "");
                    Program.Parent.itemn_click(sender, e);
                    //}
                    //else
                    //MessageBox.Show("Imate dosta otvorenih formi, zatvorite neku od njih.");
                }
                //ivana 22.2.2021.
                else
                {
                    Program.Parent.itemn_click(sender, e);
                    f.Focus();
                }
                break;

            case "Dokumenta":
            case "Izvestaj":
            case "OsnovniSifarnici":
            case "PomocniSifarnici":
            case "Artikli":
            case "Komitenti":
            case "OrganizacionaStruktura":
                Program.Parent.ToolBar.Items["Uunos"].Visible = true;
                Program.Parent.ToolBar.Items["Uunos"].Enabled = true;
                clsObradaOsnovnihSifarnika co0 = new clsObradaOsnovnihSifarnika();
                mdi.ShowNewForm(s, 1, s, 1, "", "", slovo.ToString(), "", "TreeView");
                break;

            //28.10.2020. Ivana
            case "KlasifikacijaOrgStrukture":
            case "KlasifikacijaArtikla":
            case "KlasifikacijaKomitenata":
            case "KlasifikacijaDokumenata":
            case "KlasifikacijaIzvestaja":
            case "KlasifikacijaMenija":
            case "KlasifikacijaPomocnihSifarnika":
                Program.Parent.ToolBar.Items["Uunos"].Visible = true;
                Program.Parent.ToolBar.Items["Uunos"].Enabled = true;
                Program.KlasifikacijaSlovo = "K";
                mdi.ShowNewForm(SkiniKlasifikaciju(s), 1, SkiniKlasifikaciju(s), 1, "", "", slovo.ToString(), "", "TreeView");
                break;

            case "KadroviIOrganizacionaStruktura":                                                       //"DodeljivanjeUlogeKorisniku":
                mdi.ShowNewForm("", 1, "KadroviIOrganizacionaStruktura", 1, "", "", "P", "", "");
                break;

            case "Dozvole":
                mdi.ShowNewForm("", 1, "Dozvole", 1, "", "", "P", "", "");
                break;

            case "PreuzimanjeKursneListe":
                //tamara 21.6.21.
                PreuzimanjeKursneListe kl = new PreuzimanjeKursneListe();
                kl.Name = "PreuzimanjeKursneListe";
                kl.Text = "PreuzimanjeKursneListe";
                //ivana 19.3.2021.
                if (!mdi.DalijevecOtvoren("", "", "PreuzimanjeKursneListe"))
                {
                    kl.FormBorderStyle = FormBorderStyle.None;
                    kl.MdiParent       = mdi;
                    kl.Dock            = DockStyle.Fill;
                    kl.AutoScroll      = true;
                    if (mdi.IzborJezika.Text == "Српски-Ћирилица")
                    {
                        kl.Text = mdi.VratiCirlilicu("PreuzimanjeKursneListe");
                    }
                    int sirina1 = (mdi.Width / 100) * 10;
                    mdi.addFormTotoolstrip1(kl, "PreuzimanjeKursneListe");
                    mdi.SrediFormu();
                    kl.Show();
                    //ivana 25.3.2021.
                    mdi.itemn_click("PreuzimanjeKursneListe", e);
                }
                break;

            case "Prenosi":
                Form activeChild = mdi.ActiveMdiChild;
                activeChild.FormBorderStyle = FormBorderStyle.None;
                if (activeChild != null)
                {
                    activeChild.Hide();
                }
                break;

            case "PlacanjeRateKredita":
                if (!mdi.DalijevecOtvoren("", "", "PlacanjeRateKredita"))
                {
                    Preuzimanja.PreuzimanjeRateKredita();                             //"PreuzimanjeRateKredita"
                }
                break;

            case "PreuzimanjeManjkovaIViskova":
                if (!mdi.DalijevecOtvoren("", "", "PreuzimanjeManjkovaIViskova"))
                {
                    Preuzimanja.PreuzimanjeManjkovaIViskova();                        //"PreuzimanjeManjkovaIViskova"
                }
                break;

            case "PreuzimanjeUplata":
                if (!mdi.DalijevecOtvoren("", "", "PreuzimanjeUplata"))
                {
                    Preuzimanja.PreuzimanjeUplataKupacaIzBanaka();
                }
                break;

            case "PrenosNalogaZaPlacanje":
                if (!mdi.DalijevecOtvoren("", "", "PrenosNalogaZaPlacanje"))          //"PrenosNalogaNaPlacanje"
                {
                    clsPreuzimanja cp          = new clsPreuzimanja();                //BORKA je zakomentarisala ovo
                    string         DatOd       = (DateTime.Now.ToString("dd.MM.yy")); ///, "dd/MM/yyyy", null);// , CultureInfo.InvariantCulture);
                    string         TekuciRacun = "";
                    TekuciRacun = Prompt.ShowDialog("", "Prepisivanje naloga iz pripreme za plaćanje.", "Unesite tekući račun za koji prenosimo naloge");
                    if (TekuciRacun == "")
                    {
                        return;
                    }
                    string vrati = cp.PrepisiNaloge(DatOd, TekuciRacun);     //BORKA je zakomentarisala ovo
                    MessageBox.Show("Završeno!");
                }
                break;

            case "PreuzimanjeIzvodaIzBanaka":
                if (!mdi.DalijevecOtvoren("", "", "PreuzimanjeIzvodaIzBanaka"))
                {
                    clsPreuzimanja cp = new clsPreuzimanja();
                    string         strPreuzimanjePlacanja = cp.preuzimanjeIzvodaizBanaka();
                    if (strPreuzimanjePlacanja == "")
                    {
                        return;
                    }
                    char[]   separators = { '#' };
                    frmIzvod childForm  = new frmIzvod();

                    childForm.strPutanjaPlacanja = strPreuzimanjePlacanja.Split(separators)[0];
                    childForm.mesecgodina        = strPreuzimanjePlacanja.Split(separators)[1];
                    childForm.IdDokView          = Convert.ToInt32(strPreuzimanjePlacanja.Split(separators)[2]);
                    childForm.KojiPrepis         = strPreuzimanjePlacanja.Split(separators)[3];
                    childForm.Show();
                }
                break;

            case "PrepisPlacanjaIUplataUIzvod":        /// stari je bio ovaj naziv -> "PrepisNaplataIPlacanjaUIzvod" Ivana
                if (!mdi.DalijevecOtvoren("", "", "PrepisPlacanjaIUplataUIzvod"))
                {
                    clsOperacije   co          = new clsOperacije();
                    clsPreuzimanja cp1         = new clsPreuzimanja();
                    DataBaseBroker db          = new DataBaseBroker();
                    string         DatOd1      = "";
                    string         TekuciRacun = "";
                    DataTable      rsp         = new DataTable();
                    //Jovana 21.06.21

                    DatOd1 = Prompt.ShowDialog(DateTime.Now.ToString("dd.MM.yy"), "Prepisivanje izvoda iz Plaćanja i naplata", "Unesite datum za koji prepisujemo izvod");
                    if (DatOd1 == "")
                    {
                        return;
                    }
                    //Jovana 21.06.21
                    if (co.IsDateTime(DatOd1) == false)
                    {
                        MessageBox.Show("Pogrešno unet datum!"); return;
                    }
                    ;
                    //Jovana 21.06.21
                    TekuciRacun = Prompt.ShowDialog("", "Prepisivanje izvoda iz Plaćanja i naplata", "Unesite tekući račun za koji prepisujete promet ");
                    if (TekuciRacun == "")
                    {
                        return;
                    }
                    rsp = db.ReturnDataTable("if not exists (select datum from  IzvodTotali  where Datum='" + DatOd1 + "' And Blagajna='" + TekuciRacun.ToString() + "') select 0 else select 1 ");
                    if (rsp.Rows.Count == 0)
                    {
                        MessageBox.Show("Ne postoje podaci za datum i tekući račun!"); return;
                    }

                    if (Convert.ToInt16(rsp.Rows[0][0]) == 1)
                    {
                        MessageBox.Show("Već je izvršen prepis izvoda za datum " + DatOd1);
                    }
                    else
                    {
                        cp1.izborPReuzimanja(1, DatOd1 + "#" + TekuciRacun);
                    }
                    MessageBox.Show("Završeno!");
                }
                break;

            case "FormiranjePPPPDzaPlate":
                if (!mdi.DalijevecOtvoren("", "", "FormiranjePPPPDzaPlate"))
                {
                    DateTime d      = DateTime.Now;
                    string   pDatum = d.ToString("dd.MM.yy");
                    string   mg     = Prompt.ShowDialog(pDatum.Substring(3, 2) + pDatum.Substring(6, 2), "Formiranje PPPPD za plate", "Unesite mesec i godinu za koji formiramo PPPPD za plate");
                    if (string.IsNullOrEmpty(mg))
                    {
                        return;
                    }
                    clsOperacije co2 = new clsOperacije();
                    bool         r   = co2.IsNumeric(mg);
                    if (r == false)
                    {
                        MessageBox.Show("Nekorektan unos."); return;
                    }
                    if (mg.Length != 4)
                    {
                        MessageBox.Show("Nekorektan unos."); return;
                    }
                    string svrsta = Prompt.ShowDialog("", "Formiranje PPPPD za plate", "Unesite vrstu obracuna: A za akontaciju ili K za platu");
                    svrsta = svrsta.ToUpper();
                    if (svrsta != "a".ToUpper() && svrsta != "K".ToUpper())
                    {
                        MessageBox.Show("Pogrešno uneta vrsta obračuna! Dozvoljen je samo unos A ili K.");
                        return;
                    }
                    clsXmlPlacanja cxml = new clsXmlPlacanja();
                    cxml.izborPlacanja(2, mg + svrsta, "");
                    //Djora 10.10.21
                    //mdi.LayoutMdi(MdiLayout.TileVertical);
                }
                break;

            //ivana 7.5.2021.
            case "FormiranjePPPPDzaDobit":
                if (!mdi.DalijevecOtvoren("", "", "FormiranjePPPPDzaDobit"))
                {
                    string mg = Prompt.ShowDialog("", "Formiranje PPPPD za dobit", "Unesite broj naloga");
                    if (string.IsNullOrEmpty(mg))
                    {
                        MessageBox.Show("Niste uneli broj naloga.");
                        return;
                    }
                    string    upit = "Select * from DokumentaTotali where BrDok = @param0";
                    DataTable dt   = db.ParamsQueryDT(upit, mg);
                    if (dt.Columns.Count == 0)
                    {
                        MessageBox.Show("Neispravan broj naloga.");
                        return;
                    }
                    else
                    {
                        upit = "Select * from FinansijskiInterniNalogTotali where BrDok = @param0";
                        dt   = db.ParamsQueryDT(upit, mg);
                        if (dt.Rows.Count == 0)
                        {
                            MessageBox.Show("Morate prvo popuniti izabrani nalog.");
                            return;
                        }
                        else
                        {
                            brojNaloga = mg;
                            clsXmlPlacanja cxml = new clsXmlPlacanja();
                            cxml.izborPlacanja(5, dt.Rows[0]["Datum"].ToString(), brojNaloga);
                        }
                    }
                    //Djora 10.10.21
                    //mdi.LayoutMdi(MdiLayout.TileVertical);
                }
                break;

            case "PreuzimanjePlata":                                   //"UvozPlataUPlacanje"
                if (!mdi.DalijevecOtvoren("", "", "PreuzimanjePlata"))
                {
                    clsXmlPlacanja cls = new clsXmlPlacanja();
                    cls.izborPlacanja(3, "", "");
                }
                break;

            case "Prevoz":
                if (!mdi.DalijevecOtvoren("", "", "Prevoz"))
                {
                    DateTime d1      = DateTime.Now;
                    string   pDatum1 = d1.ToString("dd.MM.yy");
                    string   mg1     = Prompt.ShowDialog(pDatum1.Substring(3, 2) + pDatum1.Substring(6, 2), "Formiranje naloga za knjiženje prevoza", "Unesite mesec i godinu za koji isplaćujemo prevoz");
                    if (string.IsNullOrEmpty(mg1))
                    {
                        return;
                    }
                    clsOperacije co1 = new clsOperacije();
                    bool         r1  = co1.IsNumeric(mg1);
                    if (r1 == false)
                    {
                        MessageBox.Show("Nekorektan unos."); return;
                    }
                    if (mg1.Length != 4)
                    {
                        MessageBox.Show("Nekorektan unos."); return;
                    }
                    clsXmlPlacanja cxml1 = new clsXmlPlacanja();
                    cxml1.izborPlacanja(0, mg1, "");
                    //Djora 10.10.21
                    //mdi.LayoutMdi(MdiLayout.TileVertical);
                }
                break;

            case "Nagrade":
                if (!mdi.DalijevecOtvoren("", "", "Nagrade"))
                {
                    DateTime d2      = DateTime.Now;
                    string   pDatum2 = d2.ToString("dd.MM.yy");

                    string mg2 = Prompt.ShowDialog(pDatum2.Substring(3, 2) + pDatum2.Substring(6, 2), "Formiranje naloga za knjiženje nagrada", "Unesite mesec i godinu za koji isplaćujemo nagrade");
                    if (string.IsNullOrEmpty(mg2))
                    {
                        return;
                    }
                    clsOperacije co3 = new clsOperacije();
                    bool         r2  = co3.IsNumeric(mg2);
                    if (r2 == false)
                    {
                        MessageBox.Show("Nekorektan unos."); return;
                    }
                    if (mg2.Length != 4)
                    {
                        MessageBox.Show("Nekorektan unos."); return;
                    }
                    clsXmlPlacanja cxml2 = new clsXmlPlacanja();
                    cxml2.izborPlacanja(1, mg2, "");
                    //Djora 10.10.21
                    //mdi.LayoutMdi(MdiLayout.TileVertical);
                }
                break;

            case "UvozPrevozaUPlacanje":
                if (!mdi.DalijevecOtvoren("", "", "UvozPrevozaUPlacanje"))
                {
                    clsXmlPlacanja cls2 = new clsXmlPlacanja();
                    cls2.izborPlacanja(4, "", "");
                }
                break;

            case "PrenosiZaProdajnaMesta":
            case "PreuzimanjePrometaRecepcije":
            case "PreuzimanjePrometaMaloprodaje":
                //zajedno 10.5.2021.
                Prenosi v = new Prenosi();
                //ivana 14.9.2021. gde god je bilo PreuzimanjePrometa, zamenila sam sa PrenosiZaProdajnaMesta, da bi se prikazao NazivJavni
                if (!mdi.DalijevecOtvoren("", "", "PrenosiZaProdajnaMesta"))
                {
                    v.MdiParent       = mdi;
                    v.FormBorderStyle = FormBorderStyle.None;

                    v.Name = "PrenosiZaProdajnaMesta";
                    v.Dock = DockStyle.Fill;
                    Program.Parent.addFormTotoolstrip1(v, "PrenosiZaProdajnaMesta");
                    v.Show();


                    Program.Parent.itemn_click("Prenosi za prodajna mesta", e);
                    if ("PreuzimanjePrometaMaloprodaje" == s)
                    {
                        v.radioButton3.Checked = true;
                    }
                    else
                    {
                        v.radioButton2.Checked = true;
                    }
                }
                else
                {
                    Program.Parent.ActiveMdiChild.WindowState = FormWindowState.Normal;
                }
                break;

            case "FaktureRecepcijeZaOdabraneDatume":
                if (!mdi.DalijevecOtvoren("", "", "FaktureRecepcijeZaOdabraneDatume"))
                {
                    Preuzimanja.FaktureRecepcijeZaOdabraneDatume();
                }
                break;

            case "FaktureRestoranaZaOdabraneDatume":
                if (!mdi.DalijevecOtvoren("", "", "FaktureRestoranaZaOdabraneDatume"))
                {
                    Preuzimanja.FaktureRestoranaZaOdabraneDatume();
                }
                break;

            case "RazduzenjeSirovinaMinibar":
                if (!mdi.DalijevecOtvoren("", "", "RazduzenjeSirovinaMinibar"))
                {
                    Preuzimanja.RazduzenjeSirovinaMiniBar();
                }
                break;

            case "RazduzenjeSirovinaZaOdabraneDatume":
                if (!mdi.DalijevecOtvoren("", "", "RazduzenjeSirovinaZaOdabraneDatume"))
                {
                    Preuzimanja.RazduzenjeSirovinaZaOdabraniIntervalDatuma();
                }
                break;

            case "KursnaListaZaCeluGodinu":
                if (!mdi.DalijevecOtvoren("", "", "KursnaListaZaCeluGodinu"))
                {
                    string         GodinaKursa       = "";
                    string         PocetniDatumKursa = "";
                    int            KojiIDDokstablo   = 1;
                    string         sql              = "";
                    long           granica          = 0;
                    int            ret              = 1;
                    string         ID_DokumentaView = "1";
                    DateTime       DatumKursa;
                    DataBaseBroker db2 = new DataBaseBroker();

                    if (MessageBox.Show("Upisujemo kursnu listu za " + (System.DateTime.Now).Year.ToString(), "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        GodinaKursa       = Prompt.ShowDialog("", "Unesite godinu za kursnu listu ", "Kursna lista");
                        PocetniDatumKursa = "01.01." + GodinaKursa.Trim();
                        sql = "select ID_DokumentaTotali from  DokumentaTotali where dokument ='KursnaLista' and Datum>@param0";
                        DataTable t = db2.ParamsQueryDT(sql, PocetniDatumKursa);

                        if (t.Rows.Count == 0)
                        {
                            sql = "select ID_DokumentaStablo from DokumentaStablo where Naziv='KursnaLista'";
                            DataTable dt = db2.ParamsQueryDT(sql);
                            if (dt.Rows.Count == 0)
                            {
                                MessageBox.Show("Nije definisana kursna lista!");
                            }
                            else
                            {
                                KojiIDDokstablo = Convert.ToInt32(dt.Rows[0]["ID_DokumentaStablo"]);

                                clsOperacije cOp = new clsOperacije();
                                if (cOp.Prestupna(Convert.ToInt32(GodinaKursa)) == true)
                                {
                                    granica = 366;
                                }
                                else
                                {
                                    granica = 365;
                                }

                                int i = 1;

                                for (; i <= granica; i++)
                                {
                                    DatumKursa = Convert.ToDateTime(PocetniDatumKursa).AddDays(i);

                                    clsObradaOsnovnihSifarnika cls3 = new clsObradaOsnovnihSifarnika();
                                    string ParRb = "";

                                    ret = cls3.UpisiDokument(ref ParRb, "Kursna lista " + DatumKursa.Date, KojiIDDokstablo, DatumKursa.ToString());

                                    if (ret == -1)
                                    {
                                        MessageBox.Show("Greška prilikom inserta!");
                                        return;
                                    }
                                    ID_DokumentaView = ret.ToString();

                                    //stavka za domacu valutu
                                    sql = " Insert into KursnaLista(ID_SifrarnikValuta,ID_Zemlja,ID_DokumentaView,datum,paritet,"
                                          + " Kupovni,Srednji,Prodajni,Dogovorni,verzija,KupovniZaDevize,ProdajniZaDevize,OznVal,UUser,TTIME )"
                                          + " Values(@param0,@param1,@param2,@param3,@param4, "
                                          + " @param5,@param6,@param7,@param8,@param9,@param10,@param11,@param12,@param13,@param14)";

                                    DataTable dkl = db2.ParamsQueryDT(sql, 1, Program.ID_MojaZemlja, ID_DokumentaView, DatumKursa.ToString(), 001,
                                                                      1, 1, 1, 1, "", 1, 1, Program.DomacaValuta, Program.idkadar.ToString(), (System.DateTime.Now).ToString());

                                    // Druga stavka za eur ako je zemlja bosna

                                    if (Program.ID_MojaZemlja == 38)
                                    {
                                        sql = " Insert into KursnaLista(ID_SifrarnikValuta,ID_Zemlja,ID_DokumentaView,datum,paritet,"
                                              + " Kupovni,Srednji,Prodajni,Dogovorni,verzija,KupovniZaDevize,ProdajniZaDevize,OznVal,UUser,TTIME )"
                                              + " Values(@param0,@param1,@param2,@param3,@param4, "
                                              + " @param5,@param6,@param7,@param8,@param9,@param10,@param11,@param12,@param13,@param14)";

                                        DataTable dkb = db2.ParamsQueryDT(sql, 1, Program.ID_MojaZemlja, ID_DokumentaView, DatumKursa.ToString(), 001,
                                                                          1.95583, 1.95583, 1.95583, 1.95583, "", 1.95583, 1.95583, "EUR", Program.idkadar.ToString(), (System.DateTime.Now).ToString());
                                    }
                                    db2.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:Dokumenta", "IdDokument:" + ID_DokumentaView);
                                    db2.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:KursnaLista", "IdDokument:" + ID_DokumentaView);
                                }
                                MessageBox.Show("Završeno!");
                            }
                        }
                        else
                        {
                            MessageBox.Show("Već je uneta kursna lista za datume tekuće godine!");
                        }
                    }
                }
                break;

            case "PopunjavanjeTabeleDatuma":
                if (!mdi.DalijevecOtvoren("", "", "PopunjavanjeTabeleDatuma"))
                {
                    string         GodinaDatuma = "";
                    string         sql3         = "";
                    DataBaseBroker db3          = new DataBaseBroker();

                    if (MessageBox.Show("Upisujemo tabelu datuma za " + (System.DateTime.Now).Year.ToString(), "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        GodinaDatuma = Prompt.ShowDialog("", "Unesite Godinu za tabelu datuma ", "Tabela datuma");
                        if (GodinaDatuma == "")
                        {
                            MessageBox.Show("Niste uneli godinu!"); return;
                        }

                        if (GodinaDatuma != (System.DateTime.Now).Year.ToString() && GodinaDatuma != (System.DateTime.Now).AddYears(+1).Year.ToString())
                        {
                            MessageBox.Show("Pogrešno uneta godina!");
                            return;
                        }
                        else
                        {
                            sql3 = "select time_id from  Time_by_Day where the_year =@param0 ";
                            DataTable t = db3.ParamsQueryDT(sql3, GodinaDatuma);
                            if (t.Rows.Count == 0)
                            {
                                db3.ExecuteStoreProcedure("PopuniTimeByDay", "Godina:" + GodinaDatuma);
                                MessageBox.Show("Završeno!");
                            }
                            else
                            {
                                MessageBox.Show("Već je uneta godina!");
                            }
                        }
                    }
                }
                break;

            //Jovana 02.06.21
            case "ProcesiranjeDnevnogIzvestaja":
                if (MessageBox.Show("Procesiramo dnevni izvestaj za " + Program.imeFirme + " ?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    db.RunAJob("dnevni" + Program.imeFirme);
                }
                break;

            case "ProcesiranjeBrutoBilansa":
                if (MessageBox.Show("Procesiramo bruto bilans za " + Program.imeFirme + " ?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                {
                    db.RunAJob("BrutoBilansZa" + Program.imeFirme);
                }
                break;

            case "SpisakDokumenata":
                mdi.ShowNewForm(" ", 1, "SpisakDokumenata", 1, "", "", "I", "", "");     //SpisakDokumenata
                break;

            case "ZatvaranjeStanjaPoLotu":
                if (!mdi.DalijevecOtvoren("", "", "ZatvaranjeStanjaPoLotu"))
                {
                    clsZatvaranjeIOtvaranjeStanja c = new clsZatvaranjeIOtvaranjeStanja();
                    bool pom = c.ObradiZahtev("DA");
                    if (pom)
                    {
                        MessageBox.Show("Uspešno završeno!");
                    }
                    else
                    {
                        MessageBox.Show("Nije uspelo zatvaranje stanja po lot-u!");
                    }
                }
                break;

            case "PocetakGodine":
                if (!mdi.DalijevecOtvoren("", "", "PocetakGodine"))
                {
                    clsZatvaranjeIOtvaranjeStanja c1 = new clsZatvaranjeIOtvaranjeStanja();
                    bool pom = c1.ObradiZahtev("NE");
                    if (pom)
                    {
                        MessageBox.Show("Uspešno završeno!");
                    }
                    else
                    {
                        MessageBox.Show("Neuspešno!");
                    }
                }
                break;

            //Djora 21.04.21
            case "Najcesci":
                break;

            case "UsaglasavanjeRobeIFinansija":
                if (!mdi.DalijevecOtvoren("", "", "UsaglasavanjeRobeIFinansija"))
                {
                    clsKorekcija k   = new clsKorekcija();
                    bool         pom = k.ObradiZahtev();
                    if (pom)
                    {
                        MessageBox.Show("Uspešno završeno!");
                    }
                    else
                    {
                        MessageBox.Show("Nije uspelo usaglašavanje robe i finansija!");
                    }
                }
                break;
                //case "Dozvole":
                //    ShowNewForm(" ", 1, "Dozvole", 1, "", "", "P", "", "");
                //    break;
                //default:
                //    break;
            }
        }
        public bool ProveraIspravnosti(Form forma)
        {
            bool ProveraIspravnosti = false;

            //forma = Program.Parent.ActiveMdiChild;

            sql = "Select Id_DokumentaView from GlavnaKnjiga where ID_DokumentaView =@param0";
            DataTable t = db.ParamsQueryDT(sql, iddokument);

            if (t.Rows.Count > 0)
            {
                if (forma.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "Proknjizeno").Vrednost.Contains("Zatvaranje") == true)
                {
                    if (MessageBox.Show("Vec postoji glana knjiga zelite li je brisati ?", "", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                    {
                        sql = "Delete from GlavnaKnjiga where ID_DokumentaView =@param0";
                        ret = db.ParamsInsertScalar(sql, iddokument);
                    }
                }
            }

            if (forma.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "Proknjizeno").Vrednost.Contains("MalaSalda") == true)
            {
                IznosZaOtpis = Prompt.ShowDialog("", "Unesite iznos za otpis ", " Otpis malih salda ");
                clsOperacije co = new clsOperacije();
                bool         r  = co.IsNumeric(IznosZaOtpis);
                if (r == false)
                {
                    MessageBox.Show("Pogresno unesen iznos ponovite !!!"); return(ProveraIspravnosti);
                }

                KontoPrihoda = Prompt.ShowDialog("", "Unesite konto za prihod ", " Otpis malih salda ").Trim();
                if (KontoPrihoda.Substring(1, 1) != "6")
                {
                    MessageBox.Show("Pogresno unesen konto prihoda !!!"); return(ProveraIspravnosti);
                }

                KontoTroskova = Prompt.ShowDialog("", "Unesite konto za troskove ", " Otpis malih salda ").Trim();
                if (KontoPrihoda.Substring(1, 1) != "5")
                {
                    MessageBox.Show("Pogresno unesen konto troskova !!!"); return(ProveraIspravnosti);
                }

                sql = "Delete from GlavnaKnjiga where ID_DokumentaView =@param0";
                ret = db.ParamsInsertScalar(sql, iddokument);
            }


            if (forma.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "Proknjizeno").Vrednost.Contains("Otvaranje") == true)
            {
                if (forma.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "Predhodni").Vrednost == "1")
                {
                    MessageBox.Show("Niste odabrali  prethodnika !!!");
                    return(ProveraIspravnosti);
                }

                sql = "Select Proknjizeno from Dokumenta where ID_Dokumenta =@param0";
                t   = db.ParamsQueryDT(sql, forma.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "Predhodni").ID);
                if (t.Rows.Count > 0)
                {
                    if (t.Rows[0]["Proknjizeno"].ToString().Contains("Zatvaranje") == false)
                    {
                        MessageBox.Show("Niste odabrali zatvaranje kao prethodnika otvaranju!!!");
                        return(ProveraIspravnosti);
                    }
                }
            }

            ProveraIspravnosti = true;
            return(ProveraIspravnosti);
        }
Example #6
0
        public string CalculateValue(Form form1, string formula)
        {
            string fformula = "";

            fformula = formula;
            //string[] vrednosti = new string[100];
            //char[] delimiterChars = { '-', '+' ,'/','*'};
            char[] delimit = { ',' };
            //string[] delovi = formula.Split(delimiterChars);
            fformula = fformula.Replace("-", ",-,");
            fformula = fformula.Replace("+", ",+,");
            fformula = fformula.Replace("/", ",/,");
            fformula = fformula.Replace("*", ",*,");
            fformula = fformula.Replace("(", ",(,");
            fformula = fformula.Replace(")", ",),");
            Console.WriteLine(fformula);
            string[] op = fformula.Split(delimit, StringSplitOptions.RemoveEmptyEntries);

            string gotov  = "";
            string valstr = "";

            for (int k = 0; k < op.Length; k++)
            {
                if (op[k].Trim() != "")
                {
                    Console.WriteLine(op[k]);
                    if (op[k].Contains("+") == true || op[k].Contains("-") == true || op[k].Contains("*") == true || op[k].Contains("/") == true || op[k].Contains("(") == true || op[k].Contains(")") == true)
                    {
                        gotov = gotov + op[k];
                    }
                    else
                    {
                        if (co.IsNumeric(op[k]) == true)
                        {
                            gotov = gotov + op[k];
                            //break;
                        }
                        else
                        {
                            Field kontrola = (Field)form1.Controls[op[k].Trim()]; //  uzimamo kontrolu na formi
                            if (kontrola == null)
                            {
                                valstr = "0.00";
                                //break;
                            }
                            else
                            {
                                valstr = Convert.ToString(kontrola.Vrednost);
                                if (valstr.Trim() == "")
                                {
                                    valstr = "0.00";
                                }
                                else
                                {
                                    valstr = valstr.Replace(".", "");
                                    valstr = valstr.Replace(",", ".");
                                }
                                gotov = gotov + valstr;

                                ////break;
                            }
                        }
                    }
                }
            }
            Console.WriteLine(gotov);
            return(gotov);
        }