示例#1
0
        /// <summary>
        /// Dohvaćanje svih korisnikovih bankovnih računa, transakcija, kategorija i transakcija investicije.
        /// Dohvaćaju se još i vrste transakcija.
        /// </summary>
        private void DohvatiSveKorisnikoveZapise()
        {
            //Dohvaćanje i prikazivanje svih korisnikovih bankovnih računa (uključujući vrstu računa).
            listaBankovnihRacuna = new BindingList <Bankovni_racun>();
            listaBankovnihRacuna = radnjaNadBankovnimRacunom.PrikaziBankovneRacunePremaKorisniku(trenutniKorisnik);
            listaVrstaRacuna     = new BindingList <Vrsta_racuna>();
            listaVrstaRacuna     = radnjaNadBankovnimRacunom.PrikaziVrsteBankovnihRacuna();

            //Dohvaćanje vrsta transakcija.
            listaVrstaTransakcije = new BindingList <Vrsta_transakcije>();
            listaVrstaTransakcije = radnjaNadTransakcijom.DohvatiVrsteTransakcija();

            //Dohvaćanje Transakcija i transakcija investicija.
            listaTransakcijaInvesticije = new BindingList <Transakcija_investicije>();
            listaTransakcijaInvesticije = radnjaNadTransakcijom.DohvatiSveTransakcijeInvesticija(listaBankovnihRacuna);
            listaTransakcija            = new BindingList <Transakcija>();
            listaTransakcija            = radnjaNadTransakcijom.DohvatiSveTransakcije(listaBankovnihRacuna);

            //Dohvaćanje svih korisnikovih kategorije
            OsvjeziKategorije();

            //Poruka greške.
            if (listaBankovnihRacuna == null)
            {
                MessageBox.Show("Ne postoje bankovni računi!");
                return;
            }
            else
            {
                btnOsvjeziTransakcije.Enabled = true;
            }


            //Vezemo sve bankovne racune, vrste racuna, vrste transakcija na binding source-ove
            bindingSourceBankovniRacuni.DataSource   = listaBankovnihRacuna;
            BindingSourceVrstaRacuna.DataSource      = listaVrstaRacuna;
            bindingSourceVrstaTransakcije.DataSource = listaVrstaTransakcije;

            using (var db = new WalletEntities())
            {
                //Sve transakcije spremamo u listu prikaza transakcije
                foreach (Transakcija transakcija in listaTransakcija)
                {
                    if (transakcija != null)
                    {
                        db.Transakcija.Attach(transakcija);

                        BindingList <Kategorije_transakcije> listaKategorijaTransakcijeListeTransakcija = new BindingList <Kategorije_transakcije>(transakcija.Kategorije_transakcije.ToList());
                        Kategorije_transakcije kategorija = null;
                        kategorija = listaKategorijaTransakcijeListeTransakcija[0];
                        db.Kategorije_transakcije.Attach(kategorija);

                        PrikazTransakcije noviPrikazTransakcije = new PrikazTransakcije(
                            transakcija,
                            transakcija.vrijeme_transakcije.Value,
                            transakcija.Bankovni_racun,
                            transakcija.iban,
                            transakcija.iznos_transakcije,
                            listaKategorijaTransakcijeListeTransakcija,
                            transakcija.opis_transakcije,
                            kategorija.id_vrsta_transakcije,
                            transakcija.lokacija_slike_racuna
                            );

                        db.Entry(transakcija).State = System.Data.Entity.EntityState.Detached;
                        db.Entry(kategorija).State  = System.Data.Entity.EntityState.Detached;
                        listaPrikazaTransakcija.Add(noviPrikazTransakcije);
                    }
                }
                //Sve transakcije investicije spremamo u listu prikaza transakcije
                foreach (Transakcija_investicije transakcija in listaTransakcijaInvesticije)
                {
                    if (transakcija != null)
                    {
                        db.Transakcija_investicije.Attach(transakcija);
                        Investicija investicija = transakcija.Investicija;
                        db.Investicija.Attach(investicija);

                        PrikazTransakcije noviPrikazTransakcije = new PrikazTransakcije(
                            transakcija,
                            transakcija.vrijeme_transakcije_investicije.Value,
                            transakcija.Bankovni_racun,
                            transakcija.iban,
                            transakcija.iznos_transakcije_investicije.Value,
                            transakcija.kolicina_investicije,
                            investicija.naziv_investicije,
                            transakcija.id_vrsta_transakcije
                            );
                        db.Entry(transakcija).State = System.Data.Entity.EntityState.Detached;
                        listaPrikazaTransakcija.Add(noviPrikazTransakcije);
                    }
                }
            }
            OsvjeziPrikazTransakcija();
        }
示例#2
0
 //konstruktor za stvaranje bankovnog računa
 public FrmBankovniRacunDodaj(Korisnik korisnik)
 {
     trenutniKorisnik = korisnik;
     InitializeComponent();
     vrstaracunaBindingSource.DataSource = radnjaNadBankovnimRacunom.PrikaziVrsteBankovnihRacuna();
 }