public static NalogZaPlacanje generisiNZP(Firma sourceFirma, bool hitno, Faktura faktura) { NalogZaPlacanje nzp = new NalogZaPlacanje(); nzp.Hitno = hitno; nzp.DatumNaloga = DateTime.Now; nzp.DatumValute = DateTime.Now; nzp.Duznik = faktura.NazivKupca; nzp.IDPoruke = faktura.IDPoruke; nzp.Iznos = faktura.IznosZaUplatu; nzp.ModelOdobrenja = 97; nzp.ModelZaduzenja = 97; nzp.OznakaValute = faktura.OznakaValute; nzp.PozivNaBrOdobrenja = 123; nzp.PozivNaBrZaduzenja = "123"; nzp.Primalac = faktura.NazivDobavljaca; nzp.RacunPoverioca = faktura.UplataNaRacun; nzp.RacunDuznika = sourceFirma.Racun.ToString(); nzp.Status = GlobalConst.STATUS_NALOGA_ZA_PLACANJE_KREIRAN; nzp.SvrhaPlacanja = "dug"; /*if (nzp.Iznos > 250000) * nzp.Status = "1"; * else * nzp.Status = ""*/ Console.WriteLine(nzp); return(nzp); }
/// <summary> /// Iz naloga izvlaci sve bitne podatke za sklapanje rtgs naloga /// </summary> /// <param name="nzp"></param> /// <returns></returns> private RTGSNalog NapraviRTGSIzNaloga(NalogZaPlacanje nzp) { string imeFirmeKojaPlaca = nzp.Duznik; string imeFirmeKojaPrima = nzp.Primalac; Banka bankaFirmeKojaPlaca = KombinacijeDB.GetBankByFirmName(imeFirmeKojaPlaca); Banka bankaFirmeKojaPrima = KombinacijeDB.GetBankByFirmName(imeFirmeKojaPrima); RTGSNalog rtgs = new RTGSNalog(); rtgs.IDPoruke = nzp.IDPoruke; rtgs.SWIFTBankaDuznika = bankaFirmeKojaPlaca.SWIFTKod; rtgs.ObracunskiRacunBankeDuznika = bankaFirmeKojaPlaca.ObracunskiRacun.ToString(); rtgs.SWIFTBankaPoverioca = bankaFirmeKojaPrima.SWIFTKod; rtgs.ObracunskiRacunBankePoverioca = bankaFirmeKojaPrima.ObracunskiRacun.ToString(); rtgs.Duznik = imeFirmeKojaPlaca; rtgs.SvrhaPlacanja = nzp.SvrhaPlacanja; rtgs.Primalac = imeFirmeKojaPrima; rtgs.DatumNaloga = DateTime.Now; rtgs.DatumValute = DateTime.Now; rtgs.RacunDuznika = nzp.RacunDuznika; rtgs.ModelZaduzenja = nzp.ModelZaduzenja; rtgs.PozivNaBrZaduzenja = nzp.PozivNaBrZaduzenja; rtgs.RacunPoverioca = nzp.RacunPoverioca; rtgs.ModelOdobrenja = nzp.ModelOdobrenja; rtgs.PozivNaBrOdobrenja = nzp.PozivNaBrOdobrenja.ToString("F0"); rtgs.Iznos = nzp.Iznos; rtgs.SifraValute = nzp.OznakaValute; return(rtgs); }
public static List <NalogZaPlacanje> GetNalogZaPlacanjeByStatusAndBanka(string status, long idBanke) { List <NalogZaPlacanje> nalozi = new List <NalogZaPlacanje>(); using (SqlConnection conn = MySQLUtils.NapraviBankaConn()) { conn.Open(); string sql = "SELECT * FROM nalogzaplacanje nzp left join racun r on nzp.racunduznika=r.idracuna WHERE status = @status and r.idbanke = @idBanke"; using (SqlCommand cmd = new SqlCommand(sql, conn)) { cmd.Parameters.AddWithValue("@status", status); cmd.Parameters.AddWithValue("@idBanke", idBanke); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { NalogZaPlacanje naloug = GetFromReader(reader); nalozi.Add(naloug); } reader.Close(); } conn.Close(); } return(nalozi); }
public static void NapraviNalogZaPrenos(Firma sourceFirma, FirmaClient client) { PrikaziSveFakture(sourceFirma, client, GlobalConst.STATUS_FAKTURE_POSLATA); while (true) { Console.WriteLine("Izaberi fakturu od koje hoces da napravis nalog za prenos(Q za izlaz):"); string id_string = Console.ReadLine(); if (id_string == "Q" || id_string == "q") { return; } try { int id = Int32.Parse(id_string); Faktura fakt = FakturaDB.GetFaktura(id); if (fakt != null) { while (true) { Console.WriteLine("Da li je hitno? (y/n):"); string odgovor = Console.ReadLine(); if (odgovor == "Q" || odgovor == "q") { return; } if (odgovor == "y" || odgovor == "Y" || odgovor == "n" || odgovor == "N") { bool hitno; if (odgovor == "y" || odgovor == "Y") { hitno = true; } else { hitno = false; } NalogZaPlacanje nzp = generisiNZP(sourceFirma, hitno, fakt); client.NapraviNalogZaPrenosK(nzp); client.PromeniStatusFakture(fakt.IDFakture, GlobalConst.STATUS_FAKTURE_PLACENA); break; } } break; } } catch (Exception e) { //pass } } }
public static NalogZaPlacanje GetNalogZaPlacanjeById(int idNaloga) { NalogZaPlacanje stavka = new NalogZaPlacanje(); using (SqlConnection conn = MySQLUtils.NapraviBankaConn()) { conn.Open(); string sql = "SELECT * FROM nalogzaplacanje WHERE idnalogazaplacanje = @idnalogazaplacanje"; using (SqlCommand cmd = new SqlCommand(sql, conn)) { cmd.Parameters.AddWithValue("@idnalogazaplacanje", idNaloga); SqlDataReader reader = cmd.ExecuteReader(); reader.Read(); stavka = GetFromReader(reader); reader.Close(); } conn.Close(); } return(stavka); }
public void NapraviNalogZaPrenos(NalogZaPlacanje nzp) { //provrea dal se odma salje ili ne if (nzp.Hitno == true || nzp.Iznos > 250000) { //ako se odma salje pita se dal je ista banka RTGSNalog rtgsNalog = NapraviRTGSIzNaloga(nzp); PromenaStanjaUBanciZaFirmu(nzp.RacunDuznika, (-1) * nzp.Iznos, NapraviStavkuIzRTGSa(rtgsNalog)); //BANKASVCCONSOLE(rtgsNalog.ToString()); if (rtgsNalog.SWIFTBankaDuznika == rtgsNalog.SWIFTBankaPoverioca) { //ne salje se centralnoj banci, ista banka je duznik i poverioc nzp.Status = GlobalConst.STATUS_NALOGA_ZA_PLACANJE_POSLAT; NalogZaPlacanjeDB.InsertNalogZaPlacanje(nzp); PromenaStanjaUBanciZaFirmu(nzp.RacunPoverioca, nzp.Iznos, NapraviStavkuIzRTGSa(rtgsNalog)); } else { //rtgs se salje centralnoj, centralna sacuva rtgs u bazi, i salje poruke o odobrenju/zaduzenju nzp.Status = GlobalConst.STATUS_NALOGA_ZA_PLACANJE_POSLAT; NalogZaPlacanjeDB.InsertNalogZaPlacanje(nzp); PosaljiRTGSCentralnojBanci(rtgsNalog); } } else { //sacuvaj nalog nzp.Status = GlobalConst.STATUS_NALOGA_ZA_PLACANJE_KREIRAN; RTGSNalog rtgs = NapraviRTGSIzNaloga(nzp); if (rtgs.SWIFTBankaDuznika == rtgs.SWIFTBankaPoverioca) { PromenaStanjaUBanciZaFirmu(rtgs.RacunDuznika, (-1) * rtgs.Iznos, NapraviStavkuIzRTGSa(rtgs)); PromenaStanjaUBanciZaFirmu(rtgs.RacunPoverioca, rtgs.Iznos, NapraviStavkuIzRTGSa(rtgs)); nzp.Status = GlobalConst.STATUS_NALOGA_ZA_PLACANJE_POSLAT; } NalogZaPlacanjeDB.InsertNalogZaPlacanje(nzp); } }
public static List <NalogZaPlacanje> GetAllNalogZaPlacanje() { List <NalogZaPlacanje> nalozi = new List <NalogZaPlacanje>(); using (SqlConnection conn = MySQLUtils.NapraviBankaConn()) { conn.Open(); string sql = "SELECT * FROM nalogzaplacanje"; using (SqlCommand cmd = new SqlCommand(sql, conn)) { SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { NalogZaPlacanje nalog = GetFromReader(reader); nalozi.Add(nalog); } reader.Close(); } conn.Close(); } return(nalozi); }
/// <summary> /// pogodi. /// </summary> /// <param name="rtgs"></param> /// <returns></returns> private NalogZaPlacanje NapraviNalogZaPlacanjeIzRTGS(RTGSNalog rtgs) { NalogZaPlacanje placanje = new NalogZaPlacanje(); placanje.DatumNaloga = rtgs.DatumNaloga; placanje.DatumValute = rtgs.DatumValute; placanje.Duznik = rtgs.Duznik; placanje.Hitno = false; placanje.IDPoruke = rtgs.IDPoruke; placanje.Iznos = rtgs.Iznos; placanje.ModelOdobrenja = (int)rtgs.ModelOdobrenja; placanje.ModelZaduzenja = (int)rtgs.ModelZaduzenja; placanje.OznakaValute = rtgs.SifraValute; placanje.PozivNaBrOdobrenja = Double.Parse(rtgs.PozivNaBrOdobrenja); placanje.PozivNaBrZaduzenja = rtgs.PozivNaBrZaduzenja; placanje.Primalac = rtgs.Primalac; placanje.RacunDuznika = rtgs.RacunDuznika; placanje.RacunPoverioca = rtgs.RacunPoverioca; placanje.Status = GlobalConst.STATUS_NALOGA_ZA_PLACANJE_KREIRAN; placanje.SvrhaPlacanja = rtgs.SvrhaPlacanja; return(placanje); }
/// <summary> /// proveri dal ga imas sa lista.size() == 0 ili lista isempty /// </summary> /// <param name="status"></param> /// <returns></returns> public static List <NalogZaPlacanje> GetNalogByStatus(string status) { List <NalogZaPlacanje> nalozi = new List <NalogZaPlacanje>(); using (SqlConnection conn = MySQLUtils.NapraviBankaConn()) { conn.Open(); string sql = "SELECT * FROM nalogzaplacanje WHERE status = @status"; using (SqlCommand cmd = new SqlCommand(sql, conn)) { cmd.Parameters.AddWithValue("@status", status); SqlDataReader reader = cmd.ExecuteReader(); while (reader.Read()) { NalogZaPlacanje naloug = GetFromReader(reader); nalozi.Add(naloug); } reader.Close(); } conn.Close(); } return(nalozi); }
private static NalogZaPlacanje GetFromReader(SqlDataReader reader) { NalogZaPlacanje nalogZaPlacanje = new NalogZaPlacanje(); nalogZaPlacanje.IDNalogaZaPlacanje = (int)reader["idnalogazaplacanje"]; nalogZaPlacanje.IDPoruke = (string)reader["idporuke"]; nalogZaPlacanje.Duznik = (string)reader["duznik"]; nalogZaPlacanje.SvrhaPlacanja = (string)reader["svrhaplacanja"]; nalogZaPlacanje.Primalac = (string)reader["primalac"]; nalogZaPlacanje.DatumNaloga = (DateTime)reader["datumnaloga"]; nalogZaPlacanje.DatumValute = (DateTime)reader["datumvalute"]; nalogZaPlacanje.RacunDuznika = (string)reader["racunduznika"]; nalogZaPlacanje.ModelZaduzenja = (int)(decimal)reader["modelzaduzenja"]; nalogZaPlacanje.PozivNaBrZaduzenja = (string)reader["pozivnabrzaduzenja"]; nalogZaPlacanje.RacunPoverioca = (string)reader["racunpoverioca"]; nalogZaPlacanje.ModelOdobrenja = (int)(decimal)reader["modelodobrenja"]; nalogZaPlacanje.PozivNaBrOdobrenja = (double)(decimal)reader["pozivnabrodobrenja"]; nalogZaPlacanje.Iznos = (double)(decimal)reader["iznos"]; nalogZaPlacanje.OznakaValute = (string)reader["oznakavalute"]; nalogZaPlacanje.Hitno = ((string)reader["hitno"] == "0" ? false : true); //(bool)reader["hitno"]; nalogZaPlacanje.Status = (string)reader["status"]; return(nalogZaPlacanje); }
public void NapraviNalogZaPrenosK(NalogZaPlacanje nzp) { IBankaService bs = GetIBankaServiceChannel(XWS.Shared.GlobalConst.HOST_ADDRESS_BANKA + XWS.Shared.GlobalConst.BANKE_SERVICE_NAME); bs.NapraviNalogZaPrenos(nzp); }
public static void InsertNalogZaPlacanje(NalogZaPlacanje nalogZaPlacanje) { using (SqlConnection conn = MySQLUtils.NapraviBankaConn()) { conn.Open(); string sql = @"INSERT INTO [dbo].[nalogzaplacanje] ([idporuke] ,[duznik] ,[svrhaplacanja] ,[primalac] ,[datumnaloga] ,[datumvalute] ,[racunduznika] ,[modelzaduzenja] ,[pozivnabrzaduzenja] ,[racunpoverioca] ,[modelodobrenja] ,[pozivnabrodobrenja] ,[iznos] ,[oznakavalute] ,[hitno] ,[status]) VALUES (@idporuke ,@duznik ,@svrhaplacanja ,@primalac ,@datumnaloga ,@datumvalute ,@racunduznika ,@modelzaduzenja ,@pozivnabrzaduzenja ,@racunpoverioca ,@modelodobrenja ,@pozivnabrodobrenja ,@iznos ,@oznakavalute ,@hitno ,@status)" ; using (SqlCommand cmd = new SqlCommand(sql, conn)) { cmd.Parameters.AddWithValue("@idporuke", nalogZaPlacanje.IDPoruke); cmd.Parameters.AddWithValue("@duznik", nalogZaPlacanje.Duznik); cmd.Parameters.AddWithValue("@svrhaplacanja", nalogZaPlacanje.SvrhaPlacanja); cmd.Parameters.AddWithValue("@primalac", nalogZaPlacanje.Primalac); cmd.Parameters.AddWithValue("@datumnaloga", nalogZaPlacanje.DatumNaloga); cmd.Parameters.AddWithValue("@datumvalute", nalogZaPlacanje.DatumValute); cmd.Parameters.AddWithValue("@racunduznika", nalogZaPlacanje.RacunDuznika); cmd.Parameters.AddWithValue("@modelzaduzenja", nalogZaPlacanje.ModelZaduzenja); cmd.Parameters.AddWithValue("@pozivnabrzaduzenja", nalogZaPlacanje.PozivNaBrZaduzenja); cmd.Parameters.AddWithValue("@racunpoverioca", nalogZaPlacanje.RacunPoverioca); cmd.Parameters.AddWithValue("@modelodobrenja", nalogZaPlacanje.ModelOdobrenja); cmd.Parameters.AddWithValue("@pozivnabrodobrenja", nalogZaPlacanje.PozivNaBrOdobrenja); cmd.Parameters.AddWithValue("@iznos", nalogZaPlacanje.Iznos); cmd.Parameters.AddWithValue("@oznakavalute", nalogZaPlacanje.OznakaValute); cmd.Parameters.AddWithValue("@hitno", nalogZaPlacanje.Hitno); cmd.Parameters.AddWithValue("@status", nalogZaPlacanje.Status); cmd.ExecuteNonQuery(); } conn.Close(); } }
public void NapraviNalogZaPrenosK(NalogZaPlacanje nzp) { Channel.NapraviNalogZaPrenosK(nzp); }