/// <summary> /// Metoda koja dodaje novi bankovni račun /// </summary> private void dodajNoviRacun(string iban, string nazivRacuna, decimal stanjeRacuna, Korisnik korisnik, Vrsta_racuna odabranaVrstaRacuna) { if (ProvjeraJedinstvenostiIbana(iban)) { MessageBox.Show("Uneseni IBAN već postoji u bazi podataka."); } else { using (var db = new WalletEntities()) { db.Korisnik.Attach(korisnik); db.Vrsta_racuna.Attach(odabranaVrstaRacuna); Bankovni_racun noviBankovniRacun = new Bankovni_racun { iban = iban, naziv_racuna = nazivRacuna, stanje_racuna = stanjeRacuna, Korisnik = korisnik, Vrsta_racuna = odabranaVrstaRacuna }; db.Bankovni_racun.Add(noviBankovniRacun); db.SaveChanges(); db.Entry(korisnik).State = System.Data.Entity.EntityState.Detached; db.Entry(odabranaVrstaRacuna).State = System.Data.Entity.EntityState.Detached; } this.Close(); } }
//Klik gumba btnObrisi koji provodi brisanje računa, provodi se i brisanje transakcija vezane na račun, te brisanje kategorija vezane na iste transakcije. private void btnObrisi_Click(object sender, EventArgs e) { Bankovni_racun odabraniRacun = bankovniracunBindingSource.Current as Bankovni_racun; radnjaNadBankovnimRacunom.ObrisiRacun(odabraniRacun); bankovniracunBindingSource.DataSource = radnjaNadBankovnimRacunom.PrikaziBankovneRacunePremaKorisniku(trenutniKorisnik); }
//konstruktor za uređivanje postojećeg bankovnog računa koji također mijenja izgled forme namjenjen za uređivanje bankovnog računa public FrmBankovniRacunDodaj(Korisnik korisnik, Bankovni_racun racun) { odabraniRacun = racun; InitializeComponent(); //mijenjanje izgleda i unaprijed unesenih stvari u formu jer se radi nad postojećim računom this.Text = "Uređivanje računa"; lblMojiBankovniRacuni.Text = "Uređivanje bankovnog računa"; lblMojiBankovniRacuni.Location = new Point(this.Width / 2 - lblMojiBankovniRacuni.Width / 2, lblMojiBankovniRacuni.Location.Y); btnDodajNoviRacun.Text = "Promijeni"; txtIban.Enabled = false; txtStanjeRacuna.Enabled = false; cboVrstaRacuna.Enabled = false; txtNazivRacuna.Text = odabraniRacun.naziv_racuna; txtIban.Text = odabraniRacun.iban; txtStanjeRacuna.Text = odabraniRacun.stanje_racuna.ToString(); using (var db = new WalletEntities()) { Vrsta_racuna vrsta = (from t in db.Vrsta_racuna where t.id_vrsta_racuna == odabraniRacun.id_vrsta_racuna select t).First <Vrsta_racuna>(); cboVrstaRacuna.Text = vrsta.naziv_vrste_racuna; } }
/// <summary> /// Ova metoda služi kako bi korisnik mogao kupiti investiciju /// </summary> private void KupiInvesticiju() { Bankovni_racun bankovni_Racun = null; bankovni_Racun = bankovniracunBindingSource.Current as Bankovni_racun; Investicija investicija = null; investicija = investicijaBindingSource.Current as Investicija; using (var db = new WalletEntities()) { db.Korisnik.Attach(trenutniKorisnik); db.Investicija.Attach(investicija); db.Bankovni_racun.Attach(bankovni_Racun); int idPort = 0; int idVrsteTrans = 0; //dobavlja vanjski kljuc id_portfolia foreach (var item in db.Investicijski_portfolio) { Investicijski_portfolio investicijski = (from t in db.Investicijski_portfolio where t.id_korisnik == trenutniKorisnik.id_korisnik select t).First(); idPort = investicijski.id_portfolia; } //dobavlja vanjski kljuc za kupi transakciju, vrstu transakcije if (rBtnKupi.Checked == true) { foreach (var item in db.Vrsta_transakcije) { Vrsta_transakcije vrsta = (from t in db.Vrsta_transakcije where t.id_vrsta_transakcije == 2 select t).First(); idVrsteTrans = 2; } } lblKriviTipPodatakaIznos.Hide(); lblKriviTipPodatakaKolicina.Hide(); Transakcija_investicije transakcija_Investicije = new Transakcija_investicije { Investicija = investicija, vrijeme_transakcije_investicije = dtpDatum.Value, kolicina_investicije = decimal.Parse(txtKolicina.Text), iznos_transakcije_investicije = decimal.Parse(txtIznosTransInv.Text), Bankovni_racun = bankovni_Racun, id_portfolia = idPort, id_vrsta_transakcije = idVrsteTrans, }; //lblKriviTipPodatakaKolicina.Visible = false; decimal ukupniIznos = decimal.Parse(txtKolicina.Text) * decimal.Parse(txtIznosTransInv.Text); bankovni_Racun.stanje_racuna = bankovni_Racun.stanje_racuna - ukupniIznos; db.Transakcija_investicije.Add(transakcija_Investicije); db.SaveChanges(); txtKolicina.Clear(); txtIznosTransInv.Clear(); } }
/// <summary> /// Metoda koja uređuje odabrani bankovni račun /// </summary> private void urediRacun(Bankovni_racun bankovniRacun, string nazivRacuna, Vrsta_racuna odabranaVrstaRacuna) { using (var db = new WalletEntities()) { db.Bankovni_racun.Attach(bankovniRacun); odabraniRacun.naziv_racuna = nazivRacuna; db.SaveChanges(); } this.Close(); }
//Klik gumba btnUredi koji otvara formu FrmBankovniRacunDodaj u kojoj se može izmjeniti odabrani račun. private void btnUredi_Click(object sender, EventArgs e) { Bankovni_racun odabraniRacun = bankovniracunBindingSource.Current as Bankovni_racun; if (odabraniRacun != null) { MDI_Forme.FrmBankovniRacunDodaj formaDodavanjaRacuna = new FrmBankovniRacunDodaj(trenutniKorisnik, odabraniRacun); formaDodavanjaRacuna.ShowDialog(); bankovniracunBindingSource.DataSource = radnjaNadBankovnimRacunom.PrikaziBankovneRacunePremaKorisniku(trenutniKorisnik); } }
/// <summary> /// Dohvati listu s podacima o danom bankovnom računu. /// </summary> /// <param name="racun"></param> /// <returns></returns> private List <string> PodaciRacuna(Bankovni_racun racun) { List <string> detaljiRacuna = new List <string>(); using (WalletEntities db = new WalletEntities()) { db.Bankovni_racun.Attach(racun); detaljiRacuna.Add(racun.naziv_racuna); detaljiRacuna.Add(racun.stanje_racuna.ToString()); db.Vrsta_racuna.Attach(racun.Vrsta_racuna); detaljiRacuna.Add(racun.Vrsta_racuna.naziv_vrste_racuna); } return(detaljiRacuna); }
//Prilikom promjene binding sourcea trenutno selektiranog računa u combo boxu (cboRacun) dohvaćaju se informacije //o tom odabranom računu (na formi se prikazuju IBAN, vrsta računa i stanje računa) private void bankovniracunBindingSource_CurrentChanged(object sender, EventArgs e) { Bankovni_racun odabraniBankovniRacun = bankovniracunBindingSource.Current as Bankovni_racun; if (odabraniBankovniRacun != null) { lblIbanOdabranogRacuna.Text = odabraniBankovniRacun.iban; //dohvaćamo naziv vrste računa preko vanjskog ključa using (var db = new WalletEntities()) { Vrsta_racuna vrsta = (from t in db.Vrsta_racuna where t.id_vrsta_racuna == odabraniBankovniRacun.id_vrsta_racuna select t).First <Vrsta_racuna>(); lblVrstaOdabranogRacuna.Text = vrsta.naziv_vrste_racuna; } lblStanjeOdabranogRacuna.Text = odabraniBankovniRacun.stanje_racuna.ToString(); } else { lblIbanOdabranogRacuna.Text = "N/A"; lblVrstaOdabranogRacuna.Text = "N/A"; lblStanjeOdabranogRacuna.Text = "N/A"; } }