private void PrepisiIzvod(string ulaz) { int RedniBroj = 0; string OOpis = ""; string BrojDok = ""; DataTable prometprepisani = new DataTable(); DataTable rspromet = new DataTable(); DataTable rstStablo = new DataTable(); DataTable rs2 = new DataTable(); DataTable rsd = new DataTable(); DataTable rsv = new DataTable(); DataTable rspo = new DataTable(); DataTable rsp = new DataTable(); DataTable rsDokumentaStablo = new DataTable(); int pbanka = 0; string NazivBanke = ""; int BrojIzvoda = 0; int PKomitent = 0; int Rr = 0; string BRD = ""; string str = ""; string pdokument = ""; string strParams = ""; List <string[]> lista = new List <string[]>(); char[] separators = { '#' }; string DatumP = ulaz.Split(separators)[0]; string KojiRacun = ulaz.Split(separators)[1]; clsObradaOsnovnihSifarnika coos = new clsObradaOsnovnihSifarnika(); rspromet = db.ReturnDataTable("Select * from BankaView where Replace(NazivRacuna,'-','')='" + coos.FormatirajRacun(KojiRacun) + "'"); if (rspromet.Rows.Count > 0) { pbanka = Convert.ToInt32(rspromet.Rows[0]["ID_BankaView"]); NazivBanke = rspromet.Rows[0]["NazivBanke"].ToString(); PKomitent = Convert.ToInt32(rspromet.Rows[0]["id_KomitentiView"]); } else { MessageBox.Show("Pogrešan broj tekućeg računa!"); return; } str = "SELECT DISTINCT Datum, ID_Blagajna "; str += " FROM IzvodTotali WHERE ID_Blagajna =" + pbanka.ToString(); str += " AND Format(datum,'dd.MM.yy') ='" + DatumP + "' "; rspromet = db.ReturnDataTable(str); if (rspromet.Rows.Count > 0) { MessageBox.Show("Već je izvršen prepis izvoda za datum:" + DatumP + " i račun:" + KojiRacun); return; } rspromet.Dispose(); str = "Select * from PlacanjaNaplate as pn,Dokumenta as d "; str += " where d.ID_Dokumenta=pn.ID_DokumentaView AND ((Isplate>0 and PrenesenoZaPlacanje=1) or Uplate>0 or VrstaSloga='T')"; str += " and Format(d.datum,'dd.MM.yy') ='" + DatumP + "' And ID_BankaView=" + pbanka.ToString() + " order by ID_SvrhaPlacanjaView,SvrhaPlacanjaSaIzvoda"; rspromet = db.ReturnDataTable(str); str = db.ReturnString("delete IzvodPrepisi", 0); //Jovana 22.06.21 //prometprepisani = db.ReturnDataTable(" select * from IzvodPrepisi"); str = ""; foreach (DataRow row in rspromet.Rows) { string opis = ""; strParams = ""; strParams = "@param1=" + row["Datum"].ToString() + "`"; strParams += "@param2=" + row["ID_BankaView"] + "`"; strParams += "@param3=" + row["uplate"].ToString().Replace(",", ".") + "`"; strParams += "@param4=" + row["isplate"].ToString().Replace(",", ".") + "`"; strParams += "@param5=" + row["OznakaKnjizenja"] + "`"; strParams += "@param6=" + row["VrstaSloga"] + "`"; if (Convert.ToInt32(row["ID_PozivNaBroj"]) > 1) { str = "Select ID_PDVUlazniJciTotali as Iid from PDVUlazniJciTotali where ID_RacunZaPlacanje=" + row["ID_PozivNaBroj"].ToString(); rsp = db.ReturnDataTable(str); if (rsp.Rows.Count > 0) { row["ID_PozivNaBroj"] = rsp.Rows[0]["iid"]; } } strParams += "@param7=" + row["ID_PozivNaBroj"] + "`"; strParams += "@param8=" + row["id_KomitentiView"] + "`"; strParams += "@param9=" + row["ID_SvrhaplacanjaView"] + "`"; strParams += "@param10=" + row["StariSaldo"].ToString().Replace(",", ".") + "`"; strParams += "@param11=" + row["NoviSaldo"].ToString().Replace(",", ".") + "`"; strParams += "@param12=" + row["BrojIzvoda"] + "`"; strParams += "@param13=" + row["OblikPlacanja"] + "`"; //Jovana 23.06.21 //opis = row["opis"].ToString(); opis = ""; if (row["SvrhaPlacanjaSaIzvoda"].ToString().ToUpper().IndexOf("DOZ") > -1 || row["SvrhaPlacanjaSaIzvoda"].ToString().ToUpper().IndexOf("AKREDIT") > -1) { if (row["SvrhaPlacanjaSaIzvoda"].ToString().Length > 17) { opis = row["SvrhaPlacanjaSaIzvoda"].ToString().Substring(17); } else { opis = row["SvrhaPlacanjaSaIzvoda"].ToString(); } } if (row["OblikPlacanja"].ToString().Length == 16) { opis = row["PozivNaBrojSaIzvoda"].ToString(); } if (Convert.ToInt32(row["ID_Svrhaplacanjaview"]) == 752) { opis = row["SvrhaPlacanjaSaIzvoda"].ToString(); } strParams += "@param14=" + opis + "`"; strParams += "@param15=" + Program.idkadar; str = " Insert into IzvodPrepisi ( "; str += " [Datum],[ID_BankaView],[uplate],[isplate],[OznakaKnjizenja],"; //5 str += "[VrstaSloga],[ID_PozivNaBroj],"; //2 str += "[id_KomitentiView],[ID_SvrhaPlacanja],[StariSaldo],"; // 3 str += "[NoviSaldo],[BrojIzvoda],[OblikPlacanja],[opis],[uuser] ) "; //5 str += " values(@param1,@param2,@param3 ,@param4,"; str += " @param5,@param6,@param7,"; str += " @param8 ,@param9,@param10,"; str += " @param11,@param12,@param13 ,@param14,@param15 ) "; lista.Add(new string[] { str, strParams }); /////... lista.ToArray(); } string rezultat = db.ReturnSqlTransactionParams(lista); lista.Clear(); if (rezultat != "") { MessageBox.Show(rezultat); return; } str = ""; str = " Select NazivBanke,BrojIzvoda "; str += " from IzvodPrepisi as p,BankaView as b Where p.ID_BankaView=b.ID_BankaView And p.VrstaSloga='T' "; prometprepisani.Clear(); prometprepisani = db.ReturnDataTable(str); if (prometprepisani.Rows.Count > 0) { BrojIzvoda = Convert.ToInt32(prometprepisani.Rows[0]["BrojIzvoda"]); } pdokument = "Izvod"; str = " SELECT * From DokumentaStablo where Naziv = '" + pdokument + "'"; rsDokumentaStablo = db.ReturnDataTable(str); if (rsDokumentaStablo.Rows.Count > 0) { IdDokumentaStablo = Convert.ToInt32(rsDokumentaStablo.Rows[0]["ID_DokumentaStablo"]); } else { MessageBox.Show("Nije registrovan dokument " + pdokument + "!"); return; } // clsXmlPlacanja cx = new clsXmlPlacanja(); // BrojDok = cx.KreirajBrDokNovi(pdokument, RedniBroj, DatumP, Program.idOrgDeo, Program.idkadar, IdDokumentaStablo); if (NazivBanke.ToUpper().Contains("INTESA") == true) { OOpis = pdokument + " INTESA " + BrojIzvoda.ToString(); } else { OOpis = pdokument + " " + NazivBanke.Substring(0, NazivBanke.IndexOf(" ")) + " " + BrojIzvoda.ToString(); } //DateTime dt = Convert.ToDateTime(DatumP); //string mesec = Convert.ToString(dt.Month); //strParams = ""; //strParams = "@param1=" + RedniBroj + "`"; //strParams += "@param2=" + Program.idkadar + "`"; //strParams += "@param3=" + IdDokumentaStablo + "`"; //strParams += "@param4=" + BrojDok + "`"; //strParams += "@param5=" + DatumP.ToString() + "`"; //strParams += "@param6=" + OOpis + "`"; //strParams += "@param7=" + Program.idOrgDeo + "`"; //strParams += "@param8=" + "NijeProknjizeno" + "`"; //strParams += "@param9=" + mesec; //str = "insert into Dokumenta(RedniBroj, ID_KadrovskaEvidencija,"; //str += " ID_DokumentaStablo, BrojDokumenta, Datum, Opis,"; //str += " ID_OrganizacionaStrukturaView,Proknjizeno,MesecPoreza)"; //str += " values(@param1,@param2,@param3,@param4,@param5,@param6,@param7,@param8,@param9)"; //lista.Clear(); //lista.Add(new string[] { str, strParams }); //lista.ToArray(); //rezultat = db.ReturnSqlTransactionParams(lista); //if (rezultat != "") { MessageBox.Show(rezultat); return; } //lista.Clear(); //str = ""; //str = "select id_dokumenta from dokumenta where BrojDokumenta = '" + BrojDok.ToString() + "'"; //rsd.Clear(); //rsd = db.ReturnDataTable(str); //IdDokView = Convert.ToInt32(rsd.Rows[0]["Id_Dokumenta"]); // zaglavlje // rs2 = db.ReturnDataTable("SELECT * FROM Izvod Where ID_DokumentaView=1"); prometprepisani.Clear(); prometprepisani = db.ReturnDataTable(" Select * from IzvodPrepisi as p Where p.VrstaSloga='T' "); str = ""; strParams = ""; if (prometprepisani.Rows.Count > 0) { strParams += "@param1=" + prometprepisani.Rows[0]["StariSaldo"].ToString().Replace(",", ".") + "`"; strParams += "@param2=" + prometprepisani.Rows[0]["NoviSaldo"].ToString().Replace(",", ".") + "`"; strParams += "@param3=" + prometprepisani.Rows[0]["isplate"].ToString().Replace(",", ".") + "`"; strParams += "@param4=" + prometprepisani.Rows[0]["uplate"].ToString().Replace(",", ".") + "`"; strParams += "@param5=" + prometprepisani.Rows[0]["BrojIzvoda"] + "`"; } else { // Jovana 23.11.21 //MessageBox.Show("Niste preuzeli izvod!"); //return; } //Jovana 25.06.21 premestila da se dokument ne upisuje u izvod ako ne postoje slogovi clsObradaOsnovnihSifarnika cs = new clsObradaOsnovnihSifarnika(); IdDokumentaStablo = (int)rsDokumentaStablo.Rows[0]["ID_DokumentaStablo"]; BrojDok = ""; //// cs.KreirajBrDokNovi(ref RedniBroj, DatumP, (int)rsDokumentaStablo.Rows[0]["ID_DokumentaStablo"], ""); int IdDokview = cs.UpisiDokument(ref BrojDok, OOpis, IdDokumentaStablo, DatumP); //Jovana 21.06.21 strParams += "@param6=" + IdDokview + "`"; strParams += "@param7=" + pbanka + "`"; strParams += "@param8=" + DatumP + "`"; strParams += "@param9=" + Program.idkadar; char[] izbor = { '=' }; string[] izbor2 = strParams.Split(izbor); switch (izbor2.Length) { case 10: str = " INSERT INTO[dbo].[Izvod] "; str += "([KumulativnoDuguje],[KumulativnoPotrazuje],[DPDuguje],[DPPotrazuje],[BrojIzvoda],"; str += "[ID_DokumentaView],[id_Blagajna],[Datum],[uuser])"; str += " values(@param1,@param2,@param3,@param4,@param5,@param6,@param7,@param8,@param9)"; break; default: strParams = ""; // Jovana 23.11.21 //strParams += "@param1=" + prometprepisani.Rows[0]["IdDokView"] + "`"; //strParams += "@param2=" + prometprepisani.Rows[0]["pbanka"] + "`"; strParams += "@param1=" + IdDokview + "`"; strParams += "@param2=" + pbanka + "`"; strParams += "@param3=" + DatumP + "`"; strParams += "@param4=" + Program.idkadar; str = " INSERT INTO[dbo].[Izvod] "; str += "([ID_DokumentaView],[id_Blagajna],[Datum],[uuser])"; str += " values(@param1,@param2,@param3,@param4)"; break; } lista.Clear(); lista.Add(new string[] { str, strParams }); lista.ToArray(); rezultat = db.ReturnSqlTransactionParams(lista); if (rezultat != "") { MessageBox.Show(rezultat); return; } lista.Clear(); //' kraj zaglavlje /////////////////////// str = ""; str = " Select p.* from IzvodPrepisi as p,BankaView as b Where p.ID_BankaView=b.ID_BankaView "; str += " And p.VrstaSloga<>'T' and ID_SvrhaPlacanja <> 752"; prometprepisani.Clear(); prometprepisani = db.ReturnDataTable(str); //str = "SELECT * FROM IzvodStavke where ID_DokumentaView=1 "; //rs2.Clear(); //rs2 = db.ReturnDataTable(str); decimal UkupnoNaknada = 0; foreach (DataRow row in prometprepisani.Rows) { strParams = ""; strParams += "@param1=" + IdDokview + "`"; strParams += "@param2=" + row["id_KomitentiView"] + "`"; strParams += "@param3=" + row["ID_SvrhaPlacanja"] + "`"; if (Convert.ToInt32(row["OblikPlacanja"]) == 2) { strParams += "@param4=5" + "`"; } else { strParams += "@param4=" + row["OblikPlacanja"] + "`"; } strParams += "@param5=" + row["opis"] + "`"; //Jovana 21.06.21 ne znam zasto je ovo postojalo u vb6? //if (Convert.ToInt32(row["OblikPlacanja"]) == 16) //{ strParams += "@param5=" + row["opis"] + "`"; } strParams += "@param6=" + row["ID_PozivNaBroj"] + "`"; strParams += "@param7=" + row["uplate"].ToString().Replace(",", ".") + "`"; strParams += "@param8=" + Math.Round(Convert.ToDecimal(row["isplate"]), 2).ToString().Replace(",", ".") + "`"; strParams += "@param9=" + Program.idkadar; str = ""; str = "INSERT INTO[dbo].[IzvodStavke] "; str += " ([ID_DokumentaView],[ID_KomitentiView],[ID_ArtikliView],"; str += " [ID_NacinPlacanja],[Opis],[ID_PozivNaBroj],[Uplate],[Isplate],[uuser])"; str += " values(@param1,@param2,@param3,@param4,@param5,@param6,@param7,@param8,@param9)"; lista.Add(new string[] { str, strParams }); lista.ToArray(); } rezultat = db.ReturnSqlTransactionParams(lista); if (rezultat != "") { MessageBox.Show(rezultat); return; } lista.Clear(); /////// str = ""; prometprepisani.Clear(); str = " Select p.* from IzvodPrepisi as p,BankaView as b Where p.ID_BankaView=b.ID_BankaView "; str += " And p.VrstaSloga<>'T' and ID_SvrhaPlacanja = 752 order by Opis "; prometprepisani = db.ReturnDataTable(str); string mopis = ""; UkupnoNaknada = 0; foreach (DataRow row in prometprepisani.Rows) { if (mopis == "") { mopis = row["opis"].ToString(); } if (row["opis"].ToString() != mopis) { if (UkupnoNaknada > 0) { strParams = ""; strParams += "@param1=" + IdDokview + "`"; strParams += "@param2=" + row["PKomitent"] + "`"; strParams += "@param3=752" + "`"; strParams += "@param4=5" + "`"; strParams += "@param5=1" + "`"; strParams += "@param6=0" + "`"; strParams += "@param7=" + UkupnoNaknada.ToString().Replace(",", ".") + "`"; strParams += "@param8=" + Program.idkadar + "`"; strParams += "@param9=" + mopis.ToLower() + "`"; str = "INSERT INTO[dbo].[IzvodStavke] "; str += " ([ID_DokumentaView],[id_KomitentiView],[ID_ArtikliView],"; str += " [ID_NacinPlacanja],[ID_PozivNaBroj],[Uplate],[Isplate][uuser],[opis])"; str += " values(@param1,@param2,@param3,@param4,@param5,@param6,@param7,@param8,@param9)"; lista.Clear(); lista.Add(new string[] { str, strParams }); lista.ToArray(); rezultat = db.ReturnSqlTransactionParams(lista); if (rezultat != "") { MessageBox.Show(rezultat); return; } lista.Clear(); } mopis = row["opis"].ToString(); UkupnoNaknada = 0; } UkupnoNaknada = UkupnoNaknada + Convert.ToInt32(row["isplate"]); } if (UkupnoNaknada > 0) { strParams = ""; strParams += "@param1=" + IdDokview + "`"; strParams += "@param2=" + PKomitent + "`"; strParams += "@param3=752" + "`"; strParams += "@param4=5" + "`"; strParams += "@param5=1" + "`"; strParams += "@param6=0" + "`"; strParams += "@param7=" + UkupnoNaknada.ToString().Replace(",", ".") + "`"; strParams += "@param8=" + Program.idkadar + "`"; strParams += "@param9=" + mopis.ToLower() + "`"; str = "[IzvodStavke] "; str += " ([ID_DokumentaView],[id_KomitentiView],[ID_ArtikliView],"; str += " [ID_NacinPlacanja],[ID_PozivNaBroj],[Uplate],[Isplate][uuser],[opis])"; str += " values(@param1,@param2,@param3,@param4,@param5,@param6,@param7,@param8,@param9)"; lista.Clear(); lista.Add(new string[] { str, strParams }); lista.ToArray(); rezultat = db.ReturnSqlTransactionParams(lista); if (rezultat != "") { MessageBox.Show(rezultat); return; } lista.Clear(); } Dictionary <string, string> rezult = db.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:Dokumenta", "IdDokument:" + (int)IdDokview); Dictionary <string, string> rezult2 = db.ExecuteStoreProcedure("TotaliZaDokument", "NazivDokumenta:" + pdokument, "IdDokument:" + (int)IdDokview); }
private bool UpisiAvans(Form frm, string ZaDokument, string VrstaRacuna, int RacunID, int AvansID, string PKojaOperacija, int TUD) { bool UpisiAvans = false; DataTable rssupisi = new DataTable(); DataTable rsavansi = new DataTable(); DataTable rsracun = new DataTable(); DataTable rsStavke = new DataTable(); DataTable rsUkupnoOstatak = new DataTable(); string BrojAvansnogDokumenta = ""; string NazivAvansa = ""; string Prefiks = ""; int KojiRed = 0; string KojaRoba = ""; string KojaUsluga = ""; string str = ""; string sbroj = "0"; string NazivArt = ""; double Ostatak = 0; str = "select Dokument, BrDok as BrojDokumenta ,RB from DokumentaTotali WITH(NOLOCK) where id_dokumentaTotali = " + AvansID.ToString(); rssupisi = db.ReturnDataTable(str); if (rssupisi.Rows.Count == 0) { UpisiAvans = false; str = "Update " + VrstaRacuna + "Stavke set IznosAvansa = 0 WHERE ID_dokumentaView =" + RacunID.ToString(); SqlCommand cmd = new SqlCommand(); cmd.CommandType = CommandType.Text; cmd.CommandText = str; db.Comanda(cmd); cmd.Dispose(); if (VrstaRacuna.Contains("Usluge") == false) { str = "Update " + VrstaRacuna + " set ID_Avansi = 1 WHERE ID_dokumentaView =" + RacunID.ToString(); } else { str = "Update " + VrstaRacuna + " set ID_AvansiIzvodi = 1 WHERE ID_dokumentaView =" + RacunID.ToString(); } cmd.CommandType = CommandType.Text; cmd.CommandText = str; db.Comanda(cmd); cmd.Dispose(); return(true); } UpisiAvans = true; NazivAvansa = rssupisi.Rows[0]["Dokument"].ToString(); BrojAvansnogDokumenta = rssupisi.Rows[0]["BrojDokumenta"].ToString(); if (ZaDokument.Contains("Ulazni") == false) { KojaRoba = ZaDokument + "Totali"; KojaUsluga = "PDVIzlazniRacunzaUslugeTotali"; } else { KojaRoba = "KonacniUlazniRacunTotali"; KojaUsluga = "PDVUlazniRacunzaUslugeTotali"; } str = ""; str = "SELECT isnull(DERIVEDTBL.NazivPoreza,' ')as NazivPoreza,isnull(SUM(DERIVEDTBL.IznosUplate - ISNULL(DERIVEDTBL_1.IskoristenaRoba,0) -ISNULL(DERIVEDTBL_2.IskoristeneUsluge,0)),0) AS Ostaje "; str += " FROM (SELECT DISTINCT NazivPoreza,"; str += "SUM(IznosUplatePlacanja) AS IznosUplate "; str += " FROM " + NazivAvansa.Trim() + "Totali "; str += " WHERE BrDok LIKE '" + BrojAvansnogDokumenta + "%'"; str += " GROUP BY NazivPoreza) DERIVEDTBL FULL JOIN "; str += "(SELECT DISTINCT NazivPoreza,"; str += "SUM(IznosAvansa) AS IskoristenaRoba "; str += " FROM " + KojaRoba.Trim(); str += " WHERE Avansi LIKE '" + BrojAvansnogDokumenta + "%' and id_" + KojaRoba.Trim() + " <> " + RacunID.ToString(); str += " GROUP BY NazivPoreza )DERIVEDTBL_1 ON DERIVEDTBL.NazivPoreza = DERIVEDTBL_1.NazivPoreza FULL JOIN"; str += "(SELECT DISTINCT NazivPoreza,"; str += "SUM(IznosAvansa) AS IskoristeneUsluge "; str += " FROM " + KojaUsluga.Trim(); str += " WHERE Avansi LIKE '" + BrojAvansnogDokumenta + "%' and id_" + KojaUsluga.Trim() + " <> " + RacunID.ToString(); str += " GROUP BY NazivPoreza ) DERIVEDTBL_2 ON DERIVEDTBL.NazivPoreza = DERIVEDTBL_2.NazivPoreza "; str += " GROUP BY DERIVEDTBL.NazivPoreza "; rssupisi = null; rssupisi = db.ReturnDataTable(str); foreach (DataRow row in rssupisi.Rows) { if (PKojaOperacija == "Update") { Ostatak = Convert.ToDouble(row["Ostaje"]); int IdUpdateReda = -1; IdUpdateReda = ((Bankom.frmChield)frm).idReda; if (VrstaRacuna == "Racun") { str = " select isnull(sum(RacunStavke.IznosAvansa),0) as SumaIznosAvansa "; str += " from RacunStavke, " + KojaRoba.Trim().Substring(0, KojaRoba.Trim().Length - 6) + "StavkeView "; str += " where " + KojaRoba.Trim().Substring(0, KojaRoba.Trim().Length - 6) + "StavkeView.id_artikliview = RacunStavke.id_artikliview"; str += " and id_" + KojaRoba.Trim().Substring(0, KojaRoba.Trim().Length - 6) + "StavkeView = RacunStavke.id_dokumentaview"; str += " and iid=id_RacunStavke and RacunStavke.id_dokumentaview=" + RacunID.ToString(); str += " and RacunStavke.ID_RacunStavke <> " + IdUpdateReda.ToString(); str += " and " + KojaRoba.Trim().Substring(0, KojaRoba.Trim().Length - 6) + "StavkeView.PorezIme = '" + Convert.ToString(row["NazivPoreza"]).Trim() + "'"; rsUkupnoOstatak = db.ReturnDataTable(str); if (rsUkupnoOstatak.Rows.Count > 0) { if (string.IsNullOrEmpty(rsUkupnoOstatak.Rows[0]["SumaiznosAvansa"].ToString()) == false) { Ostatak = Ostatak - Convert.ToDouble(rsUkupnoOstatak.Rows[0]["SumaiznosAvansa"]); } } sbroj = frm.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "IznosAvansa").Vrednost; Console.WriteLine(Convert.ToDouble(sbroj)); if (Ostatak > Convert.ToDouble(sbroj) && Convert.ToDouble(sbroj) != 0.0) { Ostatak = Convert.ToDouble(sbroj); } NazivArt = frm.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "NazivArt").Vrednost; // ' upisujem novu stavku //'NOVO1 if (TUD == 0 && NazivArt != "") { rsracun = db.ReturnDataTable("select max(ID_RacunStavke) as max from RacunStavke where id_dokumentaview=" + RacunID.ToString()); if (rsracun.Rows[0]["max"] != null) { KojiRed = Convert.ToInt32(rsracun.Rows[0]["max"]); } else { KojiRed = IdUpdateReda; } } if (IdUpdateReda > 0) { str = ""; str = "UPDATE RacunStavke set IznosAvansa = " + Ostatak.ToString().Replace(",", "."); str += " from RacunStavke, " + KojaRoba.Substring(0, KojaRoba.Length - 6) + "StavkeView "; str += " where " + KojaRoba.Substring(0, KojaRoba.Length - 6) + "StavkeView.id_artikliview = RacunStavke.id_artikliview"; str += " and id_" + KojaRoba.Substring(0, KojaRoba.Length - 6) + "StavkeView = RacunStavke.id_dokumentaview"; str += " and RacunStavke.id_dokumentaview=" + RacunID.ToString(); str += " and RacunStavke.ID_RacunStavke = " + KojiRed.ToString(); str += " and (RacunStavke.Kolicina*RacunStavke.ProdajnaCena*(100-RacunStavke.ProcenatRabata)/100)+RacunStavke.PDV >= " + Ostatak.ToString().Replace(",", "."); str += " and " + KojaRoba.Substring(0, KojaRoba.Length - 6) + "StavkeView.PorezIme = '" + row["NazivPoreza"].ToString().Trim() + "'"; string rezultet = db.ReturnString(str, 0); //if (rezultet != "") { MessageBox.Show("Greska -UpisiAvansa"); return false; } str = "UPDATE RacunStavke set IznosAvansa =(RacunStavke.Kolicina*RacunStavke.ProdajnaCena*(100-RacunStavke.ProcenatRabata)/100)+RacunStavke.PDV"; str += " from RacunStavke, " + KojaRoba.Substring(0, KojaRoba.Length - 6) + "StavkeView "; str += " where " + KojaRoba.Substring(0, KojaRoba.Length - 6) + "StavkeView.id_artikliview = RacunStavke.id_artikliview"; str += " and id_" + KojaRoba.Substring(0, KojaRoba.Length - 6) + "StavkeView = RacunStavke.id_dokumentaview"; str += " and RacunStavke.id_dokumentaview=" + RacunID.ToString(); str += " and RacunStavke.ID_RacunStavke = " + KojiRed.ToString(); str += " and (RacunStavke.Kolicina*RacunStavke.ProdajnaCena*(100-RacunStavke.ProcenatRabata)/100)+RacunStavke.PDV < " + Ostatak.ToString().Replace(",", "."); str += " and " + KojaRoba.Substring(0, KojaRoba.Length - 6) + "StavkeView.PorezIme = '" + row["NazivPoreza"].ToString() + "'"; rezultet = db.ReturnString(str, 0); //if (rezultet != "") { MessageBox.Show("Greska -UpisiAvansa"); return false; } } else { //' kod izmene ide po svim stavkama str = "Select * from RacunStavke, " + KojaRoba.Substring(0, KojaRoba.Length - 6) + "StavkeView "; str += " where " + KojaRoba.Substring(0, KojaRoba.Length - 6) + "StavkeView.id_artikliview = RacunStavke.id_artikliview"; str += " and id_" + KojaRoba.Substring(0, KojaRoba.Length - 6) + "StavkeView = RacunStavke.id_dokumentaview"; str += " and Id_DokumentaView = " + RacunID.ToString() + " and RacunStavke.IznosAvansa=0 "; str += " and " + KojaRoba.Substring(0, KojaRoba.Length - 6) + "StavkeView.PorezIme = '" + row["NazivPoreza"].ToString() + "'"; rsStavke = db.ReturnDataTable(str); foreach (DataRow red in rsStavke.Rows) { str = "UPDATE RacunStavke set IznosAvansa = " + Ostatak.ToString().Replace(",", "."); str += " from RacunStavke where id_RacunStavke= " + red["id_RacunStavke"]; str += " and (RacunStavke.Kolicina*RacunStavke.ProdajnaCena*(100-RacunStavke.ProcenatRabata)/100)+RacunStavke.PDV >= " + Ostatak.ToString().Replace(",", "."); string rezultet = db.ReturnString(str, 0); Console.WriteLine(str); str = "UPDATE RacunStavke set IznosAvansa =(RacunStavke.Kolicina*RacunStavke.ProdajnaCena*(100-RacunStavke.ProcenatRabata)/100)+RacunStavke.PDV"; str += " where id_RacunStavke= " + red["id_RacunStavke"]; str += " and (RacunStavke.Kolicina*RacunStavke.ProdajnaCena*(100-RacunStavke.ProcenatRabata)/100)+RacunStavke.PDV < " + Ostatak.ToString().Replace(",", "."); rezultet = db.ReturnString(str, 0); Console.WriteLine(str); if (Convert.ToInt32(red["Kolicina"]) * Convert.ToInt32(red["ProdajnaCena"]) * (100 - Convert.ToInt32(red["ProcenatRabata"]) / 100) + Convert.ToInt32(red["PDV"]) >= Ostatak) { Ostatak = 0; } else { Ostatak = Ostatak - (Convert.ToInt32(red["Kolicina"]) * Convert.ToInt32(red["ProdajnaCena"]) * (100 - Convert.ToInt32(red["ProcenatRabata"]) + Convert.ToInt32(red["PDV"]))); } } } } else { str = "select IsNULL(sum(RacunZaUslugeStavke.IznosAvansa), 0) as SumaIznosAvansa"; str += " from RacunZaUslugeStavke, " + KojaUsluga.Substring(0, KojaUsluga.Length - 6) + "StavkeView "; str += " where " + KojaUsluga.Substring(0, KojaUsluga.Length - 6) + "StavkeView.id_artikliview = RacunZaUslugeStavke.id_artikliview"; str += " and id_" + KojaUsluga.Substring(0, KojaUsluga.Length - 6) + "StavkeView = RacunZaUslugeStavke.id_dokumentaview"; str += " and RacunZaUslugeStavke.id_dokumentaview=" + RacunID.ToString(); str += " and RacunZaUslugeStavke.ID_RacunZaUslugeStavke <> " + IdUpdateReda.ToString(); str += " and " + KojaUsluga.Substring(0, KojaUsluga.Length - 6) + "StavkeView.PorezIme = '" + row["NazivPoreza"] + "'"; rsUkupnoOstatak = db.ReturnDataTable(str); if (rsUkupnoOstatak.Rows.Count > 0 && rsUkupnoOstatak.Rows[0]["SumaiznosAvansa"] != null) { Ostatak = Ostatak - Convert.ToDouble(rsUkupnoOstatak.Rows[0]["SumaiznosAvansa"]); } sbroj = frm.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "IznosAvansa").Vrednost; if (Ostatak > Convert.ToDouble(sbroj) && Convert.ToDouble(sbroj) != 0.0) { Ostatak = Convert.ToDouble(sbroj); } NazivArt = frm.Controls.OfType <Field>().FirstOrDefault(n => n.IME == "NazivArt").Vrednost; // ' upisujem novu stavku //'NOVO1 if (TUD == 0 && NazivArt != "") { rsracun = db.ReturnDataTable("select max(ID_RacunZaUslugeStavke) as max from RacunZaUslugeStavke where id_dokumentaview=" + RacunID.ToString()); if (rsracun.Rows[0]["max"] != null) { KojiRed = Convert.ToInt32(rsracun.Rows[0]["max"]); } else { KojiRed = IdUpdateReda; } } if (IdUpdateReda > 0) { str = ""; str = "UPDATE RacunZaUslugeStavke set IznosAvansa = " + Ostatak.ToString().Replace(",", "."); str += " from RacunZaUslugeStavke, " + KojaUsluga.Substring(0, KojaUsluga.Length - 6) + "StavkeView "; str += " where " + KojaUsluga.Substring(0, KojaUsluga.Length - 6) + "StavkeView.id_artikliview = RacunZaUslugeStavke.id_artikliview"; str += " and id_" + KojaUsluga.Substring(0, KojaUsluga.Length - 6) + "StavkeView = RacunZaUslugeStavke.id_dokumentaview"; str += " and RacunZaUslugeStavke.id_dokumentaview=" + RacunID.ToString(); str += " and RacunZaUslugeStavke.ID_RacunZaUslugeStavke = " + KojiRed.ToString(); str += " and (RacunZaUslugeStavke.FakturnaVrednost +" + KojaUsluga.Substring(0, KojaUsluga.Length - 6) + "StavkeView.PDV ) >= " + Ostatak.ToString().Replace(",", "."); str += " and " + KojaUsluga.Substring(0, KojaUsluga.Length - 6) + "StavkeView.PorezIme = '" + row["NazivPoreza"].ToString().Trim() + "'"; Console.WriteLine(str); string rezultet = db.ReturnString(str, 0); //if (rezultet != "") { MessageBox.Show("Greska -UpisiAvansa"); return false; } str = "UPDATE RacunZaUslugeStavke set IznosAvansa =(RacunZaUslugeStavke.FakturnaVrednost +" + KojaUsluga.Substring(0, KojaUsluga.Length - 6) + "StavkeView.PDV) "; str += " from RacunZaUslugeStavke, " + KojaUsluga.Substring(0, KojaUsluga.Length - 6) + "StavkeView "; str += " where " + KojaUsluga.Substring(0, KojaUsluga.Length - 6) + "StavkeView.id_artikliview = RacunZaUslugeStavke.id_artikliview"; str += " and id_" + KojaUsluga.Substring(0, KojaUsluga.Length - 6) + "StavkeView = RacunZaUslugeStavke.id_dokumentaview"; str += " and RacunZaUslugeStavke.id_dokumentaview=" + RacunID.ToString(); str += " and RacunZaUslugeStavke.ID_RacunZaUslugeStavke = " + KojiRed.ToString(); str += " and (RacunZaUslugeStavke.FakturnaVrednost+ " + KojaUsluga.Substring(0, KojaUsluga.Length - 6) + "StavkeView.PDV ) < " + Ostatak.ToString().Replace(",", "."); str += " and " + KojaUsluga.Substring(0, KojaUsluga.Length - 6) + "StavkeView.PorezIme = '" + row["NazivPoreza"].ToString() + "'"; Console.WriteLine(str); rezultet = db.ReturnString(str, 0); //if (rezultet != "") { MessageBox.Show("Greska -UpisiAvansa"); return false; } } else { //' kod izmene ide po svim stavkama str = "Select * from RacunZaUslugeStavke, " + KojaUsluga.Substring(0, KojaUsluga.Length - 6) + "StavkeView "; str += " where " + KojaUsluga.Substring(0, KojaUsluga.Length - 6) + "StavkeView.id_artikliview = RacunZaUslugeStavke.id_artikliview"; str += " and id_" + KojaUsluga.Substring(0, KojaUsluga.Length - 6) + "StavkeView = RacunZaUslugeStavke.id_dokumentaview"; str += " and Id_DokumentaView = " + RacunID.ToString() + " and RacunZaUslugeStavke.IznosAvansa=0 "; str += " and " + KojaUsluga.Substring(0, KojaUsluga.Length - 6) + "StavkeView.PorezIme = '" + row["NazivPoreza"].ToString() + "'"; rsStavke = db.ReturnDataTable(str); foreach (DataRow red in rsStavke.Rows) { str = "UPDATE RacunZaUslugeStavke set IznosAvansa = " + Ostatak.ToString().Replace(",", "."); str += " from RacunZaUslugeStavke where id_RacunZaUslugeStavke= " + red["id_RacunZaUslugeStavke"]; str += " and (RacunZaUslugeStavke.FakturnaVrednost+RacunZaUslugeStavke.PDV ) >= " + Ostatak.ToString().Replace(",", "."); string rezultet = db.ReturnString(str, 0); Console.WriteLine(str); str = "UPDATE RacunZaUslugeStavke set IznosAvansa =(RacunZaUslugeStavke.FakturnaVrednost + RacunZaUslugeStavke.PDV) "; str += " where id_RacunZaUslugeStavke= " + red["id_RacunZaUslugeStavke"]; str += " and (RacunZaUslugeStavke.FakturnaVrednost+RacunZaUslugeStavke.PDV ) < " + Ostatak.ToString().Replace(",", "."); rezultet = db.ReturnString(str, 0); Console.WriteLine(str); if (Convert.ToInt32(red["FakturnaVrednost"]) + Convert.ToInt32(red["PDV"]) >= Ostatak) { Ostatak = 0; } else { Ostatak = Ostatak - (Convert.ToInt32(red["FakturnaVrednost"]) + Convert.ToInt32(red["PDV"])); } } } } } } return(UpisiAvans); }