Exemplo n.º 1
0
        }        //

        private static RTGSNalog ReadFromReader(SqlDataReader reader)
        {
            RTGSNalog ret = new RTGSNalog();

            ret.IDPoruke                      = (string)reader["idporuke"];
            ret.SWIFTBankaDuznika             = (string)reader["swiftbankaduznika"];
            ret.ObracunskiRacunBankeDuznika   = (string)reader["obracunskiracunbankeduznika"];
            ret.SWIFTBankaPoverioca           = (string)reader["swiftbankapoverioca"];
            ret.ObracunskiRacunBankePoverioca = (string)reader["obracunskiracunbankepoverioca"];
            ret.Duznik             = (string)reader["duznik"];
            ret.SvrhaPlacanja      = (string)reader["svrhaplacanja"];
            ret.Primalac           = (string)reader["primalac"];
            ret.DatumNaloga        = (DateTime)reader["datumnaloga"];
            ret.DatumValute        = (DateTime)reader["datumvalute"];
            ret.RacunDuznika       = (string)reader["racunduznika"];
            ret.ModelZaduzenja     = (double)(decimal)reader["modelzaduzenja"];
            ret.PozivNaBrZaduzenja = (string)reader["pozivnabrzaduzenja"];
            ret.RacunPoverioca     = (string)reader["racunpoverioca"];
            ret.ModelOdobrenja     = (double)(decimal)reader["modelodobrenja"];
            ret.PozivNaBrOdobrenja = (string)reader["pozivnabrodobrenja"];
            ret.Iznos        = (double)(decimal)reader["iznos"];
            ret.SifraValute  = (string)reader["sifravalute"];
            ret.IDRTGSNaloga = (int)reader["idrtgsnaloga"];

            return(ret);
        }
Exemplo n.º 2
0
        /// <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);
        }
Exemplo n.º 3
0
        /// <summary>
        /// POTREBNO JE DODATI IDPRESEKA, POS U RTGSU NEMA
        /// </summary>
        /// <param name="rtgs"></param>
        /// <returns></returns>
        private StavkaPreseka NapraviStavkuIzRTGSa(RTGSNalog rtgs)
        {
            StavkaPreseka stavka = new StavkaPreseka();

            stavka.DatumNaloga          = rtgs.DatumNaloga;
            stavka.DatumValute          = rtgs.DatumValute;
            stavka.Duznik               = rtgs.Duznik;
            stavka.Iznos                = rtgs.Iznos;
            stavka.ModelOdobrenja       = rtgs.ModelOdobrenja;
            stavka.ModelZaduzenja       = rtgs.ModelZaduzenja;
            stavka.PozivNaBrojOdobrenja = rtgs.PozivNaBrOdobrenja;
            stavka.PozivNaBrZaduzenja   = rtgs.PozivNaBrZaduzenja;
            stavka.Primalac             = rtgs.Primalac;
            stavka.RacunDuznika         = rtgs.RacunDuznika;
            stavka.RacunPoverioca       = rtgs.RacunPoverioca;
            stavka.Smer          = "†";
            stavka.SvrhaPlacanja = rtgs.SvrhaPlacanja;

            return(stavka);
        }
Exemplo n.º 4
0
        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);
            }
        }
        /// <summary>
        /// <para>Metoda koja prima RTGS nalog i pravi poruke o odobrenju i zaduzenju.</para>
        /// <para>Poruku o zaduzenju vraca banci koja je posala nalog. </para>
        /// </summary>
        /// <param name="rtgsNalog"></param>
        /// <returns></returns>
        public void AcceptRTGSAndSendMessages(RTGSNalog rtgsNalog)
        {
            rtgsNalog = RTGSNalogDB.InsertIntoRTGSNalog(rtgsNalog);

            CBSVCCONSOLE("VERIFIKOVAN RTGS NALOG");
            CBSVCCONSOLE(rtgsNalog.ToString());

            //promena para
            KombinacijeDB.PrenosNovca(rtgsNalog.SWIFTBankaDuznika,
                                      rtgsNalog.SWIFTBankaPoverioca,
                                      Int64.Parse(rtgsNalog.ObracunskiRacunBankeDuznika),
                                      Int64.Parse(rtgsNalog.ObracunskiRacunBankePoverioca),
                                      rtgsNalog.Iznos);

            PorukaOOdobrenju odobrenje = new PorukaOOdobrenju();
            PorukaOZaduzenju zaduzenje = new PorukaOZaduzenju();

            //poruka o odobrenju
            odobrenje.IDPoruke                      = rtgsNalog.IDPoruke;
            odobrenje.SWIFTBankePoverioca           = rtgsNalog.SWIFTBankaPoverioca;
            odobrenje.ObracunskiRacunBankePoverioca = rtgsNalog.ObracunskiRacunBankePoverioca;
            odobrenje.IDPorukeNaloga                = "Ovo Ne Znam Sta Je";
            odobrenje.DatumValute                   = rtgsNalog.DatumValute;
            odobrenje.Iznos       = rtgsNalog.Iznos;
            odobrenje.SifraValute = rtgsNalog.SifraValute;

            //poruka o zaduzenju
            zaduzenje.IDPPoruke                   = rtgsNalog.IDPoruke;
            zaduzenje.SWIFTBankeDuznika           = rtgsNalog.SWIFTBankaDuznika;
            zaduzenje.ObracunskiRacunBankeDuznika = rtgsNalog.ObracunskiRacunBankeDuznika;
            zaduzenje.IDPorukeNaloga              = "Ovo Ne Znam Sta Je";
            zaduzenje.DatumValute                 = rtgsNalog.DatumValute;
            zaduzenje.Iznos       = rtgsNalog.Iznos;
            zaduzenje.SifraValute = rtgsNalog.SifraValute;

            IBankaService srvc = GetBankaService(GlobalConst.HOST_ADDRESS_BANKA + GlobalConst.BANKE_SERVICE_NAME);

            srvc.PrimiPorukuOOdobrenjuIRTGS(odobrenje, rtgsNalog);
            srvc.PrimiPorukuOZaduzenju(zaduzenje);
        }
Exemplo n.º 6
0
        }        //

        //
        public static RTGSNalog GetRTGSNalog(int idNaloga)
        {
            RTGSNalog ret;

            using (SqlConnection conn = MySQLUtils.NapraviFirmaConn())
            {
                conn.Open();
                string sql = @"SELECT * FROM rtgsnalog WHERE idrtgsnaloga = @idrtgsnaloga";
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    cmd.Parameters.AddWithValue("@idrtgsnaloga", idNaloga);
                    ret = new RTGSNalog();
                    SqlDataReader reader = cmd.ExecuteReader();

                    reader.Read();
                    ret = ReadFromReader(reader);
                    reader.Close();
                }
                conn.Close();
            }

            return(ret);
        }        //
Exemplo n.º 7
0
        /// <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);
        }
Exemplo n.º 8
0
        //
        public static List <RTGSNalog> GetAllRTGSNalog()
        {
            List <RTGSNalog> poruke = new List <RTGSNalog>();

            using (SqlConnection conn = MySQLUtils.NapraviFirmaConn())
            {
                conn.Open();
                string sql = @"SELECT * FROM rtgsnalog";
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    SqlDataReader reader = cmd.ExecuteReader();
                    while (reader.Read())
                    {
                        RTGSNalog ret = new RTGSNalog();
                        ret = ReadFromReader(reader);
                        poruke.Add(ret);
                    }
                    reader.Close();
                }
                conn.Close();
            }

            return(poruke);
        }        //
Exemplo n.º 9
0
        }        //

        //
        public static RTGSNalog InsertIntoRTGSNalog(RTGSNalog f)
        {
            using (SqlConnection conn = MySQLUtils.NapraviCBConn())
            {
                string sql = @"INSERT INTO [dbo].[rtgsnalog]
													   ([idporuke]
													   ,[swiftbankaduznika]
													   ,[obracunskiracunbankeduznika]
													   ,[swiftbankapoverioca]
													   ,[obracunskiracunbankepoverioca]
													   ,[duznik]
													   ,[svrhaplacanja]
													   ,[primalac]
													   ,[datumnaloga]
													   ,[datumvalute]
													   ,[racunduznika]
													   ,[modelzaduzenja]
													   ,[pozivnabrzaduzenja]
													   ,[racunpoverioca]
													   ,[modelodobrenja]
													   ,[pozivnabrodobrenja]
													   ,[iznos]
													   ,[sifravalute])
												 VALUES
													   (@idporuke
													   ,@swiftbankaduznika
													   ,@obracunskiracunbankeduznika
													   ,@swiftbankapoverioca
													   ,@obracunskiracunbankepoverioca
													   ,@duznik
													   ,@svrhaplacanja
													   ,@primalac
													   ,@datumnaloga
													   ,@datumvalute
													   ,@racunduznika
													   ,@modelzaduzenja
													   ,@pozivnabrzaduzenja
													   ,@racunpoverioca
													   ,@modelodobrenja
													   ,@pozivnabrodobrenja
													   ,@iznos
													   ,@sifravalute) SELECT SCOPE_IDENTITY()"                                                    ;
                conn.Open();
                using (SqlCommand cmd = new SqlCommand(sql, conn))
                {
                    cmd.Parameters.AddWithValue("@idporuke", f.IDPoruke);
                    cmd.Parameters.AddWithValue("@swiftbankaduznika", f.SWIFTBankaDuznika);
                    cmd.Parameters.AddWithValue("@obracunskiracunbankeduznika", f.ObracunskiRacunBankeDuznika);
                    cmd.Parameters.AddWithValue("@swiftbankapoverioca", f.SWIFTBankaPoverioca);
                    cmd.Parameters.AddWithValue("@obracunskiracunbankepoverioca", f.ObracunskiRacunBankePoverioca);
                    cmd.Parameters.AddWithValue("@duznik", f.Duznik);
                    cmd.Parameters.AddWithValue("@svrhaplacanja", f.SvrhaPlacanja);
                    cmd.Parameters.AddWithValue("@primalac", f.Primalac);
                    cmd.Parameters.AddWithValue("@datumnaloga", f.DatumNaloga);
                    cmd.Parameters.AddWithValue("@datumvalute", f.DatumValute);
                    cmd.Parameters.AddWithValue("@racunduznika", f.RacunDuznika);
                    cmd.Parameters.AddWithValue("@modelzaduzenja", f.ModelZaduzenja);
                    cmd.Parameters.AddWithValue("@pozivnabrzaduzenja", f.PozivNaBrZaduzenja);
                    cmd.Parameters.AddWithValue("@racunpoverioca", f.RacunPoverioca);
                    cmd.Parameters.AddWithValue("@modelodobrenja", f.ModelOdobrenja);
                    cmd.Parameters.AddWithValue("@pozivnabrodobrenja", f.PozivNaBrOdobrenja);
                    cmd.Parameters.AddWithValue("@iznos", f.Iznos);
                    cmd.Parameters.AddWithValue("@sifravalute", f.SifraValute);

                    object x = cmd.ExecuteScalar();
                    f.IDRTGSNaloga = (int)(decimal)x;
                }
                conn.Close();
            }
            return(f);
        }        //
Exemplo n.º 10
0
 /// <summary>
 /// Metoda koja izvlaci koliko novca je uplaceno na racun, i kojoj firmi, i to belezi u bazu
 /// </summary>
 /// <param name="odobrenje"></param>
 public void PrimiPorukuOOdobrenjuIRTGS(PorukaOOdobrenju odobrenje, RTGSNalog nalog)
 {
     PorukaOOdobrenjuDB.InsertIntoPorukaOOdobrenju(odobrenje);
     PromenaStanjaUBanciZaFirmu(nalog.RacunPoverioca, nalog.Iznos, NapraviStavkuIzRTGSa(nalog));
 }
Exemplo n.º 11
0
        /// <summary>
        /// Salje RTGS nalog centralnoj banci i vraca poruku o zaduzenju.
        /// </summary>
        /// <param name="nalog"></param>
        /// <returns></returns>
        private void PosaljiRTGSCentralnojBanci(RTGSNalog nalog)
        {
            ICentralnaBankaService cbsvc = GetCBServiceChannel(GlobalConst.HOST_ADDRESS_CB + GlobalConst.CENTRALNA_BANKA_NAME);

            cbsvc.AcceptRTGSAndSendMessages(nalog);
        }