Пример #1
0
        private void btnKniziIzvod_Click(object sender, EventArgs e)
        {
            Form1.GlobalVariable.ValidacijaDenMesecGodina(txtDatumIzvod);

            int z = 0;

            if (!int.TryParse(txtBrIzvod.Text, out z))
            {
                MessageBox.Show("Внесете број на извод со цифри", "Грешен број на извод", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                return;
            }

            int kolonaBrFaktura           = 2;
            int kolonaIznosFaktura        = 3;
            int kolonaZiroSmetkaRedovenF  = 4;
            int kolonaIznosRedovenF       = 5;
            int kolonaZiroSmetkaRezervenF = 6;
            int kolonaIznosRezervenF      = 7;

            //int vkRedici = 4295;

            string[] nizaBrojNaStan = new string[120000];
            string[] nizaUlicaIme   = new string[120000];
            string[] nizaBrojUlica  = new string[120000];
            string[] nizaGrad       = new string[120000];
            string[] celosnaUlica   = new string[120000];

            Excel.Application oXL;
            Excel.Workbook    oWB;
            Excel.Worksheet   oSheet;

            oXL         = (Excel.Application)Marshal.GetActiveObject("Excel.Application");
            oXL.Visible = true;

            oWB    = (Excel.Workbook)oXL.ActiveWorkbook;
            oSheet = (Excel.Worksheet)oWB.ActiveSheet;

            int idStan = 0;
            int brojacRazlicniIznosiFakturaIzvod = 0;

            //pomini gi site redici i za sekoja uplatena faktura rasknizi
            for (int i = 0; i <= oSheet.Rows.Count; i++)
            {
                //se zema od bazata fakturata za koja se izvrsila uplata, taa faktura se porebaruva po br na faktura
                var queryIzdadeniFakturii = from fakturi in context.tblIzdadeniFakturis
                                            where fakturi.br_faktura == ((Microsoft.Office.Interop.Excel.Range)oSheet.Cells[i, 1]).Value2.ToString()
                                            select fakturi;

                //zemi ja fakturata po cii br na faktura e uplateno i zacuvaj ja taa faktura kako platena, namali go dulgot na sopstvenikot,
                foreach (var faktura in queryIzdadeniFakturii)
                {
                    if (faktura.iznos == int.Parse(((Microsoft.Office.Interop.Excel.Range)oSheet.Cells[i, 2]).Value2.ToString()))
                    {
                        //fakturata se zacuvuva kako platena
                        faktura.IsPlatena = true;
                        idStan            = faktura.IDStan;

                        //da se zemi stanot za koj se plaka za da se namali zaostanatiot dolg
                        var queryZaostanatDolg = from sopsstan in context.tblSopstvenici_Stans
                                                 where sopsstan.IDStan == idStan
                                                 select sopsstan;

                        foreach (tblSopstvenici_Stan sopstvenik in queryZaostanatDolg)
                        {
                            //zaostanatiot dolg na sopstvenikot se namaluva za iznosot koj e platen
                            sopstvenik.zaostanat_dolg -= int.Parse(faktura.iznos.ToString());
                        }

                        tblZgrada zgrada = new tblZgrada();
                        //da se zemi stanot za koj se plaka za da se namali zaostanatiot dolg
                        var queryIDZgrada = from zgr in context.tblZgradas
                                            join stan in context.tblStanovis on zgr.sifra equals stan.IDZgrada
                                            where stan.IDStan == idStan
                                            select zgr;

                        foreach (var zgr in queryIDZgrada)
                        {
                            zgrada = zgr;
                        }

                        //izvodot se zacuvuva vo bazata
                        tblIzvodi izvod = new tblIzvodi()
                        {
                            ID_zgrada               = int.Parse(zgrada.ID.ToString()),
                            ID_stanar               = idStan,
                            ID_dobavuvac            = 0,
                            banka                   = zgrada.ime_bankaEden,
                            smetka_banka            = zgrada.ziro_smetka_redoven_fond_Stopanska,
                            br_izvod                = int.Parse(txtBrIzvod.Text),
                            datum                   = txtDatumIzvod.Text,
                            uplati                  = true,
                            isplati                 = false,
                            uplata_avans            = false,
                            isUplataDoMaj           = false,
                            datum_faktura           = faktura.datum,
                            povikuvacki_broj        = faktura.br_faktura,
                            iznos                   = faktura.iznos,
                            vraboteno_lice          = ProFM.Form1.GlobalVariable.stringNajavenKorisnik,
                            vreme_napraveni_promeni = DateTime.Now.ToString(),
                        };

                        context.tblIzvodis.InsertOnSubmit(izvod);
                        //noviot zapis zacuvaj go vo bazata
                        context.SubmitChanges();

                        //fondovite(saldoto) na zgradata za odredeni stavki
                        var queryFondoviZgrada = from fond in context.ZgradaFondovis
                                                 where fond.idZgrada == zgrada.ID
                                                 select fond;

                        foreach (var fond in queryFondoviZgrada)
                        {
                            fond.fondDrugo        += faktura.drugo;
                            fond.fondHigena       += faktura.cistenje;
                            fond.fondKanalizacija += faktura.kanalizacija;
                            fond.fondLift         += faktura.lift;
                            fond.fondRF           += faktura.rezerven_fond;
                            fond.fondStruja       += faktura.struja;
                            fond.fondUpravitel    += faktura.upravitel;
                            fond.fondVoda         += faktura.voda;
                        }
                        //zacuvuvanje na izmenite za fondovite za zgradata vo bazata
                        context.SubmitChanges();
                    }
                    else
                    {
                        brojacRazlicniIznosiFakturaIzvod++;
                        ((Microsoft.Office.Interop.Excel.Range)oSheet.Rows[i]).Interior.Color = Color.Red;
                    }
                }
                if (brojacRazlicniIznosiFakturaIzvod == 0)
                {
                    MessageBox.Show("Уплатите од изводот се внесени", "Внесени уплати", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    return;
                }
                else
                {
                    MessageBox.Show("Уплатите од изводот се внесени, провери во фајлот има " + brojacRazlicniIznosiFakturaIzvod + " нераскнижени уплати, тие уплати се со обележани со црвена боја", "Внесени уплати", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                    return;
                }
            }
        }
Пример #2
0
        private void btn_Zacuvaj_Click(object sender, EventArgs e)
        {
            //krerani se promenlivi za site polinja koi treba da se vnesat vo baza za edna Zgrada
            int    intSifra        = intLastSifraZgrada;
            string stringUlicaBroj = "";
            string stringGrad      = "";
            int    intPostBr       = 0;
            int    intBrStanovi    = 0;
            int    intBr_kat       = 0;

            string stringImeBankaEden = "";
            string string_ziro_smetka_redoven_fond_Stopanska  = "";
            string string_ziro_smetka_rezerven_fond_Stopanska = "";

            string stringImeBankaDva = "";
            string string_ziro_smetka_redoven_fond_Sparkase  = "";
            string string_ziro_smetka_rezerven_fond_Sparkase = "";

            bool Is_rezerven_fond    = false;
            bool Is_usluga_cistenje  = false;
            bool Is_usluga_upravitel = false;

            //polnenje na promenlivite so vrednosti od data gridot
            if (grdZgrada.Rows[0].Cells[0].Value != null)
            {
                intSifra = int.Parse(grdZgrada.Rows[0].Cells[0].Value.ToString());
            }

            if (grdZgrada.Rows[0].Cells[1].Value != null)
            {
                stringUlicaBroj = grdZgrada.Rows[0].Cells[1].Value.ToString();
            }
            else
            {
                MessageBox.Show("Внесете улица и број на зградата", "Грешка", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                return;
            }
            if (grdZgrada.Rows[0].Cells[2].Value != null)
            {
                stringGrad = grdZgrada.Rows[0].Cells[2].Value.ToString();
            }
            else
            {
                MessageBox.Show("Внесете го градот во кој се наоѓа зградата", "Грешка", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                return;
            }
            if (grdZgrada.Rows[0].Cells[3].Value != null)
            {
                intPostBr = int.Parse(grdZgrada.Rows[0].Cells[3].Value.ToString());
            }
            else
            {
                MessageBox.Show("Внесете го поштенскиот број на градот каде што се наоѓа зградата", "Грешка", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                return;
            }
            if (grdZgrada.Rows[0].Cells[4].Value != null)
            {
                intBrStanovi = int.Parse(grdZgrada.Rows[0].Cells[4].Value.ToString());
            }
            else
            {
                MessageBox.Show("Внесете број на станови", "Грешка", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                return;
            }

            if (grdZgrada.Rows[0].Cells[5].Value != null)
            {
                intBr_kat = int.Parse(grdZgrada.Rows[0].Cells[5].Value.ToString());
            }
            if (grdZgrada.Rows[0].Cells[6].Value != null)
            {
                stringImeBankaEden = grdZgrada.Rows[0].Cells[6].Value.ToString();
            }
            else
            {
                MessageBox.Show("Внесете ја првата банка", "Грешка", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                return;
            }

            if (grdZgrada.Rows[0].Cells[7].Value != null)
            {
                string_ziro_smetka_redoven_fond_Stopanska = grdZgrada.Rows[0].Cells[7].Value.ToString();
            }
            else
            {
                MessageBox.Show("Внесете ја жиро сметката за редовен фонд која ја имате отворено во првата банка", "Грешка", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                return;
            }

            if (grdZgrada.Rows[0].Cells[8].Value != null)
            {
                string_ziro_smetka_rezerven_fond_Stopanska = grdZgrada.Rows[0].Cells[8].Value.ToString();
            }
            else
            {
                MessageBox.Show("Внесете ја жиро сметката за редовен фонд која ја имате отворено во првата банка", "Грешка", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
                return;
            }

            if (grdZgrada.Rows[0].Cells[9].Value != null)
            {
                stringImeBankaDva = grdZgrada.Rows[0].Cells[9].Value.ToString();
            }

            if (grdZgrada.Rows[0].Cells[10].Value != null)
            {
                string_ziro_smetka_redoven_fond_Sparkase = grdZgrada.Rows[0].Cells[10].Value.ToString();
            }

            if (grdZgrada.Rows[0].Cells[11].Value != null)
            {
                string_ziro_smetka_rezerven_fond_Sparkase = grdZgrada.Rows[0].Cells[11].Value.ToString();
            }

            if (grdZgrada.Rows[0].Cells[12].Value != null)
            {
                if ((Boolean)grdZgrada.Rows[0].Cells[12].Value == true)
                {
                    Is_rezerven_fond = true;
                }
            }
            else
            {
                Is_rezerven_fond = false;
            }

            if (grdZgrada.Rows[0].Cells[13].Value != null)
            {
                if ((Boolean)grdZgrada.Rows[0].Cells[13].Value == true)
                {
                    Is_usluga_cistenje = true;
                }
            }
            else
            {
                Is_usluga_cistenje = false;
            }

            if (grdZgrada.Rows[0].Cells[14].Value != null)
            {
                if ((Boolean)grdZgrada.Rows[0].Cells[14].Value == true)
                {
                    Is_usluga_upravitel = true;
                }
            }
            else
            {
                Is_usluga_upravitel = false;
            }

            tblZgrada zgrada = new tblZgrada()
            {
                //polinjata vo bazata se polnat so vrednostite vo promenlivite
                sifra            = intSifra,
                ulica_br         = stringUlicaBroj,
                grad             = stringGrad,
                postenski_broj   = intPostBr,
                br_stanovi       = intBrStanovi,
                Is_rezerven_fond = Is_rezerven_fond,

                ime_bankaEden = stringImeBankaEden,
                ziro_smetka_redoven_fond_Stopanska  = string_ziro_smetka_redoven_fond_Stopanska,
                ziro_smetka_rezerven_fond_Stopanska = string_ziro_smetka_rezerven_fond_Stopanska,

                ime_bankaDva = stringImeBankaDva,
                ziro_smetka_redoven_fond_Sparkase  = string_ziro_smetka_redoven_fond_Sparkase,
                ziro_smetka_rezerven_fond_Sparkase = string_ziro_smetka_rezerven_fond_Sparkase,

                usluga_cistenje  = Is_usluga_cistenje,
                usluga_upravitel = Is_usluga_upravitel,
                br_katovi        = intBr_kat,

                vraboteno_lice          = ProFM.Form1.GlobalVariable.stringNajavenKorisnik,
                vreme_napraveni_promeni = DateTime.Now.ToString(),
            };

            //insertiranje na nova redica vo bazata za Zgrada - vnesuvanje na novata zgrada
            context.tblZgradas.InsertOnSubmit(zgrada);

            //sabmitiranje na podatocite vo bazata
            context.SubmitChanges();

            //od data gridot vo formata se zema ID na novo vnesenata zgrada
            //istata vrednost se zgolemuva za eden za da mozi da se dobie ID za nova zgrada
            int intNovIDZgrada = int.Parse(grdZgrada.Rows[0].Cells[0].Value.ToString()) + 1;

            //cistenje na gridot
            grdZgrada.Rows.Clear();

            //vo gridot vo poleto za ID se vnesuva novo presmetanoto ID za zgrada (inkrementirano za eden)
            grdZgrada.Rows[0].Cells[0].Value = intNovIDZgrada;

            //zemi go posledno vnesenoto ID za zgradavo bazata
            int intStanarID = (from stanari in context.tblSopstvenici_Stans
                               orderby stanari.IDSopstvenik descending
                               select int.Parse(stanari.IDSopstvenik.ToString())).FirstOrDefault();

            //poslednot vnesenoto ID za zgrada se zgolemuva za eden i se vnesuva vo data gridot
            intStanarID += 1;

            for (int j = 0; j < intBrStanovi; j++)
            {
                tblStanovi stanNovaZgr = new tblStanovi()
                {
                    IDStan                  = intStanarID,
                    IDZgrada                = intSifra,
                    vraboteno_lice          = ProFM.Form1.GlobalVariable.stringNajavenKorisnik,
                    vreme_napraveni_promeni = DateTime.Now.ToString(),
                };

                tblSopstvenici_Stan sopstveniciNovaZgr = new tblSopstvenici_Stan()
                {
                    IDStan                  = intStanarID,
                    zaostanat_dolg          = 0,
                    vraboteno_lice          = ProFM.Form1.GlobalVariable.stringNajavenKorisnik,
                    vreme_napraveni_promeni = DateTime.Now.ToString(),
                };

                intStanarID++;
                //insertiranje na nova redica vo bazata za Stanovi - vnesuvanje na nov stan
                context.tblStanovis.InsertOnSubmit(stanNovaZgr);

                //sabmitiranje na podatocite vo bazata
                context.SubmitChanges();

                //insertiranje na nova redica vo bazata za Sopstvenici - vnesuvanje na nov sopstvenik
                context.tblSopstvenici_Stans.InsertOnSubmit(sopstveniciNovaZgr);

                //sabmitiranje na podatocite vo bazata
                context.SubmitChanges();
            }
        }
Пример #3
0
        private void btnVnesi_Click(object sender, EventArgs e)
        {
            if (txtBrStanovi.Text == "" || txtGrad.Text == "" || txtPostenskiBroj.Text == "" || txtPrvaBanka.Text == "" || txtUlicaBroj.Text == "" || txtZiroSmetkaRedovenBankaEden.Text == "" || txtZiroSmetkaRezervenBankaEden.Text == "")
            {
                MessageBox.Show("Внесете ги основните информации за зградата");
                return;
            }

            bool Is_rezerven_fond    = false;
            bool Is_usluga_cistenje  = false;
            bool Is_usluga_upravitel = false;

            if (chkRezervenFond.Checked)
            {
                Is_rezerven_fond = true;
            }

            if (chkCistenje.Checked)
            {
                Is_usluga_cistenje = true;
            }

            if (chkUpravitel.Checked)
            {
                Is_usluga_upravitel = true;
            }

            int z;
            int katovi = 0;

            if (int.TryParse(txtBrKatovi.Text, out z))
            {
                katovi = int.Parse(txtBrKatovi.Text);
            }

            bool zaednicaStanari = false;
            bool zaStanari       = false;

            //proverka dali se vnesuva zaednica na stanari
            //i dali se fakturira za cistenje po stanar namesto da mu se dava fiskalna
            if (chkZaednicaStanari.Checked)
            {
                zaednicaStanari = true;
            }
            if (chkZaStanari.Checked)
            {
                zaStanari = true;
            }

            tblZgrada zgrada = new tblZgrada()
            {
                //polinjata vo bazata se polnat so vrednostite vo promenlivite
                sifra            = int.Parse(txtSifra.Text),
                ulica_br         = txtUlicaBroj.Text,
                grad             = txtGrad.Text,
                postenski_broj   = int.Parse(txtPostenskiBroj.Text),
                br_stanovi       = int.Parse(txtBrStanovi.Text),
                Is_rezerven_fond = Is_rezerven_fond,

                ime_bankaEden = txtPrvaBanka.Text,
                ziro_smetka_redoven_fond_Stopanska  = txtZiroSmetkaRedovenBankaEden.Text,
                ziro_smetka_rezerven_fond_Stopanska = txtZiroSmetkaRezervenBankaEden.Text,

                ime_bankaDva = txtBankaDva.Text,
                ziro_smetka_redoven_fond_Sparkase  = txtZiroSmetkaRedovenBankaDva.Text,
                ziro_smetka_rezerven_fond_Sparkase = txtZiroSmetkaRezervenBankaDva.Text,

                usluga_cistenje  = Is_usluga_cistenje,
                usluga_upravitel = Is_usluga_upravitel,
                br_katovi        = katovi,

                vraboteno_lice          = ProFM.Form1.GlobalVariable.stringNajavenKorisnik,
                vreme_napraveni_promeni = DateTime.Now.ToString(),

                zaednicaStanari      = zaednicaStanari,
                sePlakaPoSopstvenici = zaStanari,
            };

            //insertiranje na nova redica vo bazata za Zgrada - vnesuvanje na novata zgrada
            context.tblZgradas.InsertOnSubmit(zgrada);

            //sabmitiranje na podatocite vo bazata
            context.SubmitChanges();

            //zemi go posledno vnesenoto ID za zgradavo bazata
            var intLastIDZgrada = (from IDZgrada in context.tblZgradas
                                   orderby IDZgrada.sifra descending
                                   select int.Parse(IDZgrada.ID.ToString())).FirstOrDefault();

            if (chkUpravitel.Checked)
            {
                ZgradaFondovi zgradaFond = new ZgradaFondovi()
                {
                    idZgrada               = intLastIDZgrada,
                    fondStruja             = 0,
                    fondVoda               = 0,
                    fondKanalizacija       = 0,
                    fondLift               = 0,
                    fondHigena             = 0,
                    fondUpravitel          = 0,
                    fondDrugo              = 0,
                    fondRF                 = 0,
                    fondBankarskaProvizija = 0,
                };

                //insertiranje na nova redica vo bazata za Zgrada - vnesuvanje na novata zgrada
                context.ZgradaFondovis.InsertOnSubmit(zgradaFond);

                //sabmitiranje na podatocite vo bazata
                context.SubmitChanges();

                tblArhivskiBrojZgradi arhiva = new tblArhivskiBrojZgradi()
                {
                    arhivskiBroj            = "0",
                    brojac                  = 0,
                    godBrojac               = 0,
                    datum                   = "0",
                    vreme_napraveni_promeni = "0",
                    vraboteno_lice          = "0",
                    IDStan                  = 0,
                    IDZgrada                = intLastIDZgrada,
                };

                //insertiranje na nova redica vo bazata za Zgrada - vnesuvanje na novata zgrada
                context.tblArhivskiBrojZgradis.InsertOnSubmit(arhiva);
                //sabmitiranje na podatocite vo bazata
                context.SubmitChanges();
            }

            //zemi go posledno vnesenoto ID za zgradavo bazata
            int intStanarID = (from stanari in context.tblSopstvenici_Stans
                               orderby stanari.IDSopstvenik descending
                               select int.Parse(stanari.IDSopstvenik.ToString())).FirstOrDefault();

            //poslednot vnesenoto ID za zgrada se zgolemuva za eden i se vnesuva vo data gridot
            intStanarID += 1;

            for (int j = 0; j < int.Parse(txtBrStanovi.Text); j++)
            {
                tblStanovi stanNovaZgr = new tblStanovi()
                {
                    IDStan                  = intStanarID,
                    IDZgrada                = int.Parse(txtSifra.Text),
                    vraboteno_lice          = ProFM.Form1.GlobalVariable.stringNajavenKorisnik,
                    vreme_napraveni_promeni = DateTime.Now.ToString(),
                };

                tblSopstvenici_Stan sopstveniciNovaZgr = new tblSopstvenici_Stan()
                {
                    IDStan                  = intStanarID,
                    zaostanat_dolg          = 0,
                    vraboteno_lice          = ProFM.Form1.GlobalVariable.stringNajavenKorisnik,
                    vreme_napraveni_promeni = DateTime.Now.ToString(),
                };

                intStanarID++;
                //insertiranje na nova redica vo bazata za Stanovi - vnesuvanje na nov stan
                context.tblStanovis.InsertOnSubmit(stanNovaZgr);

                //sabmitiranje na podatocite vo bazata
                context.SubmitChanges();

                //insertiranje na nova redica vo bazata za Sopstvenici - vnesuvanje na nov sopstvenik
                context.tblSopstvenici_Stans.InsertOnSubmit(sopstveniciNovaZgr);

                //sabmitiranje na podatocite vo bazata
                context.SubmitChanges();
            }


            //vo gridot vo poleto za ID se vnesuva novo presmetanoto ID za zgrada (inkrementirano za eden)
            txtSifra.Text = (int.Parse(txtSifra.Text) + 1).ToString();

            txtBankaDva.Text                    = "";
            txtBrKatovi.Text                    = "";
            txtBrStanovi.Text                   = "";
            txtGrad.Text                        = "";
            txtPostenskiBroj.Text               = "";
            txtPrvaBanka.Text                   = "";
            txtUlicaBroj.Text                   = "";
            txtZiroSmetkaRedovenBankaDva.Text   = "";
            txtZiroSmetkaRedovenBankaEden.Text  = "";
            txtZiroSmetkaRezervenBankaDva.Text  = "";
            txtZiroSmetkaRezervenBankaEden.Text = "";
            chkCistenje.Checked                 = false;
            chkUpravitel.Checked                = false;
            chkRezervenFond.Checked             = false;
            chkZaednicaStanari.Checked          = false;
            chkZaStanari.Checked                = false;
        }
        public void PresmetkaVkupenIznos()
        {
            //cistenje na bool promenlivite za stavkite
            isStruja       = false;
            isCistenje     = false;
            isUpravitel    = false;
            isVoda         = false;
            isKanalizacija = false;
            isLift         = false;
            isRezervenFond = false;
            isDrugo        = false;

            //zemanje na podatoci za izbranata zgrada
            var queryIzbrana = from zgr in context.tblZgradas
                               where zgr.ID == IDZgrada
                               select zgr;

            tblZgrada izbranaZgrada = new tblZgrada();

            foreach (tblZgrada zgr in queryIzbrana)
            {
                izbranaZgrada = zgr;
            }
            vkupnoIznos = float.Parse(txtVkupno.Text);


            //zemanje na podatoci za selektiraniot stan, da se vidi dali e osloboden od nesto
            var queryOsloboden = from osloboden in context.tblOslobodeniStans
                                 where osloboden.IDStan == pecatiStanar.IDStan
                                 select osloboden;

            foreach (var oslo in queryOsloboden)
            {
                //se pravi proverka dali datumot na faktura e pomegu datumot na soodvetnata odluka (od - do)
                string[] nizaString_oslobodenOd  = oslo.od.Split('.');
                string[] nizaString_oslobodenDo  = [email protected]('.');
                string[] nizaString_datumFaktura = txtDatumFaktura.Text.Split('.');

                int int_mesecOslobodenOd  = int.Parse(nizaString_oslobodenOd[0]);
                int int_godinaOslobodenOd = int.Parse(nizaString_oslobodenOd[1]);

                int int_mesecOslobodenDo  = int.Parse(nizaString_oslobodenDo[0]);
                int int_godinaOslobodenDo = int.Parse(nizaString_oslobodenDo[1]);

                int int_mesecDatumFaktura  = int.Parse(nizaString_datumFaktura[0]);
                int int_godinaDatumFaktura = int.Parse(nizaString_datumFaktura[1]);

                if (int_godinaOslobodenOd <= int_godinaDatumFaktura && int_godinaOslobodenDo >= int_godinaDatumFaktura)
                {
                    if (int_godinaOslobodenOd == int_godinaDatumFaktura && int_godinaOslobodenDo != int_godinaDatumFaktura && int_mesecOslobodenOd <= int_mesecDatumFaktura)
                    {
                        if (bool.Parse(oslo.isStornirana.ToString()))
                        {
                        }
                        else
                        {
                            // se polanat bool promenlivite so podatocite od bazata, za toa dali stanarot e osloboden ili ne za datumot na novata faktura
                            isStruja       = (bool)oslo.struja;
                            isCistenje     = (bool)oslo.cistenje;
                            isUpravitel    = (bool)oslo.upravitel;
                            isVoda         = (bool)oslo.voda;
                            isKanalizacija = (bool)oslo.kanalizacija;
                            isLift         = (bool)oslo.lift;
                            isRezervenFond = (bool)oslo.rezerven_fond;
                            isDrugo        = (bool)oslo.drugo;
                        }
                    }

                    if (int_godinaOslobodenOd != int_godinaDatumFaktura && int_godinaOslobodenDo == int_godinaDatumFaktura && int_mesecOslobodenDo >= int_mesecDatumFaktura)
                    {
                        if (bool.Parse(oslo.isStornirana.ToString()))
                        {
                        }
                        else
                        {
                            // se polanat bool promenlivite so podatocite od bazata, za toa dali stanarot e osloboden ili ne za datumot na novata faktura
                            isStruja       = (bool)oslo.struja;
                            isCistenje     = (bool)oslo.cistenje;
                            isUpravitel    = (bool)oslo.upravitel;
                            isVoda         = (bool)oslo.voda;
                            isKanalizacija = (bool)oslo.kanalizacija;
                            isLift         = (bool)oslo.lift;
                            isRezervenFond = (bool)oslo.rezerven_fond;
                            isDrugo        = (bool)oslo.drugo;
                        }

                        int posledenMesec = int_mesecOslobodenDo + 1;

                        if (posledenMesec == int_mesecDatumFaktura)
                        {
                            isOslobodenIstekuva = true;
                        }
                    }

                    if (int_godinaOslobodenOd == int_godinaDatumFaktura && int_godinaOslobodenDo == int_godinaDatumFaktura && int_mesecOslobodenDo >= int_mesecDatumFaktura && int_mesecOslobodenOd <= int_mesecDatumFaktura)
                    {
                        if (bool.Parse(oslo.isStornirana.ToString()))
                        {
                        }
                        else
                        {
                            // se polanat bool promenlivite so podatocite od bazata, za toa dali stanarot e osloboden ili ne za datumot na novata faktura
                            isStruja       = (bool)oslo.struja;
                            isCistenje     = (bool)oslo.cistenje;
                            isUpravitel    = (bool)oslo.upravitel;
                            isVoda         = (bool)oslo.voda;
                            isKanalizacija = (bool)oslo.kanalizacija;
                            isLift         = (bool)oslo.lift;
                            isRezervenFond = (bool)oslo.rezerven_fond;
                            isDrugo        = (bool)oslo.drugo;
                        }

                        int posledenMesec = int_mesecOslobodenDo + 1;

                        if (posledenMesec == int_mesecDatumFaktura)
                        {
                            isOslobodenIstekuva = true;
                        }
                    }

                    if (int_godinaOslobodenOd < int_godinaDatumFaktura && int_godinaOslobodenDo > int_godinaDatumFaktura)
                    {
                        if (bool.Parse(oslo.isStornirana.ToString()))
                        {
                        }
                        else
                        {
                            // se polanat bool promenlivite so podatocite od bazata, za toa dali stanarot e osloboden ili ne za datumot na novata faktura
                            isStruja       = (bool)oslo.struja;
                            isCistenje     = (bool)oslo.cistenje;
                            isUpravitel    = (bool)oslo.upravitel;
                            isVoda         = (bool)oslo.voda;
                            isKanalizacija = (bool)oslo.kanalizacija;
                            isLift         = (bool)oslo.lift;
                            isRezervenFond = (bool)oslo.rezerven_fond;
                            isDrugo        = (bool)oslo.drugo;
                        }
                    }
                }
            }

            //nadolu vo tabelata za stavkuite se vnesuvaat iznosite koj treba da gi plati po stavka stanarot
            //ako toj e osloboden od nekoja stavka iznosot za taa  stavka ke bidi nula
            //bidejki vkupniot iznos koj treba da se plati od strana na stanarot
            //prethodno bese presmetan vrz osnova na odlukata koja bese vnesena vo formata
            //sega ako stanarot e osloboden od nekoja stavka vkupniot iznos se namaluva za iznosot za taa stavka koj e vo formata

            if (isStruja)
            {
                //funkcijata PomestiIznosDesno se povikuva so cel iznosot da bidi pomesten malku podesno
                //i site iznosi da bidat izramneti
                string_iznosStruja = txtIznosNula.Text;
                vkupnoIznos       -= float.Parse(txtIznosStruja.Text);
            }
            else
            {
                string_iznosStruja = txtIznosStruja.Text;
            }

            if (isVoda)
            {
                string_iznosVoda = txtIznosNula.Text;
                vkupnoIznos     -= float.Parse(txtIznosVoda.Text);
            }
            else
            {
                string_iznosVoda = txtIznosVoda.Text;
            }

            if (isKanalizacija)
            {
                string_iznosKanalizacija = txtIznosNula.Text;
                vkupnoIznos -= float.Parse(txtIznosKanalizacija.Text);
            }
            else
            {
                string_iznosKanalizacija = txtIznosKanalizacija.Text;
            }

            if (isLift)
            {
                string_iznosLift = txtIznosNula.Text;
                vkupnoIznos     -= float.Parse(txtIznosLift.Text);
            }
            else
            {
                string_iznosLift = txtIznosLift.Text;
            }


            //proverka dali stanarot e osloboden od rezerven fond
            if (isRezervenFond)
            {
                string_iznosRF = txtIznosNula.Text;
                vkupnoIznos   -= float.Parse(txtIznosRezervenFond.Text);
            }

            //ako ne e osloboden od rezerven fond treba da se vidi dali vo taa zgrada rezervniot fond se presmetuva m2
            else
            {
                //zemi ja kvadraturata za stanot za koj se pecati
                var queryKvadratura = from kvadrat in context.tblStanovis
                                      where kvadrat.IDStan == pecatiStanar.IDStan
                                      select kvadrat.kvadratura;

                //kreiranje na promenliva kvadratura
                string kvadratura = "";

                //vo promenlivata kvadratura treba da se zacuva kvadraturata na stnaot
                foreach (var kvadrati in queryKvadratura)
                {
                    kvadratura = kvadrati.ToString();
                }
                //rezerven fond ako e po m2
                if ((bool)izbranaZgrada.Is_rezerven_fond)
                {
                    float iznosRezFond = float.Parse(txtIznosRezervenFond.Text) * int.Parse(kvadratura);
                    txtRezervenM2.Text = iznosRezFond.ToString();
                    string_iznosRF     = txtRezervenM2.Text;
                }
                else
                {
                    string_iznosRF = txtIznosRezervenFond.Text;
                }


                string i = string_iznosRF;
                //iznosot za rezerven fond po kvadratura da se dodade na celiot iznos
                //da se odzemi eden, oti pretohodno na vkupen iznos mu e dodaden 1den za rez. fond
                vkupnoIznos += float.Parse(string_iznosRF.ToString()) - float.Parse(txtIznosRezervenFond.Text);
            }

            if (isCistenje)
            {
                string_iznosCistenje = txtIznosNula.Text;
                vkupnoIznos         -= float.Parse(txtIznosCistenje.Text);
            }
            else
            {
                string_iznosCistenje = txtIznosCistenje.Text;
            }


            if (isUpravitel)
            {
                string_iznosUpravitel = "0";
                vkupnoIznos          -= float.Parse(txtIznosUpravitel.Text);
            }
            else
            {
                string_iznosUpravitel = txtIznosUpravitel.Text;
            }

            if (isDrugo)
            {
                string_iznosDrugo = "0";
                vkupnoIznos      -= float.Parse(txtDrugo.Text);
            }
            else
            {
                string_iznosDrugo = txtDrugo.Text;
            }
        }