/// <summary> /// Metoda koja briše sve postojeće transakcije iz tablice Transakcija i Transakcija_investicija vezane na odabrani bankovni račun. /// </summary> public void ObrisiSveTransakcijeRacuna(Bankovni_racun odabraniRacun) { List <Transakcija> listaTransakcija = new List <Transakcija>(); List <Transakcija_investicije> listaTransakcijaInvesticija = new List <Transakcija_investicije>(); using (var db = new WalletEntities()) { db.Bankovni_racun.Attach(odabraniRacun); listaTransakcija = odabraniRacun.Transakcija.ToList(); listaTransakcijaInvesticija = odabraniRacun.Transakcija_investicije.ToList(); } //brisanje svih povezanih transakcija za odabrani račun foreach (var transakcija in listaTransakcija) { upravljanjeTransakcijom.ObrisiTransakciju(transakcija); } //brisanje svih povezanih transakcija investicije za odabrani račun foreach (var transakcijaInvesticije in listaTransakcijaInvesticija) { using (var db = new WalletEntities()) { if (transakcijaInvesticije.iban == odabraniRacun.iban) { db.Transakcija_investicije.Attach(transakcijaInvesticije); db.Transakcija_investicije.Remove(transakcijaInvesticije); db.SaveChanges(); } } } }
/// <summary> /// Metoda koja briše odabrani račun. /// Također brišemo i sve transakcije povezane na bankovni račun /// kao i sve veze istih transakcija s kategorijama transakcija koje su spremljene u tablici Transakcija_ima_kategorije. /// </summary> public void ObrisiRacun(Bankovni_racun odabraniRacun) { if (odabraniRacun != null) { if (MessageBox.Show("Da li ste sigurni?", "Upozorenje!", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { ObrisiSveTransakcijeRacuna(odabraniRacun); //nakon provjere (i brisanja postojećih) transakcija i transakcija investicija brišemo račun using (var db = new WalletEntities()) { db.Bankovni_racun.Attach(odabraniRacun); db.Bankovni_racun.Remove(odabraniRacun); db.SaveChanges(); } } } else { MessageBox.Show("Morate prvo odabrati postojeći račun da biste ga obrisali."); } }
/// <summary> /// Konstruktor za spremanje obične transakcije. /// </summary> public PrikazTransakcije(Transakcija obicnaTransakcija, DateTime datum, Bankovni_racun bankovniRacun, string IBAN, decimal iznos, BindingList <Kategorije_transakcije> kategorijeTransakcije, string opis, int vrstaTransakcije, string lokacijaSlike) { ObicnaTransakcija = obicnaTransakcija; Vrijeme = datum; bankovniRacun = BankovniRacun; iban = IBAN; if (vrstaTransakcije == 1) { Iznos = iznos; } else { Iznos = 0 - iznos; } KategorijeTransakcije = kategorijeTransakcije; Opis = opis; VrstaTransakcije = vrstaTransakcije; DatumTransakcije = Vrijeme.ToString("dd/MM/yyyy"); if (lokacijaSlike != null) { LokacijaSlike = lokacijaSlike; } }
/// <summary> /// Konstruktor za spremanje transakcije investicija. /// </summary> public PrikazTransakcije(Transakcija_investicije transakcijaInvesticije, DateTime datum, Bankovni_racun bankovniRacun, string IBAN, decimal iznos, decimal kolicina, string investicija, int vrstaTransakcije) { TransakcijaInvesticije = transakcijaInvesticije; Vrijeme = datum; iban = IBAN; bankovniRacun = BankovniRacun; if (vrstaTransakcije == 1) { Iznos = iznos; } else { Iznos = 0 - iznos; } VrstaTransakcije = vrstaTransakcije; Opis = "\nInvesticija:" + investicija + "\nKolicina :" + kolicina; KategorijeTransakcije = null; DatumTransakcije = Vrijeme.ToString("dd/MM/yyyy"); }