Пример #1
0
        public void PlatiCommandExecute()
        {
            NalogPrenos nalog = new NalogPrenos(
                -1,
                "test",
                SelektovanaFaktura.NazivKupca,
                "Svrha placanja",
                SelektovanaFaktura.NazivDobavljaca,
                DateTime.Now,
                DateTime.Now,
                racun.BrojRacun,
                97,
                "poziv",
                SelektovanaFaktura.UplataNaRacun,
                97,
                4464,
                SelektovanaFaktura.UkupnoRobeIUsluga,
                "RSD",
                false
                );

            Banka banka = DAO.GetBanka(racun.BrojRacun);

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

            try
            {
                proxy.SendNalogPrenos(nalog);
            }
            catch (Exception e)
            { }
        }
Пример #2
0
        private void PrenosUnutarBanke(NalogPrenos prenos, Common.Model.Banka banka)
        {
            Racun racunDuznika  = DAO.GetRacunBrojRacuna(prenos.RacunDuznika);
            Racun racunPrimaoca = DAO.GetRacunBrojRacuna(prenos.RacunPrimalac);

            if (racunDuznika.Stanje < prenos.Iznos)
            {
                return;
            }

            DAO.UpdateStanjeRacuna(racunDuznika.BrojRacun, racunDuznika.Stanje - prenos.Iznos);
            DAO.UpdateStanjeRacuna(racunPrimaoca.BrojRacun, racunPrimaoca.Stanje + prenos.Iznos);
        }
Пример #3
0
        private void Clearing(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);

            MT102 mt102 = null;

            clearing.TryGetValue(bankaPrimaoca.Naziv, out mt102);

            if (mt102 == null)
            {
                mt102 = new MT102(
                    "id",
                    bankaDuznik.Swift,
                    bankaDuznik.Racun,
                    bankaPrimaoca.Swift,
                    bankaPrimaoca.Racun,
                    prenos.Iznos,
                    "RSD",
                    prenos.DatumNaloga,
                    prenos.DatumValute);

                clearing.Add(bankaPrimaoca.Naziv, mt102);
            }

            MT102Stavka stavka = new MT102Stavka(
                prenos.IdNalog.ToString(),
                duznik.Naziv,
                prenos.SvrhaPlacanja,
                primalac.Naziv,
                prenos.DatumNaloga,
                racunDuznika.BrojRacun,
                prenos.ModelZaduzenja,
                prenos.PozivNaBrZaduzenja,
                prenos.RacunPrimalac,
                prenos.ModelOdobrenja,
                prenos.PozivNaBrOdobrenja.ToString(),
                prenos.Iznos,
                "RSD"
                );

            mt102.Stavke.Add(stavka);
        }
Пример #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)
            { }
        }
Пример #5
0
        public void SendNalogPrenos(NalogPrenos prenos)
        {
            Common.Model.Banka bankaDuznika  = DAO.GetBanka(prenos.RacunDuznika);
            Common.Model.Banka bankaPrimaoca = DAO.GetBanka(prenos.RacunPrimalac);

            if (bankaDuznika.IdBanka == bankaPrimaoca.IdBanka)
            {
                PrenosUnutarBanke(prenos, bankaDuznika);
            }
            else
            {
                if (prenos.Hitno || prenos.Iznos >= 250000)
                {
                    RTGS(prenos, bankaDuznika, bankaPrimaoca);
                }
                else
                {
                    Clearing(prenos, bankaDuznika, bankaPrimaoca);
                }
            }
        }