//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> /// 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(); }
private void btnDodajNoviRacun_Click(object sender, EventArgs e) { Vrsta_racuna odabranaVrstaRacuna = vrstaracunaBindingSource.Current as Vrsta_racuna; //Određuje se radi li se o unosu novog računa ili uređivanju postojećeg if (odabraniRacun == null) { dodajNoviRacun(txtIban.Text.ToUpper(), txtNazivRacuna.Text, decimal.Parse(txtStanjeRacuna.Text), trenutniKorisnik, odabranaVrstaRacuna); } else { urediRacun(odabraniRacun, txtNazivRacuna.Text, odabranaVrstaRacuna); } }
//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"; } }
/// <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(); } }