/// <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(); }
//konstruktor za stvaranje bankovnog računa public FrmBankovniRacunDodaj(Korisnik korisnik) { trenutniKorisnik = korisnik; InitializeComponent(); vrstaracunaBindingSource.DataSource = radnjaNadBankovnimRacunom.PrikaziVrsteBankovnihRacuna(); }