private void btnVnesiUplata_Click(object sender, EventArgs e) { btnPrebaraj_Click(sender, e); //pred da se vnesi uplatata vo bazata treba da se proveri dali operatorot gi popolnil site polinja // ako ne go popolnil toa ke mu se ukazi so message box if (txtBrIzvod.Text == "" || txtdatumIzvod.Text == "" || txtIznos.Text == "") { MessageBox.Show("Немате внесено вредности во сите полиња од прозорецот", "Внеси вредности", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } if (rbUplata.Checked || rbIsplata.Checked) { if (txtDatumFaktura.Text == "") { MessageBox.Show("Немате внесено вредности во сите полиња од прозорецот", "Внеси вредности", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); return; } } //se zemaat podatoci za izbraniot sopstvenik //var stan = (tblSopstvenici_Stan)cmbStanari.SelectedItem; //se zacuvuva ID od izbraniot stan //int idStan = stan.IDStan; int intIdStan = 0; //se zemaat podatoci za dobavuvacot //var dob = (tblDobavuvaci)cmbDobavuvac.SelectedItem; int intIdDobavuvac = 0; //se zacuvuva ID od izbraniot dobavuvac //IdDobavuvac = dob.ID_dobavuvac; //brojot na faktura go zema prethodno zacuvaniot br na faktura string stringBrFakturaa = stringBrFaktura; //proverka dali operatorot vnesil uplata if (rbUplata.Checked) { //se zemaat podatoci za izbraniot sopstvenik var stan = (tblSopstvenici_Stan)cmbStanari.SelectedItem; //se zacuvuva ID od izbraniot stan intIdStan = stan.IDStan; //pronaoganje vo bazata na fakturata koja treba da se plati za izbraniot stanar var queryIsPlatenaFaktura = from faktura in context.tblIzdadeniFakturis where faktura.br_faktura == stringBrFakturaa //where faktura.br_faktura == stringBrFaktura select faktura; //zapisvanje vo bazata deka fakturata e platena foreach (tblIzdadeniFakturi faktura in queryIsPlatenaFaktura) { faktura.IsPlatena = true; intIdStan = 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 == intIdStan select sopsstan; foreach (tblSopstvenici_Stan sopstvenik in queryZaostanatDolg) { //zaostanatiot dolg na sopstvenikot se namaluva za iznosot koj e platen sopstvenik.zaostanat_dolg -= int.Parse(txtIznos.Text); } //noviot zapis zacuvaj go vo bazata //context.SubmitChanges(); } if (rbIsplata.Checked) { //zemanje na podatoci za izbranata zgrada var zgrada = (Zgrada)cmbSifraZgrada.SelectedItem; //zemanje na ID na izbranata zgrada int intIdZgr = zgrada.ID; //se zemaat podatoci za dobavuvacot var dob = (Dobavuvac)cmbDobavuvac.SelectedItem; //se zacuvuva ID od izbraniot dobavuvac intIdDobavuvac = dob.ID_Dobavuvac; //pronaoganje vo bazata na fakturata koja treba da se plati za izbraniot stanar var queryIsPlatenaFaktura = from faktura in context.tblFaktura_Dobavuvacis where faktura.br_faktura == stringBrFakturaa && faktura.ID_zgrada == intIdZgr //where faktura.br_faktura == stringBrFaktura select faktura; //zapisvanje vo bazata deka fakturata e platena foreach (var faktura in queryIsPlatenaFaktura) { faktura.isPlatena = true; } } if (rbUplataAvans.Checked) { //se zemaat podatoci za izbraniot sopstvenik var stan = (tblSopstvenici_Stan)cmbStanari.SelectedItem; //se zacuvuva ID od izbraniot stan intIdStan = stan.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 == intIdStan select sopsstan; foreach (tblSopstvenici_Stan sopstvenik in queryZaostanatDolg) { //zaostanatiot dolg na sopstvenikot se namaluva za iznosot koj e platen sopstvenik.zaostanat_dolg -= int.Parse(txtIznos.Text); } } if (rbUplataPredMaj2014.Checked) { //se zemaat podatoci za izbraniot sopstvenik var stan = (tblSopstvenici_Stan)cmbStanari.SelectedItem; //se zacuvuva ID od izbraniot stan intIdStan = stan.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 == intIdStan select sopsstan; foreach (tblSopstvenici_Stan sopstvenik in queryZaostanatDolg) { //zaostanatiot dolg na sopstvenikot se namaluva za iznosot koj e platen sopstvenik.zaostantDolg2013 -= int.Parse(txtIznos.Text); } } //zemi gi vrednostite na selektiranata zgrada var izbranaZgrada = (Zgrada)cmbSifraZgrada.SelectedItem; //zacuvaj go ID na selektiranata zgrada int intIdZgrada = izbranaZgrada.ID; //deklaracija na dve promenlivi uplata i isplata i nivna inicijalizacija na false bool IsUplata = false; bool IsIsplata = false; bool IsUplataAvans = false; bool IsUplataAvansDoMaj = false; if (rbUplata.Checked) { //ako operatorot izbral da vnesi uplata togas IDDobavuvac mora da bidi nula //a promenlivata uplata true IsUplata = true; intIdDobavuvac = 0; } if (rbUplataAvans.Checked) { //ako operatorot izbral da vnesi uplata togas IDDobavuvac mora da bidi nula //a promenlivata uplataAvans true IsUplataAvans = true; intIdDobavuvac = 0; } if (rbUplataPredMaj2014.Checked) { //ako operatorot izbral da vnesi uplata togas IDDobavuvac mora da bidi nula //a promenlivata uplataAvans true IsUplataAvansDoMaj = true; intIdDobavuvac = 0; } if (rbIsplata.Checked) { //ako operatorot izbral da vnesi uplata togas IdStan mora da bidi nula //a promenlivata isplaya true IsIsplata = true; intIdStan = 0; } var imeBanka = cmbBanka.SelectedItem; string stringBanka = ""; if (imeBanka == listBanki[0]) { stringBanka = listBanki[0]; } if (imeBanka == listBanki[1]) { stringBanka = listBanki[1]; } //string banka = cmbBanka.SelectedText; //kreiranje na nov obijekt od tblIzvod i inicijalizacija na promenlivite vrz osnova na vnesenite vrednosti tblIzvodi izvod = new tblIzvodi() { ID_zgrada = intIdZgrada, ID_stanar = intIdStan, ID_dobavuvac = intIdDobavuvac, banka = stringBanka, smetka_banka = txtSmetkaBanka.Text, br_izvod = int.Parse(txtBrIzvod.Text.ToString()), datum = txtdatumIzvod.Text, uplati = IsUplata, isplati = IsIsplata, uplata_avans = IsUplataAvans, isUplataDoMaj = IsUplataAvansDoMaj, datum_faktura = txtDatumFaktura.Text, povikuvacki_broj = stringBrFakturaa, iznos = int.Parse(txtIznos.Text.ToString()), vraboteno_lice = ProFM.Form1.GlobalVariable.stringNajavenKorisnik, vreme_napraveni_promeni = DateTime.Now.ToString(), }; context.tblIzvodis.InsertOnSubmit(izvod); //noviot zapis zacuvaj go vo bazata context.SubmitChanges(); if (rbUplata.Checked || rbUplataPredMaj2014.Checked) { var izbranaSmetka = (tblIzdadeniFakturi)cmbNeplateniSmetki.SelectedItem; txtIznos.Text = izbranaSmetka.iznos.ToString(); int drugo = int.Parse(izbranaSmetka.drugo.ToString()); int higena = int.Parse(izbranaSmetka.cistenje.ToString()); int kanalizacija = int.Parse(izbranaSmetka.kanalizacija.ToString()); int lift = int.Parse(izbranaSmetka.lift.ToString()); float rf = int.Parse(izbranaSmetka.rezerven_fond.ToString()); int struja = int.Parse(izbranaSmetka.struja.ToString()); int upravitel = int.Parse(izbranaSmetka.upravitel.ToString()); int voda = int.Parse(izbranaSmetka.voda.ToString()); //fondovite(saldoto) na zgradata za odredeni stavki var queryFondoviZgrada = from fond in context.ZgradaFondovis where fond.idZgrada == intIdZgrada select fond; foreach (var fond in queryFondoviZgrada) { fond.fondDrugo += drugo; fond.fondHigena += higena; fond.fondKanalizacija += kanalizacija; fond.fondLift += lift; fond.fondRF += rf; fond.fondStruja += struja; fond.fondUpravitel += upravitel; fond.fondVoda += voda; } //zacuvuvanje na izmenite za fondovite za zgradata vo bazata context.SubmitChanges(); } //polinjata zasega ke bidat vo komentar, bidejki se vnesuva zgrada po zgrada //koga ke se dovnesat site izvodi ke se odkomentira //iscisti ja formata i so toa na operatorot mu se ukazuva deka uplatata e vnesena //txtImeZgrada.Text = ""; //txtSmetkaBanka.Text = ""; //txtBrIzvod.Text = ""; //txtdatumIzvod.Text = ""; rbUplata.Checked = false; rbIsplata.Checked = false; rbUplataPredMaj2014.Checked = false; rbUplataAvans.Checked = false; txtIznos.Text = ""; lblDatumFaktura.Visible = false; txtDatumFaktura.Visible = false; txtDatumFaktura.Text = ""; //labelata za dobavuvac i combobox za nego treba da se skrijat lblIzberiDobavuvac.Visible = false; cmbDobavuvac.Visible = false; //labelata za stanar i combobox za nego treba da se skrijat lblIzberiStan.Visible = false; cmbStanari.Visible = false; lblIznos.Visible = false; txtIznos.Visible = false; btnVnesiUplata.Visible = false; lblPovikuvackiBr.Visible = false; cmbNeplateniSmetki.Visible = false; //kreiranje na prazna lista za da se iscisti combobox-ot vo prozorecot List <string> lista = new List <string>(); //iscisti go combo boxot //cmbSifraZgrada.DataSource = lista; //povikuvanje na funkcijata za loadiranje na formata //so cel da se napolni combobox-ot UplataImeStanar_Load(sender, e); }
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; } } }
private void btnSave_Click(object sender, EventArgs e) { //se zema izbraniot sopstvenik na stan so soodvetnite podatoci za nego var izbranStanar = (tblSopstvenici_Stan)cmbStanari.SelectedItem; //se zema selektiranata uplata so avans uplataSoAvansFaktura = (tblIzvodi)cmbIznosiUplatiAvans.SelectedItem; if (rbEdnaFaktura.Checked) { //se zema izbranata neplatena faktura so soodvetnite podatoci za nea var neplatenaFaktura = (tblIzdadeniFakturi)cmbZamenaNaFaktura.SelectedItem; //se pravi proverka dali iznosot koj e uplaten so avans soodvetstvuva na iznosot od neplatenata faktura //ako soodvetstvuvaat togas uplatata so avans preminva vo obicna uplata i nea i se dodeluva broj na fakturata koja bila izbrana //isto taka neplatenata faktura sega ke se smeta za platena i nema poveke da se lista //i fondovite na zgradata se zgolemuvaat za soodvetnite iznosi if (neplatenaFaktura.iznos == uplataSoAvansFaktura.iznos) { //se zacuvuva deka uplatata so avans sega e smeta kako obicna uplata, ima podatoci zxa povikuvacki br na faktura i datum na faktura uplataSoAvansFaktura.datum_faktura = txtDatumFaktura.Text; uplataSoAvansFaktura.povikuvacki_broj = neplatenaFaktura.br_faktura; uplataSoAvansFaktura.uplata_avans = false; uplataSoAvansFaktura.uplati = true; context.SubmitChanges(); //se zacuvuva deka neplatenata faktura sega e platena neplatenaFaktura.IsPlatena = true; context.SubmitChanges(); //se zenmaat fondovite na zgradata i kaj niv se regulira uplatata var queryFondoviZgrada = from fond in context.ZgradaFondovis where fond.idZgrada == intIdZgrada select fond; foreach (var fond in queryFondoviZgrada) { fond.fondDrugo += neplatenaFaktura.drugo; fond.fondHigena += neplatenaFaktura.cistenje; fond.fondKanalizacija += neplatenaFaktura.kanalizacija; fond.fondLift += neplatenaFaktura.lift; fond.fondRF += neplatenaFaktura.rezerven_fond; fond.fondStruja += neplatenaFaktura.struja; fond.fondUpravitel += neplatenaFaktura.upravitel; fond.fondVoda += neplatenaFaktura.voda; } context.SubmitChanges(); } else { MessageBox.Show("Износот кој е изберен не соодветствува на износот од изберената фактура", "Износот не е точен", MessageBoxButtons.OK); return; } } if (rbDveFakturi.Checked) { string[] datumOd = txtDatumFakturaOd.Text.Split('.'); string[] datumDo = txtDatumFakturaDo.Text.Split('.'); float sumaNaSiteFakturi = 0; if (listQueryNeplateniSmetki.Count() > 0) { //zemanje na serkoja neplatena smetka od sopstvenikot na stanotn i proverka dlai taa se naoga vo utvrdewnot period za plakanje na avansot, //ako se naoga ke treba da se utvrdi dali sumata na site smetki koi se naogaat vo toj period e sodvetna na iznosot od avansot foreach (var smetka in listQueryNeplateniSmetki) { //zemanje na datumot na smetkata, mesec i godina soodvetno vo niza string[] datumSmetka = smetka.datum.Split('.'); //proverka na godinata if (int.Parse(datumSmetka[1].ToString()) >= int.Parse(datumOd[1].ToString()) && int.Parse(datumSmetka[1].ToString()) <= int.Parse(datumDo[1].ToString())) { if (int.Parse(datumSmetka[1].ToString()) == int.Parse(datumOd[1].ToString()) && int.Parse(datumSmetka[1].ToString()) == int.Parse(datumDo[1].ToString())) { //proverka na mesecot if (int.Parse(datumSmetka[0].ToString()) >= int.Parse(datumOd[0].ToString()) && int.Parse(datumSmetka[0].ToString()) <= int.Parse(datumDo[0].ToString())) { //iznosot na neplatenata smetka koja se naoga vo periodot vo koj se plakaat smetkite //se dodava na promenlivata suma na site fakturi, so cel podocna da se vidi dali taa suma soodvetstvuva na sumata na uplateniot avans sumaNaSiteFakturi += float.Parse(smetka.iznos.ToString()); } } else if (int.Parse(datumSmetka[1].ToString()) == int.Parse(datumOd[1].ToString()) && int.Parse(datumSmetka[1].ToString()) != int.Parse(datumDo[1].ToString()) && int.Parse(datumSmetka[0].ToString()) >= int.Parse(datumOd[0].ToString())) { //iznosot na neplatenata smetka koja se naoga vo periodot vo koj se plakaat smetkite //se dodava na promenlivata suma na site fakturi, so cel podocna da se vidi dali taa suma soodvetstvuva na sumata na uplateniot avans sumaNaSiteFakturi += float.Parse(smetka.iznos.ToString()); } else if (int.Parse(datumSmetka[1].ToString()) != int.Parse(datumOd[1].ToString()) && int.Parse(datumSmetka[1].ToString()) == int.Parse(datumDo[1].ToString()) && int.Parse(datumSmetka[0].ToString()) <= int.Parse(datumDo[0].ToString())) { //iznosot na neplatenata smetka koja se naoga vo periodot vo koj se plakaat smetkite //se dodava na promenlivata suma na site fakturi, so cel podocna da se vidi dali taa suma soodvetstvuva na sumata na uplateniot avans sumaNaSiteFakturi += float.Parse(smetka.iznos.ToString()); } else if (int.Parse(datumSmetka[1].ToString()) > int.Parse(datumOd[1].ToString()) && int.Parse(datumSmetka[1].ToString()) < int.Parse(datumDo[1].ToString())) { //iznosot na neplatenata smetka koja se naoga vo periodot vo koj se plakaat smetkite //se dodava na promenlivata suma na site fakturi, so cel podocna da se vidi dali taa suma soodvetstvuva na sumata na uplateniot avans sumaNaSiteFakturi += float.Parse(smetka.iznos.ToString()); } } } if (sumaNaSiteFakturi == uplataSoAvansFaktura.iznos) { ZatvoranjeNeplateniSmetki(); } else if (sumaNaSiteFakturi < uplataSoAvansFaktura.iznos) { float razlika = float.Parse((uplataSoAvansFaktura.iznos - sumaNaSiteFakturi).ToString()); DialogResult rezultatOdMessageBox = MessageBox.Show("Постои разлика во износите на неплатените фактури во избраниот период и уплатеното во авансот, уплатениот аванс е поголем за " + razlika + " МКД. Ако тоа е во ред притиснете ОК и ќе биде прокнижено, а разликата ќе биде занемарена, во спротивно притиснете cancel", "Разлика во износите", MessageBoxButtons.OKCancel); if (rezultatOdMessageBox == System.Windows.Forms.DialogResult.OK) { ZatvoranjeNeplateniSmetki(); } else if (rezultatOdMessageBox == System.Windows.Forms.DialogResult.Cancel) { DialogResult rezuлOdMessageBox = MessageBox.Show("Ако притисните ОК разликата од " + razlika + " МКД ќе биде прокнижена како плаќање на фактура пред 2014, според износот на фактурата од 01.2014, додека ако притисните cancel разликата ќе биде занемарена", "Книжење на разлика во износите", MessageBoxButtons.OKCancel); if (rezuлOdMessageBox == System.Windows.Forms.DialogResult.OK) { var stan = (tblSopstvenici_Stan)cmbStanari.SelectedItem; var querySmetkaPrviMesec2014 = from smetka in context.tblIzdadeniFakturis where smetka.datum == "01.2014" && smetka.IDStan == stan.IDStan select smetka; //se zenmaat fondovite na zgradata i kaj niv se regulira uplatata var queryFondoviZgrada = from fond in context.ZgradaFondovis where fond.idZgrada == intIdZgrada select fond; if (querySmetkaPrviMesec2014.Count() > 0) { foreach (var smetka in querySmetkaPrviMesec2014) { //ako razlikata e isto so eden iznos na smetka, toj iznos ke se raspredeli po fondovi if (smetka.iznos == razlika) { ZatvoranjeNeplateniSmetki(); //vnesuvanje na vrednosta na struja voda itn, vo fondovite foreach (var fond in queryFondoviZgrada) { fond.fondDrugo += smetka.drugo; fond.fondHigena += smetka.cistenje; fond.fondKanalizacija += smetka.kanalizacija; fond.fondLift += smetka.lift; fond.fondRF += smetka.rezerven_fond; fond.fondStruja += smetka.struja; fond.fondUpravitel += smetka.upravitel; fond.fondVoda += smetka.voda; } context.SubmitChanges(); } //ako razlikata e pogolema od eden iznos na smetka, ke se proveri toj iznos na kolku fakturi odgovara i ke se raspredeli po fondovi else if (smetka.iznos < razlika) { //promenliva koja ke zacuva kolku smetki od pred 2014 ke se raspredelat po fondovi int kolkuFakturi = int.Parse((razlika / smetka.iznos).ToString()); //ako ima poveke od edna faktura koja treba da s eraspredeli po fondovi, togas se raspredelva vo ovoj ciklus for (int i = 0; i < kolkuFakturi; i++) { //vnesuvanje na vrednosta na struja voda itn, vo fondovite foreach (var fond in queryFondoviZgrada) { fond.fondDrugo += smetka.drugo; fond.fondHigena += smetka.cistenje; fond.fondKanalizacija += smetka.kanalizacija; fond.fondLift += smetka.lift; fond.fondRF += smetka.rezerven_fond; fond.fondStruja += smetka.struja; fond.fondUpravitel += smetka.upravitel; fond.fondVoda += smetka.voda; } context.SubmitChanges(); } //utvrduvanje na nova razlika vo cenite float novaRazlika = float.Parse((razlika - (kolkuFakturi * smetka.iznos)).ToString()); if (novaRazlika > 0) { MessageBox.Show("Појавена е нова разлика во износ од " + novaRazlika + " МКД. која мора да биде игнорирана.", "Игнорирање на разлика", MessageBoxButtons.OK); return; } } } } else { MessageBox.Show("Немате издадено фактура за први месец за соодветниот станар, при што не можи да се прокнижи разликата", "Неможе да се прикнижи разликата", MessageBoxButtons.OK); return; } } else { return; } } } else if (sumaNaSiteFakturi > uplataSoAvansFaktura.iznos) { float razlika = float.Parse((sumaNaSiteFakturi - uplataSoAvansFaktura.iznos).ToString()); MessageBox.Show("Постои разлика во износите на неплатените фактури во избраниот период и уплатеното во авансот, сумата на неплатените сметки е поголема за " + razlika + " МКД. Сменете го периодот за кој треба да се плати и обидете се повторно", "Разлика во износите", MessageBoxButtons.OKCancel); } } else { MessageBox.Show("Сите сметки му се платени на избраниот сопственик на стан", "Платени сметки", MessageBoxButtons.OK); return; } } //cistenje na vnesenite podatoci txtDatumFaktura.Text = ""; txtDatumIzvod.Text = ""; txtDatumFakturaDo.Text = ""; txtDatumFakturaOd.Text = ""; //btnPrebaraj_Click(sender, e); cmbZamenaNaFaktura.DataSource = null; cmbIznosiUplatiAvans.DataSource = null; lblDatumFaktura.Visible = false; lblSeZamenuvaSo.Visible = false; txtDatumFaktura.Visible = false; cmbZamenaNaFaktura.Visible = false; lblDatumFakturaDo.Visible = false; lblDatumFakturaOd.Visible = false; txtDatumFakturaDo.Visible = false; txtDatumFakturaOd.Visible = false; rbDveFakturi.Checked = false; rbEdnaFaktura.Checked = false; }