public void MT900CallBack(MT900 message) { try { var account = _accounts.Single(acc => acc.AccountNumber == message.PayerBankAccountNumber); account.Balance -= (double)message.Ammount; } catch { } }
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); } } }
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); }
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) { } }