//sprema promijenjene podatke private void uiActionSpremi_Click(object sender, EventArgs e) { if (uiOutputIme.Text != "" && uiOutputPrezime.Text != "" && uiOutputOIB.Text != null && uiOutputDatumRodenja.Value != null && uiOutputUlica.Text != "" && uiOutputGrad.Text != "" && uiOutputStrucna.Text != "" && uiOutputZanimanje.Text != "" && uiOutputTelefon.Text != "" && uiOutputRadnoMjesto.Text != "" && uiOutputBrojRacuna.Text != "" && uiOutputMail.Text != "") { using (var db = new MilkyAppDataBaseEntities()) { db.korisnici.Attach(korisnikZaUredivanje); korisnikZaUredivanje.ime = uiOutputIme.Text; korisnikZaUredivanje.prezime = uiOutputPrezime.Text; korisnikZaUredivanje.OIB = decimal.Parse(uiOutputOIB.Text); korisnikZaUredivanje.datum_rodenja = uiOutputDatumRodenja.Value; korisnikZaUredivanje.ulica_i_kucni_broj = uiOutputUlica.Text; korisnikZaUredivanje.grad = uiOutputGrad.Text; korisnikZaUredivanje.strucna_sprema = uiOutputStrucna.Text; korisnikZaUredivanje.zanimanje = uiOutputZanimanje.Text; korisnikZaUredivanje.telefon = uiOutputTelefon.Text; korisnikZaUredivanje.radno_mjesto = uiOutputRadnoMjesto.Text; korisnikZaUredivanje.broj_racuna = uiOutputBrojRacuna.Text; korisnikZaUredivanje.email = uiOutputMail.Text; db.SaveChanges(); } MessageBox.Show("Promjene su spremljene!"); OnemoguciUredivanje(); } else { MessageBox.Show("Nisu uneseni svi podaci!"); } }
/// <summary> /// Funkcija koja odabranog kupca u DGV briše iz baze podataka /// </summary> private void uiActionObrisiKupca_Click(object sender, EventArgs e) { kupci kupacDelete = kupciBindingSource.Current as kupci; if (kupacDelete != null) { if (MessageBox.Show("Želite li stvarno obrisati ovog kupca?", "Upozorenje", MessageBoxButtons.YesNoCancel) == System.Windows.Forms.DialogResult.Yes) { using (var db = new MilkyAppDataBaseEntities()) { db.kupci.Attach(kupacDelete); if (kupacDelete.narudzbe.Count != 0) { MessageBox.Show("Kupac ima neisporučene narudžbe, ne mogu ga obrisati!"); } else { db.kupci.Remove(kupacDelete); db.SaveChanges(); PrikaziKupca(); } } } } }
//Brisanje korisnika ako nema biljeske i zadatke private void uiACtionObrisi_Click(object sender, EventArgs e) { korisnici oznaceniKorisnik = korisniciBindingSource.Current as korisnici; if (oznaceniKorisnik != null) { if (MessageBox.Show("Jeste li sigurni da želite obrisati zaposlenika " + oznaceniKorisnik.ime.ToString() + " " + oznaceniKorisnik.prezime.ToString() + "? ", "Upozorenje", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { using (var db = new MilkyAppDataBaseEntities()) { db.korisnici.Attach(oznaceniKorisnik); if (oznaceniKorisnik.biljeske.Count == 0 && oznaceniKorisnik.zadaci.Count == 0) { db.korisnici.Remove(oznaceniKorisnik); db.SaveChanges(); MessageBox.Show("Korisnik je obrisan!"); } else { MessageBox.Show("Nije moguće obrisati zaposlenika koji sadrži bilješke i zadatke!"); } } } } PrikaziZaposlenike(); }
/// <summary> /// Funkcija koja odabranog dobavljača u DGV briše iz baze podataka /// </summary> private void uiActionObrisiDobavljaca_Click(object sender, EventArgs e) { dobavljaci dobavljacDelete = dobavljaciBindingSource.Current as dobavljaci; if (dobavljacDelete != null) { if (MessageBox.Show("Želite li stvarno obrisati ovog dobavljača?", "Upozorenje", MessageBoxButtons.YesNoCancel) == System.Windows.Forms.DialogResult.Yes) { using (var db = new MilkyAppDataBaseEntities()) { db.dobavljaci.Attach(dobavljacDelete); if (dobavljacDelete.dobavlja.Count != 0) { MessageBox.Show("Dobavljač dobavlja sirovine, ne mogu ga obrisati!"); } else { db.dobavljaci.Remove(dobavljacDelete); db.SaveChanges(); PrikaziDobavljace(); } } } } }
//Ako su ispunjeni svi podaci dodaje se novi zaposlenik private void uiActionDodajZaposlenika_Click(object sender, EventArgs e) { LozinkaKorisnika lozinka = new LozinkaKorisnika(); string lozinkaKorisnika = lozinka.GenerirajLozinku(); if (uiInputIme.Text != "" && uiInputPrezime.Text != "" && uiInputOib.Text != null && uiInputDatum.Value != null && uiInputUlica.Text != "" && uiInputGrad.Text != "" && uiInputStrucna.Text != "" && uiInputZanimanje.Text != "" && uiInputTelefon.Text != "" && uiInputRadnoMjesto.Text != "" && uiInputBrojRacuna.Text != "" && uiInputMail.Text != "") { using (var db = new MilkyAppDataBaseEntities()) { db.korisnici.Add(new korisnici { ime = uiInputIme.Text, prezime = uiInputPrezime.Text, OIB = decimal.Parse(uiInputOib.Text), datum_rodenja = uiInputDatum.Value, ulica_i_kucni_broj = uiInputUlica.Text, grad = uiInputGrad.Text, strucna_sprema = uiInputStrucna.Text, zanimanje = uiInputZanimanje.Text, telefon = uiInputTelefon.Text, radno_mjesto = uiInputRadnoMjesto.Text, broj_racuna = uiInputBrojRacuna.Text, email = uiInputMail.Text, lozinka = lozinkaKorisnika, vlasnik = 0, biljeske = null, zadaci = null }); db.SaveChanges(); } MessageBox.Show("Novi korisnik je uspješno dodan! \n" + "Podaci za prijavu \n" + "email: " + uiInputMail.Text + "\n" + "lozinka: " + lozinkaKorisnika); uiInputIme.Text = ""; uiInputPrezime.Text = ""; uiInputOib.Text = null; uiInputDatum.Value = DateTime.Now; uiInputUlica.Text = ""; uiInputGrad.Text = ""; uiInputStrucna.Text = ""; uiInputZanimanje.Text = ""; uiInputTelefon.Text = ""; uiInputRadnoMjesto.Text = ""; uiInputBrojRacuna.Text = ""; uiInputMail.Text = ""; } else { MessageBox.Show("Niste popunili sva polja!"); } }
/// <summary> /// Funkcija koja dohvaća sve kupca i prikazuje ih u DGV /// </summary> private void PrikaziKupca() { BindingList <kupci> listaKupaca = null; using (var db = new MilkyAppDataBaseEntities()) { listaKupaca = new BindingList <kupci>(db.kupci.ToList()); } kupciBindingSource.DataSource = listaKupaca; }
//Prikazuje zaposlenike u DGV public void PrikaziZaposlenike() { BindingList <korisnici> listaZaposlenika = null; using (var db = new MilkyAppDataBaseEntities()) { listaZaposlenika = new BindingList <korisnici>(db.korisnici.ToList()); } korisniciBindingSource.DataSource = listaZaposlenika; }
/// <summary> /// Funkcija koja dohvaća sve dobavljače i prikazuje ih u DGV /// </summary> private void PrikaziDobavljace() { BindingList <dobavljaci> listaDobavljaca = null; using (var db = new MilkyAppDataBaseEntities()) { listaDobavljaca = new BindingList <dobavljaci>(db.dobavljaci.ToList()); } dobavljaciBindingSource.DataSource = listaDobavljaca; }
/// <summary> /// Metoda koja dohvaća sve sirovine i prikazuje ih u DGV /// </summary> private void PrikaziSirovine() { BindingList <sirovine> listaSirovina = null; using (var db = new MilkyAppDataBaseEntities()) { listaSirovina = new BindingList <sirovine>(db.sirovine.ToList()); } sirovineBindingSource.DataSource = listaSirovina; }
//Prikaz zadataka u DGV private void PrikaziZadatke(korisnici korisnik) { BindingList <zadaci> listaZadataka = null; using (var db = new MilkyAppDataBaseEntities()) { db.korisnici.Attach(korisnik); listaZadataka = new BindingList <zadaci>(korisnik.zadaci.ToList <zadaci>()); } zadaciBindingSource.DataSource = listaZadataka; }
/// <summary> /// Metoda koja dodaje novu naručenu količinu u bazu podataka /// </summary> private void uiActionNaruciSirovinu_Click(object sender, EventArgs e) { using (var db = new MilkyAppDataBaseEntities()) { db.sirovine.Attach(sirovinaIzmjena); int trenutno = sirovinaIzmjena.raspolozivo; sirovinaIzmjena.raspolozivo = trenutno + int.Parse(uiInputKolicina.Text); db.SaveChanges(); } this.Close(); }
//prikaz biljeski u DGV private void PrikaziBiljeske(korisnici korisnik) { BindingList <biljeske> listaBiljeski = null; using (var db = new MilkyAppDataBaseEntities()) { db.korisnici.Attach(korisnik); listaBiljeski = new BindingList <biljeske>(korisnik.biljeske.ToList <biljeske>()); } biljeskeBindingSource.DataSource = listaBiljeski; }
/// <summary> /// Metoda koja kupca kojeg smo odabrali za uređivanje sprema u bazu podataka s novim podacima. /// </summary> private void uiActionSpremiUredeni_Click(object sender, EventArgs e) { using (var db = new MilkyAppDataBaseEntities()) { db.kupci.Attach(kupacIzmjena); kupacIzmjena.naziv = uiInputNaziv.Text; kupacIzmjena.adresa = uiInputAdresa.Text; kupacIzmjena.OIB = decimal.Parse(uiInputOIB.Text); kupacIzmjena.telefon = uiInputTelefon.Text; db.SaveChanges(); } this.Close(); }
//Nakon napuštanja texboxa provjerava da li OIB ima 11 znakova private void uiInputOib_Leave(object sender, EventArgs e) { using (var db = new MilkyAppDataBaseEntities()) { foreach (korisnici kor in db.korisnici) { if (uiInputOib.Text.Length != 11) { MessageBox.Show("OIB mora sadržavati 11 znamenki"); uiInputOib.Text = ""; } } } }
//Nakon napuštanja texboxa provjerava da li postoji takav email u bazi private void uiInputMail_Leave(object sender, EventArgs e) { using (var db = new MilkyAppDataBaseEntities()) { foreach (korisnici kor in db.korisnici) { if (kor.email.ToString() == uiInputMail.Text) { MessageBox.Show("Korisnik pod tim emailom već postoji!"); uiInputMail.Text = ""; } } } }
/// <summary> /// Metoda koja sprema račun u bazu podataka /// </summary> private void uiActionSpremi_Click(object sender, EventArgs e) { byte[] bytes = Encoding.ASCII.GetBytes("datum"); using (var db = new MilkyAppDataBaseEntities()) { db.racuni.Add(new racuni { ukupan_iznos = Ukupno, narudzba_ID = narudzba_ID, datum_stvaranja = bytes }); db.SaveChanges(); } uiActionSpremi.Enabled = false; MessageBox.Show("Spremljeno!"); }
//Provjerom unesenih podataka korisnik se prijavljuje u aplikaciju private void uiActionPrijava_Click(object sender, EventArgs e) { bool postojiKorisnik = false; using (var db = new MilkyAppDataBaseEntities()) { foreach (korisnici korisnik in db.korisnici) { if (korisnik.email == uiInputKorisnickoIme.Text) { postojiKorisnik = true; if (korisnik.lozinka != uiInputLozinka.Text) { MessageBox.Show("Unijeli ste krivu lozinku!"); uiInputLozinka.Clear(); } } if (korisnik.email == uiInputKorisnickoIme.Text && korisnik.lozinka == uiInputLozinka.Text) { if (korisnik.vlasnik == 1) { IzbornikVlasnik izbornikVlasnik = new IzbornikVlasnik(); this.Hide(); izbornikVlasnik.ShowDialog(); Close(); } else { IzbornikZaposlenik izbornikZaposlenik = new IzbornikZaposlenik(korisnik); this.Hide(); izbornikZaposlenik.ShowDialog(); Close(); } } } if (postojiKorisnik == false) { MessageBox.Show("Korisnik ne postoji!"); uiInputKorisnickoIme.Clear(); uiInputLozinka.Clear(); } } }
//Omogucuje brisanje zadataka private void uiActionObrisiZadatak_Click(object sender, EventArgs e) { zadaci oznaceniZadatak = zadaciBindingSource.Current as zadaci; if (oznaceniZadatak != null) { if (MessageBox.Show("Jeste li sigurni da želite obrisati označeni zadatak? ", "Upozorenje", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { using (var db = new MilkyAppDataBaseEntities()) { db.zadaci.Attach(oznaceniZadatak); db.zadaci.Remove(oznaceniZadatak); db.SaveChanges(); } MessageBox.Show("Zadatak je obrisan!"); } } PrikaziZadatke(korisnikZaUredivanje); }
/// <summary> /// Funkcija koja prema unesenom tekstu pretražuje bazu podataka i prikazuje dobavljače koji sadrže taj tekst u nazivu /// </summary> private void uiActionPretrazi_Click(object sender, EventArgs e) { var db = new MilkyAppDataBaseEntities(); string naziv = uiInputPretrazivanje.Text; var connection = (System.Data.SqlClient.SqlConnection)db.Database.Connection; if (connection != null && connection.State == ConnectionState.Closed) { connection.Open(); } var dt = new DataTable(); using (var com = new System.Data.SqlClient.SqlDataAdapter("Select * from dobavljaci where naziv like '%" + naziv + "%'", connection)) { com.Fill(dt); } dobavljaciBindingSource.DataSource = dt; }
/// <summary> /// Metoda koja dohvaća podatke o automatski odabranom kupcu u ComboBoxu i prikazuje ih u DGV /// </summary> private void EvidencijaRačuna_Load(object sender, EventArgs e) { var db = new MilkyAppDataBaseEntities(); var connection = (System.Data.SqlClient.SqlConnection)db.Database.Connection; if (connection != null && connection.State == ConnectionState.Closed) { connection.Open(); } var dt = new DataTable(); using (var com = new System.Data.SqlClient.SqlDataAdapter("Select * from kupci", connection)) { com.Fill(dt); } comboBox1.DataSource = dt.DefaultView; comboBox1.DisplayMember = "naziv"; comboBox1.ValueMember = "kupac_ID"; }
//Brisanje bilješke private void uiActionObrisiBiljesku_Click(object sender, EventArgs e) { biljeske oznacenaBiljeska = biljeskeBindingSource.Current as biljeske; if (oznacenaBiljeska != null) { if (MessageBox.Show("Jeste li sigurni da želite obrisati označenu bilješku? ", "Upozorenje", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { using (var db = new MilkyAppDataBaseEntities()) { db.biljeske.Attach(oznacenaBiljeska); db.biljeske.Remove(oznacenaBiljeska); db.SaveChanges(); } MessageBox.Show("Bilješka je obrisana!"); } } PrikaziBiljeske(korisnikZaUredivanje); }
/// <summary> /// Metoda koja stvara novog kupca i unesene podatke sprema u bazu podataka. Ukoliko podaci nisu ispravno uneseni /// javlja greška o tome i spreječava unos. /// </summary> private void uiActionDodajKupca_Click(object sender, EventArgs e) { if (uiInputAdresa.Text != "" || uiInputNaziv.Text != "" || uiInputOIB.Text != "" || uiInputTelefon.Text != "") { if (uiInputOIB.Text.Length == 11) { using (var db = new MilkyAppDataBaseEntities()) { try { db.kupci.Add(new kupci { naziv = uiInputNaziv.Text, adresa = uiInputAdresa.Text, telefon = uiInputTelefon.Text, OIB = decimal.Parse(uiInputOIB.Text) }); db.SaveChanges(); MessageBox.Show("Kupac uspješno dodan!"); this.Close(); } catch { MessageBox.Show("Podaci nisu ispravni!"); } } } else { MessageBox.Show("OIB mora sadržavati 11 brojki!"); } } else { MessageBox.Show("Nisu ispunjena sva polja!"); } }
/// <summary> /// Metoda koja dohvaća podatke o odabranom kupcu u ComboBoxu i prikazuje ih u DGV /// </summary> private void comboBox1_SelectedIndexChanged(object sender, EventArgs e) { DataRowView view = comboBox1.SelectedItem as DataRowView; int id = Convert.ToInt32(view["kupac_ID"]); var db = new MilkyAppDataBaseEntities(); var connection = (System.Data.SqlClient.SqlConnection)db.Database.Connection; if (connection != null && connection.State == ConnectionState.Closed) { connection.Open(); } var dt = new DataTable(); using (var com = new System.Data.SqlClient.SqlDataAdapter("Select * from narudzbe where kupac_ID='" + id + "'", connection)) { com.Fill(dt); } dataGridView1.DataSource = dt; }
/// <summary> /// Metoda koja dodaje novu sirovinu u sustav /// </summary> private void uiActionDodaj_Click(object sender, EventArgs e) { using (var db = new MilkyAppDataBaseEntities()) { if (uiInputNaziv.Text != "" && uiInputOpis.Text != "") { db.sirovine.Add(new sirovine { naziv = uiInputNaziv.Text, raspolozivo = 0, opis = uiInputOpis.Text }); db.SaveChanges(); MessageBox.Show("Sirovina uspješno dodana!"); this.Close(); } else { MessageBox.Show("Nisu ispunjena sva polja!"); } } }
//Dodavanje nove bilješke private void uiActionDodajBilješku_Click(object sender, EventArgs e) { if (uiInputNovaBilješka.Text != "") { using (var db = new MilkyAppDataBaseEntities()) { db.korisnici.Attach(korisnikZaUredivanje); biljeske biljeska = new biljeske { biljeska = uiInputNovaBilješka.Text, korisnik_ID = korisnikZaUredivanje.korisnik_ID, korisnici = korisnikZaUredivanje }; db.biljeske.Add(biljeska); db.SaveChanges(); } uiInputNovaBilješka.Clear(); PrikaziBiljeske(korisnikZaUredivanje); } else { MessageBox.Show("Da bi dodali bilješku morate ju upisati!"); } }
//Dodavanje novog zadatka private void uiActionDodajZadatak_Click(object sender, EventArgs e) { if (uiInputNoviZadatak.Text != "") { using (var db = new MilkyAppDataBaseEntities()) { db.korisnici.Attach(korisnikZaUredivanje); zadaci zadatak = new zadaci { opis = uiInputNoviZadatak.Text, datum_izvrsenja = datumZadatka.Value, korisnik_ID = korisnikZaUredivanje.korisnik_ID }; db.zadaci.Add(zadatak); db.SaveChanges(); } uiInputNoviZadatak.Clear(); PrikaziZadatke(korisnikZaUredivanje); } else { MessageBox.Show("Da bi dodali zadatak morate ga upisati i odrediti datum!"); } }
/// <summary> /// Metoda koja se poziva kod Load-a forme, dohvaća sve podatke o računu (naziv proizvoda, mjernu jedinicu..) i prikazuje ih u DGV /// </summary> private void IzradaRačuna_Load(object sender, EventArgs e) { textBox1.Text = narudzba_ID.ToString(); textBox2.Text = kupac; textBox3.Text = datum; List <int> listaIdProizvoda = new List <int>(); List <int> listaKolicinaProizvoda = new List <int>(); using (var db = new MilkyAppDataBaseEntities()) { var IdProizvoda = db.Database.SqlQuery <int>("Select proizvod_ID from proizvodi_na_narudzbi where narudzba_ID=" + narudzba_ID).ToList(); foreach (var item in IdProizvoda) { listaIdProizvoda.Add(item); } } using (var db = new MilkyAppDataBaseEntities()) { foreach (var item in listaIdProizvoda) { var KolicinaProizvoda = db.Database.SqlQuery <int>("Select kolicina from proizvodi_na_narudzbi where proizvod_ID=" + item).ToList(); listaKolicinaProizvoda.Add(KolicinaProizvoda[0]); } } List <string> ListaNazivaProizvoda = new List <string>(); List <double> ListaCijenaProizvoda = new List <double>(); foreach (var item in listaIdProizvoda) { using (var db = new MilkyAppDataBaseEntities()) { var nazivProizvoda = db.Database.SqlQuery <string>("Select naziv from proizvodi where proizvod_ID=" + item).ToList(); ListaNazivaProizvoda.Add(nazivProizvoda[0]); var cijenaProizvoda = db.Database.SqlQuery <double>("Select cijena from proizvodi where proizvod_ID=" + item).ToList(); ListaCijenaProizvoda.Add(cijenaProizvoda[0]); } } List <int> ListaMjernihId = new List <int>(); foreach (var item in ListaNazivaProizvoda) { using (var db = new MilkyAppDataBaseEntities()) { var mjerneJediniceId = db.Database.SqlQuery <int>("Select mjerna_jedinica_ID from proizvodi where naziv='" + item + "'").ToList(); ListaMjernihId.Add(mjerneJediniceId[0]); } } List <string> ListaMjernihNaziv = new List <string>(); foreach (var item in ListaMjernihId) { using (var db = new MilkyAppDataBaseEntities()) { var mjerneJediniceNaziv = db.Database.SqlQuery <string>("Select naziv from mjerne_jedinice where mjerna_jedinica_ID=" + item).ToList(); ListaMjernihNaziv.Add(mjerneJediniceNaziv[0]); } } StavkeRacuna stavkeRacuna = new StavkeRacuna(ListaNazivaProizvoda, ListaCijenaProizvoda, listaKolicinaProizvoda, ListaMjernihNaziv); List <Stavka> datasource = stavkeRacuna.KreirajListuStavki(); foreach (var item in datasource) { Ukupno += double.Parse(item.Suma); } textBox4.Text = Ukupno.ToString(); dataGridView1.Height = (datasource.Count + 1) * 25; dataGridView1.DataSource = datasource; dataGridView1.Rows[0].Cells[0].Selected = false; dataGridView1.Columns[0].HeaderText = "Naziv proizvoda"; dataGridView1.Columns[1].HeaderText = "Mjerna jedinica"; dataGridView1.Columns[3].HeaderText = "Cijena"; dataGridView1.Columns[2].HeaderText = "Količina"; dataGridView1.Columns[4].HeaderText = "Ukupno"; textBox4.Location = new Point(650, 200 + dataGridView1.Height); label8.Location = new Point(550, 200 + dataGridView1.Height); this.Height = dataGridView1.Height + 350; uiActionSpremi.Location = new Point(540, 230 + dataGridView1.Height); uiActionIspis.Location = new Point(670, 230 + dataGridView1.Height); uiActionOdustani.Location = new Point(410, 230 + dataGridView1.Height); }