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);
        }
        //public void ObrisiZaglavljeIStavkePoljaZaUnos()
        //{
        //    forma = Program.Parent.ActiveMdiChild;
        //    dokje = forma.Controls["ldokje"].Text;
        //    if (dokje == "S")
        //        imedokumenta = ((Bankom.frmChield)forma).imestabla;
        //    else
        //        imedokumenta = forma.Controls["limedok"].Text;
        //    sql = "SELECT UlazniIzlazni as NazivKlona from SifarnikDokumenta where Naziv=@param0";
        //    DataTable dt = db.ParamsQueryDT(sql, imedokumenta);
        //    if (dt.Rows.Count != 0) NazivKlona = dt.Rows[0]["NazivKlona"].ToString();

        //    sql = "SELECT alijaspolja as polje,izborno from RecnikPodataka where  dokument=@param0 and TabIndex>=0 and width>0 and Height > 0 order by tabindex";
        //    DataTable drp = db.ParamsQueryDT(sql, NazivKlona);

        //    foreach (DataRow row in drp.Rows)
        //    {
        //        //Console.WriteLine(row["polje"].ToString());
        //        Field pb = (Field)Program.Parent.ActiveMdiChild.Controls[row["polje"].ToString()];
        //        if(pb!=null)
        //        {
        //                    //pb.ID = "1";
        //                    //pb.Vrednost = "";
        //                    pb.cEnDis = "";
        //                    switch (pb.VrstaKontrole)
        //                    {
        //                        case "tekst":
        //                            pb.textBox.Text = "";
        //                            pb.textBox.Enabled = true;
        //                            break;
        //                        case "datum":
        //                            pb.dtp.Text = "";
        //                            //pb.dtp.CustomFormat = " ";
        //                            pb.dtp.Format = DateTimePickerFormat.Custom;
        //                            pb.dtp.Enabled = true;
        //                            //pb.dtp.CustomFormat = "dd.MM.yy";
        //                            //pb.dtp.Format = DateTimePickerFormat.Custom;
        //                            break;
        //                        case "combo":
        //                            pb.comboBox.Text = "";
        //                            pb.ID = "1";
        //                            pb.comboBox.Enabled = true;
        //                            pb.cIzborno = row["izborno"].ToString();
        //                        break;
        //                    }
        //        }
        //    }
        //    //pd.ProveriDozvole(imedokumenta, Idstablo, "1", dokje);
        //}
        public string PripremaidDokumentaZaPregled()
        {
            string PripremaidDokumentaZaPregled = "";
            string uupit     = "";
            string KrajUpita = "";
            string WWhere    = "";
            string c1        = "";
            //Djora 19.11.21
            string oorder = "";

            if (dokje == "D")
            {
                if (imedokumenta != "OpisTransakcije" && imedokumenta != "NalogGlavneKnjige")
                {
                    uupit = "SELECT distinct ID_" + NazivKlona.Trim() + "Totali as IdDokumentZaPregled FROM " + NazivKlona.Trim() + "Totali ";
                }
                else
                {
                    uupit = "SELECT distinct ID_" + NazivKlona.Trim() + "StavkeView as IdDokumentZaPregled FROM " + NazivKlona.Trim() + "StavkeView ";
                }
                if (imedokumenta == "UgovorOOtkupu" || imedokumenta == "UgovorOOtkupuAneks")
                {
                    uupit = "SELECT distinct ID_" + NazivKlona.Trim() + "View as IdDokumentZaPregled FROM " + NazivKlona.Trim() + "View ";
                }
            }

            if (dokje == "S" || dokje == "P")
            {
                //Djora 19.11.21
                //sql = "select upit from upiti where Ime='GgRr" + NazivKlona.Trim() + "StavkeView'";
                sql = "select upit, oorder from upiti where Ime='GgRr" + NazivKlona.Trim() + "StavkeView'";

                DataTable dt = db.ReturnDataTable(sql);
                if (dt.Rows.Count > 0)
                {
                    uupit = dt.Rows[0]["upit"].ToString();
                }
                // Jovana 14.01.21 kad postoji order by

                //Djora 19.11.21 pocetak ---------------------------------------
                //if (uupit.Contains("ORDER BY") == true)
                //{
                //    KrajUpita = uupit.Substring(uupit.IndexOf("ORDER BY"));
                //    uupit = uupit.Substring(0, uupit.IndexOf("ORDER BY") - 1);
                //}
                //Djora 19.11.21 kraj ------------------------------------------

                //Djora 19.11.21 pocetak ---------------------------------------
                if (dt.Rows[0]["OOrder"].ToString().Length > 0)
                {
                    oorder = " ORDER BY " + dt.Rows[0]["OOrder"].ToString();
                }
                //Djora 19.11.21 kraj ------------------------------------------
            }

            foreach (var pb in forma.Controls.OfType <Field>())
            {
                if (pb.Height > 1.5 && pb.cPolje.Contains("IzvodiSe") == false && pb.cEnDis.Trim() != "D")
                {
                    //Console.WriteLine(pb.cPolje);
                    c1 = pb.IME;
                    if (pb.Vrednost.Trim() != "")
                    {
                        if ((pb.cTip > 2 && pb.cTip < 8) || pb.cTip == 13 || (pb.cTip > 18 && pb.cTip < 22) || pb.cTip == 26)  // numericka polja
                        {
                            if (pb.cTip == 3 || pb.cTip == 26)
                            {
                                if (Convert.ToDouble(pb.Vrednost) > 1)
                                {
                                    WWhere = WWhere + c1 + " = " + pb.Vrednost + " AND ";
                                }
                            }
                            //ivana 20.9.2021.
                            else
                            if (Convert.ToDouble(pb.Vrednost.Replace(".", "")) > 1)
                            {
                                WWhere = WWhere + c1 + " = " + pb.Vrednost.Replace(".", "").Replace(",", ".") + " AND ";
                            }
                        }
                        else // nisu numericka polja
                        {
                            if (pb.cTip == 8 || pb.cTip == 9) //date time picker
                            {
                                //tamara 2.6.21. otkomentarisala sam, sad radi
                                WWhere = WWhere + c1 + " = " + "'" + pb.Vrednost + "'" + " AND ";  //BORKA UMRTVILA JER MI IZ NEPOZNATOG RAZLOGA U DATUM PUNI DANASNJI DATUM
                            }
                            else
                            {
                                if (pb.cTip == 24)
                                {
                                }
                                else
                                {
                                    if (pb.cIzborno.Trim() != "" && Convert.ToInt32(pb.ID) > 1)
                                    {
                                        if (pb.cIzborno == pb.cTabela)
                                        {
                                            sql = "select alijaspolja from recnikpodataka where dokument = '" + NazivKlona + "'" + " and alijaspolja = 'ID_" + pb.cAlijasTabele + "'";
                                        }
                                        else
                                        {
                                            sql = "select alijaspolja from recnikpodataka where dokument ='" + NazivKlona + "'" + " and alijaspolja =  'ID_" + pb.cIzborno + "'";
                                        }

                                        DataTable t = db.ReturnDataTable(sql);
                                        if (t.Rows.Count != 0)
                                        {
                                            WWhere = WWhere + t.Rows[0]["alijaspolja"].ToString() + "=" + pb.ID + " AND ";
                                        }
                                        else
                                        {
                                            WWhere = WWhere + c1 + " = " + "'" + pb.Vrednost.Trim() + "'" + " AND ";
                                        }
                                    }
                                    else
                                    {
                                        //Djora 13.07.21 //Da bi mogao da vrsi pretragu po datumu u polju TTime koje ima id_tippodatka=10, sto je sifra za string polje
                                        // ovde ne moze da se vrsi pretraga po satima, minutima ili sekundima jer ga  104 konvertuje u oblik npr. 25.10.2021, gde nema sati, minuti i sekundi
                                        if (pb.IME == "TTime")
                                        {
                                            WWhere = WWhere + "CONVERT(VARCHAR(10)," + c1 + ",104) LIKE " + "'" + pb.Vrednost.Trim() + "%'" + " AND ";
                                        }
                                        else
                                        {
                                            if (filter == "P")
                                            {
                                                WWhere = WWhere + c1 + " LIKE " + "'" + pb.Vrednost.Trim() + "N%'" + " AND ";
                                            }
                                            else
                                            {
                                                filter = "S";
                                                WWhere = WWhere + c1 + " LIKE " + "N'%" + pb.Vrednost.Trim() + "%'" + " AND ";
                                            }
                                        }
                                    }
                                }
                            }
                        }
                    }
                }
            }

            if (WWhere.Contains("LIKE") == true)
            {
                clsOperacije op = new clsOperacije();
                WWhere = op.AsciiKarakteri(WWhere);
            }

            if (WWhere.Trim() != "")
            {
                WWhere = WWhere.Substring(0, WWhere.Length - 4);
            }
            else
            {
                MessageBox.Show("Niste zadali uslov za pregled!");
                PripremaidDokumentaZaPregled = "KRAJ";
                return(PripremaidDokumentaZaPregled);
            }

            if (dokje == "P" && uupit.ToUpper().Contains("WHERE") == true)
            {
                //Djora 19.11.21
                //PripremaidDokumentaZaPregled = uupit.Trim() + " AND " + WWhere + " " + KrajUpita;
                PripremaidDokumentaZaPregled = uupit.Trim() + " AND " + WWhere + " " + oorder + " " + KrajUpita;
            }
            else
            {
                //Djora 19.11.21
                //PripremaidDokumentaZaPregled = uupit.Trim() + " where " + WWhere + " "+KrajUpita;
                PripremaidDokumentaZaPregled = uupit.Trim() + " where " + WWhere + " " + oorder + " " + KrajUpita;
            }

            if (imedokumenta == "Dokumenta")
            {
                IdDokView = "0";
                PripremaidDokumentaZaPregled = PripremaidDokumentaZaPregled + " AND nazivorg like '" + Program.imeFirme + "%'" + " AND YEAR(Datum)>=" + Program.mGodina.ToString() + " ORDER BY  ID_DokumentaTotali desc";
                Console.WriteLine(PripremaidDokumentaZaPregled);
            }

            if (dokje == "D")
            {
                IdDokView = "0";
                PripremaidDokumentaZaPregled = PripremaidDokumentaZaPregled + " AND YEAR(Datum) >= " + Program.mGodina.ToString() + " order by IdDokumentZapregled desc";
                //Console.WriteLine(PripremaidDokumentaZaPregled);
                DataTable kt = db.ReturnDataTable(PripremaidDokumentaZaPregled);
                kk = kt.Rows.Count;
            }
            Console.WriteLine(PripremaidDokumentaZaPregled);

            return(PripremaidDokumentaZaPregled);
        }
        public string PrepisiNaloge(string DatumP, string KojiRacun)
        {
            PNHALKOMZ1   NZ1      = new PNHALKOMZ1();
            PNHALKOMZ2   NZ2      = new PNHALKOMZ2();
            PNHALKOMZ    NZ       = new PNHALKOMZ();
            clsOperacije cop      = new clsOperacije();
            DataTable    rspromet = new DataTable();
            DataTable    rsp      = new DataTable();
            int          pbanka   = 0;
            int          Rr       = 0;
            FileStream   fs;// = new FileStream();

            //Dim fs, fs1
            string                     red       = "";
            string                     kb        = "";
            string                     mr        = "";
            int                        NRB       = 0;
            int                        BrNal     = 0;
            string                     NBanke    = "";
            string                     Datoteka  = "";
            string                     str       = "";
            int                        IdDokView = 1;
            List <string[]>            lista     = new List <string[]>();
            clsObradaOsnovnihSifarnika coos      = new clsObradaOsnovnihSifarnika();

            str      = db.ReturnString("select getdate()", 0);
            str      = "Select * from BankaView where Replace(NazivRacuna" + ", '-', '')" + " = '" + KojiRacun + "'";
            rspromet = db.ReturnDataTable(str);

            if (rspromet.Rows.Count > 0)
            {
                pbanka = (int)rspromet.Rows[0]["ID_BankaView"];
            }
            else
            {
                MessageBox.Show("Pogrešan broj tekućeg računa!");
                return("");
            }
            int trazi = rspromet.Rows[0]["NazivBanke"].ToString().IndexOf(" ") - 1;

            //ivana 16.6.2021.
            //NBanke = rspromet.Rows[0]["NazivBanke"].ToString().Substring(0, trazi);
            NBanke = rspromet.Rows[0]["NazivBanke"].ToString();
            rspromet.Dispose();



            str      = " Select Max(RBPrenosa) As M from PlacanjaNaplate Where ID_BankaView =" + pbanka.ToString() + " and FORMAT (datum,'dd.MM.yy')='" + DatumP + "' and PrenesenoZaPlacanje=1 and OznakaKnjizenja='10'";
            rspromet = db.ReturnDataTable(str);
            if (rspromet.Rows.Count > 0)
            {
                NRB = 1;
            }
            else
            {
                NRB = (int)rspromet.Rows[0]["m"] + 1;
            }

            long Ukupno     = 0;
            int  BrojNaloga = 0;

            BrojNaloga = 1;

            str      = "Select Count(*) as BrNaloga,Sum(isplate) as Ukupno from NaloziZaPlacanjeView Where ID_BankaView=" + pbanka.ToString();
            str     += " and  FORMAT (datum,'dd.MM.yy')='" + DatumP + "' and OznakaKnjizenja='10'";
            rspromet = db.ReturnDataTable(str);

            if (rspromet.Rows[0]["Ukupno"] == null)
            {
                MessageBox.Show("Ne postoje nepreneseni nalozi!");
                return("");
            }
            //PutanjaPlacanja = cop.CitajIniFajl("LOGOVANJE", "PutanjaPlacanja");
            str = DateTime.Parse(DateTime.Now.ToString("dd.MM.yy")).ToString().Substring(0, 8);

            //Datoteka = PutanjaPlacanja  + "placanje" + NBanke.Trim() + DateTime.Parse(DateTime.Now.ToString("dd.MM.yy")).ToString().Replace(".", "") + "-" + NRB.ToString().Trim() + "-" + Program.imeFirme + ".txt";
            //Datoteka = @"c:\tempxml\" + "placanje" + NBanke.Trim() + str.Replace(".", "") + "-" + NRB.ToString().Trim() + "-" + Program.imeFirme + ".txt";
            string datum = DateTime.Now.ToString("dd.MM.yy").Replace(".", "");

            //ivana 3.11.2021.
            //Datoteka =  @"\\Sql2016\d\PlacanjaUplate\"+ "Ivanaplacanje" + NBanke.Replace(" ", "") + datum + "-" + NRB.ToString().Trim() + "-" + Program.imeFirme + ".txt";
            Datoteka = @"\\" + LoginForm.FileServer + @"\d\PlacanjaUplate\" + NBanke.Trim() + str.Replace(".", "") + "-" + NRB.ToString().Trim() + "-" + Program.imeFirme + ".txt";

            Rr = 1;
            //Jovana 15.06.21
            NZ1.TekuciRacunKomitenta = coos.FormatirajRacun(KojiRacun);
            //Jovana 11.06.21
            NZ1.Naziv       = ToFixedLength(Program.imeFirme + " d.o.o", NZ1.Naziv.Length);
            NZ1.Mesto       = ToFixedLength("Beograd", NZ1.Mesto.Length);
            NZ1.DatumValute = DatumP.Replace(".", "");
            //NZ1.Prazno = " ";
            NZ1.text      = ToFixedLength("MULTI E-BANK", NZ1.text.Length);
            NZ1.TipStavke = ToFixedLength("0", NZ1.TipStavke.Length);

            Rr = 1;

            red = NZ1.TekuciRacunKomitenta + NZ1.Naziv + NZ1.Mesto + NZ1.DatumValute + NZ1.Prazno + NZ1.text + NZ1.TipStavke;

            //byte[] info = new UTF8Encoding(true).GetBytes(red);
            //fs1.Write(info, 0, info.Length);
            //fs1.Close();



            // 'red sa zbirnom stavkom
            //Rr = 2
            NZ2.TekuciRacunKomitenta = coos.FormatirajRacun(KojiRacun);
            NZ2.Naziv = ToFixedLength(Program.imeFirme.ToUpper() + " d.o.o", NZ2.Naziv.Length);
            NZ2.Mesto = ToFixedLength("Beograd", NZ2.Mesto.Length);
            //NZ2.ZbirIznosaSvihNaloga = Replace(Ukupno.ToString("0000000000000.00"), ",", "");
            NZ2.ZbirIznosaSvihNaloga       = ToFixedLength(Ukupno.ToString("0000000000000.00").Replace(",", ""), NZ2.ZbirIznosaSvihNaloga.Length);
            NZ2.BrojPlatnihNalogaUDatoteci = ToFixedLength(BrojNaloga.ToString("00000"), NZ2.BrojPlatnihNalogaUDatoteci.Length);
            //NZ2.Prazno = " ";
            NZ2.TipStavke = "9";


            string red2 = NZ2.TekuciRacunKomitenta + NZ2.Naziv + NZ2.Mesto + NZ2.ZbirIznosaSvihNaloga + NZ2.BrojPlatnihNalogaUDatoteci + NZ2.Prazno + NZ2.TipStavke;

            string[] lines = { red, red2 };
            System.IO.File.WriteAllLines(Datoteka, lines);


            //   datum = convert(datetime, '26.10.18', 4)

            str  = "Select ID_DokumentaView,BrojTekucegRacuna, NazivKom,Mesto,SifraPlacanja,SifrePlacanja,PozivNaBrojDobavljaca,PozivNaBroj,ID_pozivNaBroj ,isplate,Datum,ModelPozivaNaBrojOdobrenja ";
            str += "from NaloziZaPlacanjeView  ";
            str += "Where ID_BankaView=" + pbanka.ToString();
            str += " and   FORMAT (datum,'dd.MM.yy')='" + DatumP + "'   And OznakaKnjizenja='10' Order by iid ";

            rspromet = db.ReturnDataTable(str);

            if (rspromet.Rows.Count > 0)
            {
                IdDokView = Convert.ToInt32(rspromet.Rows[0]["ID_DokumentaView"]);
            }
            else
            {
                IdDokView = 1;
            }


            string red3 = "";

            foreach (DataRow row in rspromet.Rows)
            {
                Rr = Rr + 1;

                if (row["BrojTekucegRacuna"].ToString() != "")
                {
                    str = row["BrojTekucegRacuna"].ToString();
                    NZ.TekuciRacunPartnera = coos.FormatirajRacun(str);
                }

                NZ.NazivPrimaoca = ToFixedLength(row["NazivKom"].ToString(), NZ.NazivPrimaoca.Length);
                NZ.MestoPrimaoca = ToFixedLength(row["Mesto"].ToString(), NZ.MestoPrimaoca.Length);
                NZ.PopunjenoSa0  = "0";
                NZ.ModelPozivaNaBrojZaduzenja = ToFixedLength("", NZ.ModelPozivaNaBrojZaduzenja.Length);
                NZ.PozivNaBrojZaduzenja       = ToFixedLength("", NZ.PozivNaBrojZaduzenja.Length);
                NZ.SifraPlacanja = ToFixedLength(row["SifraPlacanja"].ToString(), NZ.SifraPlacanja.Length);
                //ivana 14.6.2021.
                NZ.SvrhaPlacanja = ToFixedLength(row["SifrePlacanja"].ToString(), NZ.SvrhaPlacanja.Length);
                NZ.ModelPozivaNaBrojOdobrenja = ToFixedLength("", NZ.ModelPozivaNaBrojOdobrenja.Length);
                NZ.PozivNaBrojOdobrenja       = ToFixedLength(row["PozivnaBrojDobavljaca"].ToString(), NZ.PozivNaBrojOdobrenja.Length);

                if (row["PozivNaBroj"].ToString().IndexOf("121-") > 0)
                {
                    rsp = db.ReturnDataTable("Select Distinct ID_PDVUlazniJciTotali as Iid,BrDok from PDVUlazniJciTotali where ID_RacunZaPlacanje=" + row["ID_PozivNaBroj"].ToString());
                    if (rsp.Rows.Count > 0)
                    {
                        mr = row["PozivnaBrojDobavljaca"].ToString().Replace("-", "");
                        clsObradaOsnovnihSifarnika os = new clsObradaOsnovnihSifarnika();
                        kb = os.KB_97(mr);

                        NZ.PozivNaBrojOdobrenja       = ToFixedLength(kb.ToString() + "-" + row["PozivnaBrojDobavljaca"].ToString(), NZ.PozivNaBrojOdobrenja.Length);
                        NZ.SifraPlacanja              = "53";
                        NZ.ModelPozivaNaBrojOdobrenja = "97";
                        NZ.SvrhaPlacanja              = ToFixedLength("Uplata tekucih prihoda", NZ.SvrhaPlacanja.Length);
                    }
                }

                if (NZ.SifraPlacanja == "54")
                {
                    NZ.ModelPozivaNaBrojOdobrenja = "97";
                    NZ.SvrhaPlacanja = ToFixedLength("PID-" + Convert.ToDateTime(row["Datum"]).Month.ToString() + "-" + Convert.ToDateTime(row["Datum"]).Year.ToString(), NZ.SvrhaPlacanja.Length);
                }


                if (NZ.SifraPlacanja == "40")
                {
                    NZ.ModelPozivaNaBrojOdobrenja = "97";
                }

                NZ.PopunjenoSa5x0 = "00000";
                NZ.Prazno         = " ";
                NZ.OblikPlacanja  = "2";
                NZ.OblikPlacanja1 = " ";
                NZ.Prazno1        = " ";
                NZ.DatumValute    = DatumP.Replace(".", "");

                NZ.iznos = ToFixedLength(Math.Round(Convert.ToDecimal(row["isplate"]), 2).ToString("00000000000.00").Replace(",", ""), NZ.iznos.Length);

                NZ.TipDokumenta = "0";
                NZ.TipStavke    = "1";


                red3 += NZ.TekuciRacunPartnera + NZ.NazivPrimaoca + NZ.MestoPrimaoca + NZ.PopunjenoSa0 + NZ.ModelPozivaNaBrojZaduzenja + NZ.PozivNaBrojZaduzenja +
                        NZ.SvrhaPlacanja + NZ.PopunjenoSa5x0 + NZ.Prazno + NZ.OblikPlacanja + NZ.SifraPlacanja + NZ.OblikPlacanja1 + NZ.Prazno1 + NZ.iznos +
                        NZ.ModelPozivaNaBrojOdobrenja + NZ.PozivNaBrojOdobrenja + NZ.DatumValute + NZ.TipDokumenta + NZ.TipStavke + "\n";
            }
            string strParams = "";

            strParams  = "@param1=" + pbanka + "`";
            strParams += "@param2=" + IdDokView.ToString() + "`";
            strParams += "@param3=" + 0;

            str  = "Update  PlacanjaNaplate set PrenesenoZaPlacanje=1,RBPrenosa=" + NRB.ToString();
            str += " Where ID_BankaView= @param1 and  ID_DokumentaView=@param2  and PrenesenoZaPlacanje=@param3";

            lista.Add(new string[] { str, strParams });
            lista.ToArray();
            string rezultat = db.ReturnSqlTransactionParams(lista);

            lista.Clear();
            if (rezultat != "")
            {
                MessageBox.Show(rezultat);
            }

            Dictionary <string, string> rezult = db.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:PripremaZaPlacanje", "IdDokument:" + (int)IdDokView);

            strParams  = "";
            strParams  = "@param1=" + IdDokView + "`";
            strParams += "@param2=" + pbanka;
            str        = "DELETE from PlateAnalitike where ID_DokumentaView=@param1 and ID_BankaView=@param2";
            lista.Add(new string[] { str, strParams });
            lista.ToArray();
            rezultat = db.ReturnSqlTransactionParams(lista);
            lista.Clear();
            if (rezultat != "")
            {
                MessageBox.Show(rezultat);
            }

            //pp = pp + 1

            //string[] lineskraj = { red, red2, red3 };
            //System.IO.File.WriteAllLines(Datoteka, lineskraj);
            // string[] liness = { red3 };
            System.IO.File.AppendAllText(Datoteka, red3);
            if (File.Exists(Datoteka) == false)
            {
                return("");
            }

            return(" ");
        }
        public string  preuzimanjeIzvodaizBanaka()
        {
            string pDatum    = "";
            string pdokument = "";
            string PPrikaz   = "";
            int    RedniBroj = 0;
            string BrojDok   = "";
            string rezultat  = "";
            int    IdDokView = 1;

            List <string[]> lista = new List <string[]>();

            //list.ToArray();

DATUMVREME:
            pDatum = Prompt.ShowDialog(DateTime.Now.ToString("dd.MM.yy"), "Unesite datum za koji preuzimamo izvod", "Preuzimanje uplata od banaka");
            if (pDatum == "")
            {
                return("");
            }

            clsOperacije co = new clsOperacije();

            bool dt = co.IsDateTime(pDatum);

            if (dt == false)
            {
                MessageBox.Show("Nekorektan unos datuma."); goto DATUMVREME;
            }
            int godina = Convert.ToInt32(DateTime.Today.Year.ToString().Substring(2, 2));

            if (Convert.ToInt16(pDatum.Substring(pDatum.Length - 2)) > godina)
            {
                MessageBox.Show("Nekorektan unos datuma."); goto DATUMVREME;
            }
            pdokument = "PrometUplata";
            Dokument  = "PrometUplata";

            DataTable rssifdok = db.ReturnDataTable("select * from SifarnikDokumenta where  naziv='" + pdokument + "'");

            PPrikaz           = rssifdok.Rows[0]["prikaz"].ToString().Trim();
            NacinRegistracije = rssifdok.Rows[0]["NacinRegistracije"].ToString().Trim();
            DokumentJe        = rssifdok.Rows[0]["Vrsta"].ToString().Trim();
            NazivKlona        = rssifdok.Rows[0]["UlazniIzlazni"].ToString().Trim();
            string str = "Select Brdok,datum,ID_DokumentaStablo,ID_DokumentaTotali,Predhodni from DokumentaTotali ";

            str += " where Dokument='" + pdokument + "'" + " AND Format(Datum,'dd.MM.yy')='" + pDatum + "'";
            DataTable ProveraDok = db.ReturnDataTable(str);

            //ivana 17.6.2021.
            if (ProveraDok.Rows.Count == 0)
            {
                str = "SELECT * From DokumentaStablo where  Naziv = '" + pdokument + "'";
                DataTable rsDokumentaStablo = db.ReturnDataTable(str);
                if (rsDokumentaStablo.Rows.Count > 0)
                {
                    IdDokumentaStablo = (int)rsDokumentaStablo.Rows[0]["ID_DokumentaStablo"];
                }
                else
                {
                    MessageBox.Show("Nije registrovan dokument " + pdokument + "!"); return("");
                }

                Naslov = rsDokumentaStablo.Rows[0]["NazivJavni"].ToString();
                string opis = "Uplata na dan " + pDatum;
                clsObradaOsnovnihSifarnika cs = new clsObradaOsnovnihSifarnika();
                IdDokView = cs.UpisiDokument(ref BrojDok, opis, IdDokumentaStablo, pDatum);
            }
            else
            {
                //ProveraDok.Dispose();
                //MessageBox.Show("Nije pronađen dokumenat pod traženim datumom.");
                //return "";
                IdDokView = Convert.ToInt32(ProveraDok.Rows[0]["ID_DokumentaTotali"]);
            }

            str        = "Select Brdok,datum,ID_DokumentaStablo,ID_DokumentaTotali,Predhodni from DokumentaTotali ";
            str       += " where Dokument='" + pdokument + "'" + " AND Datum='" + pDatum + "'";
            ProveraDok = db.ReturnDataTable(str);

            pPrikaceniFajl    = co.CitajIniFajl("LOGOVANJE", "PutanjaPlacanja");
            PutanjaPlacanja   = pPrikaceniFajl;
            Program.BrDok     = ProveraDok.Rows[0]["BrDok"].ToString();
            DDatum            = pDatum; //// ProveraDok.Rows[0]["Datum"].ToString();
            Predhodnik        = ProveraDok.Rows[0]["Predhodni"].ToString();
            IdDokumentaStablo = (int)ProveraDok.Rows[0]["ID_DokumentaStablo"];
            KojiPrepis        = "IZVOD";
            pNalog            = NazivKlona;
            return(PutanjaPlacanja + "#" + pDatum + "#" + IdDokView.ToString() + "#" + KojiPrepis);
        }