예제 #1
0
 public void MT900CallBack(MT900 message)
 {
     try
     {
         var account = _accounts.Single(acc => acc.AccountNumber == message.PayerBankAccountNumber);
         account.Balance -= (double)message.Ammount;
     }
     catch
     {
     }
 }
예제 #2
0
        private void DoClearing(List <MT102> mt102s)
        {
            foreach (MT102 mt102 in mt102s)
            {
                foreach (MT102Stavka stavka in mt102.Stavke)
                {
                    Banka bankaDuznika  = DAO.GetBanka(stavka.RacunDuznika);
                    Banka bankaPrimaoca = DAO.GetBanka(stavka.RacunPoverioca);

                    Firma duznik   = DAO.GetFirmaBrojRacuna(stavka.RacunDuznika);
                    Firma primalac = DAO.GetFirmaBrojRacuna(stavka.RacunPoverioca);

                    MT900 rt900 = new MT900("idPoruka",
                                            bankaDuznika.Swift,
                                            bankaDuznika.Racun,
                                            mt102.IdPoruke,
                                            mt102.DatumValute,
                                            stavka.Iznos,
                                            mt102.SifraValute
                                            );

                    MT910 mt910 = new MT910(
                        "idPoruke",
                        bankaPrimaoca.Swift,
                        bankaPrimaoca.Racun,
                        mt102.IdPoruke,
                        mt102.DatumValute,
                        stavka.Iznos,
                        mt102.SifraValute
                        );

                    ChannelFactory <IBank> factory = new ChannelFactory <IBank>(new NetTcpBinding(), new EndpointAddress("net.tcp://localhost:9000/" + bankaPrimaoca.Naziv));
                    IBank proxy = factory.CreateChannel();

                    try
                    {
                        proxy.ObradiClearing(stavka, mt910);
                    }
                    catch (Exception e)
                    { }

                    Izvod izvod = new Izvod(stavka.SvrhaPlacanja, stavka.DuznikNalogodavac, stavka.PrimalacPoverilac, stavka.DatumNaloga,
                                            stavka.DatumNaloga, stavka.RacunDuznika, stavka.ModelZaduzenja, stavka.PozivNaBrZaduzenja,
                                            stavka.RacunPoverioca, stavka.ModelOdobrenja, stavka.PozivNaBrOdobrenja, stavka.Iznos);

                    DAO.InsertIzvod(izvod, 1);
                }
            }
        }
예제 #3
0
        public MT900 RTGS(MT103 mt103)
        {
            Banka bankaDuznika  = DAO.GetBanka(mt103.RacunDuznika);
            Banka bankaPrimaoca = DAO.GetBanka(mt103.RacunPoverioca);

            Firma duznik   = DAO.GetFirmaBrojRacuna(mt103.RacunDuznika);
            Firma primalac = DAO.GetFirmaBrojRacuna(mt103.RacunPoverioca);

            MT900 rt900 = new MT900("idPoruka",
                                    bankaDuznika.Swift,
                                    bankaDuznika.Racun,
                                    mt103.IdPoruke,
                                    mt103.DatumValute,
                                    mt103.Iznos,
                                    mt103.SifraValute
                                    );

            MT910 mt910 = new MT910(
                "idPoruke",
                bankaPrimaoca.Swift,
                bankaPrimaoca.Racun,
                mt103.IdPoruke,
                mt103.DatumValute,
                mt103.Iznos,
                mt103.SifraValute
                );

            ChannelFactory <IBank> factory = new ChannelFactory <IBank>(new NetTcpBinding(), new EndpointAddress("net.tcp://localhost:9000/" + bankaPrimaoca.Naziv));
            IBank proxy = factory.CreateChannel();

            try
            {
                proxy.ObradiRTGS(mt103, mt910);
            }
            catch (Exception e)
            { }

            Izvod izvod = new Izvod(mt103.SvrhaPlacanja, mt103.DuznikNalogodavac, mt103.PrimalacPoverilac, mt103.DatumNaloga,
                                    mt103.DatumValute, mt103.RacunDuznika, mt103.ModelZaduzenja, mt103.PozivNaBrZaduzenja,
                                    mt103.RacunPoverioca, mt103.ModelOdobrenja, mt103.PozivNaBrOdobrenja, mt103.Iznos);

            DAO.InsertIzvod(izvod, 1);

            return(rt900);
        }
예제 #4
0
        private void RTGS(NalogPrenos prenos, Common.Model.Banka bankaDuznik, Common.Model.Banka bankaPrimaoca)
        {
            Firma duznik   = DAO.GetFirmaBrojRacuna(prenos.RacunDuznika);
            Firma primalac = DAO.GetFirmaBrojRacuna(prenos.RacunPrimalac);

            Racun racunDuznika = DAO.GetRacunBrojRacuna(prenos.RacunDuznika);

            DAO.UpdateStanjeRacuna(racunDuznika.BrojRacun, racunDuznika.Stanje - prenos.Iznos);

            MT103 mt103 = new MT103(
                "id",
                bankaDuznik.Swift,
                bankaDuznik.Racun,
                bankaPrimaoca.Swift,
                bankaPrimaoca.Racun,
                duznik.Naziv,
                prenos.SvrhaPlacanja,
                primalac.Naziv,
                prenos.DatumNaloga,
                prenos.DatumValute,
                prenos.RacunDuznika,
                prenos.ModelZaduzenja,
                prenos.PozivNaBrZaduzenja,
                prenos.RacunPrimalac,
                prenos.ModelOdobrenja,
                prenos.PozivNaBrOdobrenja.ToString(),
                prenos.Iznos,
                "RSD"
                );


            ChannelFactory <ICentralnaBanka> factory = new ChannelFactory <ICentralnaBanka>(new NetTcpBinding(), new EndpointAddress("net.tcp://localhost:9000/CB"));
            ICentralnaBanka proxy = factory.CreateChannel();

            MT900 mt900 = null;

            try
            {
                mt900 = proxy.RTGS(mt103);
            }
            catch (Exception)
            { }
        }