//Označavanjem reda u dgvPregledTransakcija prikazuje nam se opis odabrane transakcije u text boxu ispod dataGridView-a private void dgvPregledTransakcija_SelectionChanged(object sender, EventArgs e) { if (dgvPregledTransakcija.CurrentRow == null) { return; } PrikazTransakcije prikazTransakcije = dgvPregledTransakcija.CurrentRow.DataBoundItem as PrikazTransakcije; if (prikazTransakcije == null) { return; } txtOpis.Text = "Opis:" + System.Environment.NewLine + prikazTransakcije.Opis; if (prikazTransakcije.LokacijaSlike != null) { txtLokacijaSlike.Text = prikazTransakcije.LokacijaSlike; txtLokacijaSlike.Visible = true; btnPrikaziSliku.Visible = true; } else { txtLokacijaSlike.Text = null; txtLokacijaSlike.Visible = false; btnPrikaziSliku.Visible = false; } }
private void btnObrisi_Click(object sender, EventArgs e) { //Uvjet za brisanje je da ne smije biti prazan dgvPregledTransakcija i da mora biti označen barem jedan red. if (dgvPregledTransakcija.RowCount == 0 || dgvPregledTransakcija.SelectedRows.Count != 1) { return; } PrikazTransakcije prikazTransakcijeZaBrisanje = dgvPregledTransakcija.CurrentRow.DataBoundItem as PrikazTransakcije; if (prikazTransakcijeZaBrisanje.ObicnaTransakcija != null) { radnjaNadTransakcijom.ObrisiTransakciju(prikazTransakcijeZaBrisanje.ObicnaTransakcija); } if (prikazTransakcijeZaBrisanje.TransakcijaInvesticije != null) { using (WalletEntities db = new WalletEntities()) { db.Transakcija_investicije.Attach(prikazTransakcijeZaBrisanje.TransakcijaInvesticije); db.Transakcija_investicije.Remove(prikazTransakcijeZaBrisanje.TransakcijaInvesticije); db.SaveChanges(); } } listaPrikazaTransakcija.Clear(); DohvatiSveKorisnikoveZapise(); }
/// <summary> /// metoda koja sluzi da se izračunaju ukupni iznosi rashoda za svaki dan /// </summary> public decimal DohvatiSveZapise() { //trebam: //vrstu transakcije, rashod //listu transakcija rashoda i podijelit po datumu listaBankovnihRacuna = new BindingList <Bankovni_racun>(); listaBankovnihRacuna = radnjaNadBankovnimRacunima.PrikaziBankovneRacunePremaKorisniku(trenutniKorisnik); listaVrstaTransakcija = new BindingList <Vrsta_transakcije>(); listaVrstaTransakcija = radnjaNadTransakcijom.DohvatiVrsteTransakcija(); listaTransakcijaInvesticija = new BindingList <Transakcija_investicije>(); listaTransakcijaInvesticija = radnjaNadTransakcijom.DohvatiSveTransakcijeInvesticija(listaBankovnihRacuna); listaTransakcija = new BindingList <Transakcija>(); listaTransakcija = radnjaNadTransakcijom.DohvatiSveTransakcije(listaBankovnihRacuna); //dodaje sve transakcije i sve transakcije investicija u listu prikaza transakcija using (var db = new WalletEntities()) { 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 kategorije = null; kategorije = listaKategorijaTransakcijeListeTransakcija[0]; db.Kategorije_transakcije.Attach(kategorije); PrikazTransakcije noviPrikazTransakcije = new PrikazTransakcije( transakcija, transakcija.vrijeme_transakcije.Value, transakcija.Bankovni_racun, transakcija.iban, transakcija.iznos_transakcije, listaKategorijaTransakcijeListeTransakcija, transakcija.opis_transakcije, kategorije.id_kategorije_transakcije, transakcija.lokacija_slike_racuna ); db.Entry(transakcija).State = System.Data.Entity.EntityState.Detached; db.Entry(kategorije).State = System.Data.Entity.EntityState.Detached; listaPrikazaTransacija.Add(noviPrikazTransakcije); } } foreach (Transakcija_investicije transakcija in listaTransakcijaInvesticija) { 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; listaPrikazaTransacija.Add(noviPrikazTransakcije); } } //lista svih investicija } BindingList <PrikazTransakcije> listaPrihoda = new BindingList <PrikazTransakcije>(); BindingList <PrikazTransakcije> listaRashoda = new BindingList <PrikazTransakcije>(); //djeli listu prikaza transakcije u listu rashoda i listu prihoda decimal ukupniIznosRashoda = 0; decimal ukupniIznosPrihoda = 0; foreach (var item in listaPrikazaTransacija) { if (item.VrstaTransakcije == 2) { listaRashoda.Add(item); foreach (var i in listaRashoda) { ukupniIznosRashoda = ukupniIznosRashoda + i.Iznos; chartLinearRashodi.Series["Rashodi"].Points.AddXY(i.Vrijeme.Date, -(i.Iznos)); } } if (item.VrstaTransakcije == 1) { listaPrihoda.Add(item); foreach (var i in listaPrihoda) { ukupniIznosPrihoda = ukupniIznosPrihoda + i.Iznos; } } } decimal ukupniIznosSvihTransackija = ukupniIznosPrihoda + ukupniIznosRashoda; //punjenje pie charta try { chartPrihodivRashodi.Series["PChart"].Points.AddXY("Rashodi", ukupniIznosRashoda / ukupniIznosSvihTransackija); chartPrihodivRashodi.Series["PChart"].Points.AddXY("Prihodi", ukupniIznosPrihoda / ukupniIznosSvihTransackija); } catch (Exception) { chartPrihodivRashodi.Hide(); } lblRashodi.Text = ukupniIznosRashoda.ToString(); lblPrihodi.Text = ukupniIznosPrihoda.ToString(); lblRazlika.Text = (ukupniIznosPrihoda + ukupniIznosRashoda).ToString(); return(ukupniIznosSvihTransackija); }
/// <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(); }