/// <summary> /// Prikazuje početne podatke na kontroli /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void FrmAdminCRUDZaposlenikNovi_Load(object sender, EventArgs e) { using (var db = new ProgramskoInzenjerstvoDBEntities()) { foreach (var zap in db.Tips) { checkedListBox1.Items.Add(zap); } cBoxRadnoMjesto.DataSource = db.Lokacijas.ToList(); //Čekiranje checkboxova kod izmjene uloge korisnika if (zaposlenik != null) { var korIme = (from z in db.Zaposleniks where z.korisnickoIme == zaposlenik.korisnickoIme && zaposlenik.lozinka == z.lozinka select z).Single(); zaposlenik = korIme; foreach (var a in zaposlenik.Zaposlenik_has_Tip) { for (int i = 0; i < checkedListBox1.Items.Count; i++) { if (checkedListBox1.Items[i].ToString() == a.Tip.naziv) { checkedListBox1.SetItemCheckState(i, CheckState.Checked); } } } //selektiranje radnog mjesta na combobox-u cBoxRadnoMjesto.SelectedItem = zaposlenik.Lokacija; } } }
/// <summary> /// Event handler za izmjenu posataka na datagridview za detalje /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void dgvPopisStavki_SelectionChanged(object sender, EventArgs e) { int trenutnaLokacijaID = int.Parse(ConfigurationManager.AppSettings["LokacijaID"].ToString()); try { selektirani = dgvPopisStavki.CurrentRow.DataBoundItem as Djelovi; if (selektirani != null) { using (var db = new ProgramskoInzenjerstvoDBEntities()) { var kolicinaNaLokaciji = db.Lokacija_has_djelovi.Where(x => x.id_djelovi == selektirani.id && x.id_lokacija == trenutnaLokacijaID).SingleOrDefault(); txtSelektiraniNaziv.Text = selektirani.naziv; numericUpDown1.Maximum = kolicinaNaLokaciji.kolicina; numericUpDown1.Value = kolicinaNaLokaciji.kolicina; } } else { } } catch (Exception eee) { MessageBox.Show(eee.ToString()); } }
/// <summary> /// FUnkcija za brisanje selektiranog računa /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnIzbrisi_Click(object sender, EventArgs e) { Racun zaIzbrisati = dataGridView1.CurrentRow.DataBoundItem as Racun; if (zaIzbrisati != null) { if (MessageBox.Show("Jeste li sigurni?", "Upozorenje!", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { using (var db = new ProgramskoInzenjerstvoDBEntities()) { db.Racuns.Attach(zaIzbrisati); db.Racuns.Remove(zaIzbrisati); foreach (var izbrisatiProvjera in db.Racun_Has_Djelovi) { if (izbrisatiProvjera.id_racun == zaIzbrisati.id) { db.Racun_Has_Djelovi.Attach(izbrisatiProvjera); db.Racun_Has_Djelovi.Remove(izbrisatiProvjera); } } db.SaveChanges(); } } } ispisDatagrid(); }
/// <summary> /// Provjera retervacije za slanje maila /// </summary> public void provjeriRezervacije() { using (var db = new ProgramskoInzenjerstvoDBEntities()) { int lokacijaID = Convert.ToInt32(ConfigurationManager.AppSettings["LokacijaID"]); foreach (Rezervacija rez in db.Rezervacijas.Where(x => x.izvrseno == false && x.lokacija == lokacijaID)) { List <Djelovi> listaDjelovaRezervacija = new List <Djelovi>(); foreach (Rezervacija_has_Djelovi rhd in rez.Rezervacija_has_Djelovi) { Djelovi dio = db.Djelovis.Where(x => x.id == rhd.int_djelovi).Single(); Lokacija_has_djelovi lhd = db.Lokacija_has_djelovi.Where(y => y.id_djelovi == dio.id && y.id_lokacija == lokacijaID).SingleOrDefault(); if (rhd.kolicina <= lhd.kolicina) { listaDjelovaRezervacija.Add(dio); } } if (listaDjelovaRezervacija.Count > 0 && listaDjelovaRezervacija.Count == rez.Rezervacija_has_Djelovi.Count) { string lokacijaAdresa = db.Lokacijas.Where(x => x.id == lokacijaID).Select(x => x.Adresa).SingleOrDefault(); pripremiMail(rez.kupacEmail, lokacijaAdresa, listaDjelovaRezervacija); Rezervacija rezervacija = db.Rezervacijas.Single(x => x.id == rez.id); rezervacija.izvrseno = true; } } db.SaveChanges(); } }
/// <summary> /// Brisanje rezervacije /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnIzbrisi_Click(object sender, EventArgs e) { try { Rezervacija rez = dataGridView1.CurrentRow.DataBoundItem as Rezervacija; if (rez != null) { if (MessageBox.Show("Jeste li sigurni?", "Upozorenje!", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { using (var db = new ProgramskoInzenjerstvoDBEntities()) { db.Rezervacijas.Attach(rez); db.Rezervacijas.Remove(rez); foreach (var izbrisatiProvjera in db.Rezervacija_has_Djelovi) { if (izbrisatiProvjera.id_rezervacija == rez.id) { db.Rezervacija_has_Djelovi.Attach(izbrisatiProvjera); db.Rezervacija_has_Djelovi.Remove(izbrisatiProvjera); } } db.SaveChanges(); ispisDatagrid(); } } } } catch (Exception) { } }
/// <summary> /// Funkcija za ispis tvrtki u combobox. /// </summary> private void ispisComboBox() { using (var db = new ProgramskoInzenjerstvoDBEntities()) { var tvrtke = db.Trgovinas.ToList(); BindingSource bs = new BindingSource(tvrtke, null); cboxTvrtka.DataSource = bs; } }
/// <summary> /// Ispis zaposlenika u comboBox. /// </summary> private void upisiPodatkeUCombobox() { cboxZaposlenik.Items.Clear(); cboxZaposlenik.Items.Add("svi"); using (var db = new ProgramskoInzenjerstvoDBEntities()) { foreach (Zaposlenik z in db.Zaposleniks) { cboxZaposlenik.Items.Add(z); } } }
/// <summary> /// Prikazuje početne podatke na kontroli /// </summary> /// <param name="provjera zaposlenika">Zaposlenik s korisničkim unesenim podacima</param> /// <returns>bool, da li korisničko ime već postoji</returns> private bool provjeriKorisnickoIme(Zaposlenik provjeraKorisnika) { using (var db = new ProgramskoInzenjerstvoDBEntities()) { var korIme = (from z in db.Zaposleniks where z.korisnickoIme == provjeraKorisnika.korisnickoIme select z).SingleOrDefault(); bool b = korIme.korisnickoIme == provjeraKorisnika.korisnickoIme; MessageBox.Show(b.ToString()); return(korIme.korisnickoIme == provjeraKorisnika.korisnickoIme); } }
/// <summary> /// Funkcija za izdavanje računa /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void bntIzdaj_Click(object sender, EventArgs e) { if (bl.Count == 0) { MessageBox.Show("Ne možete napraviti račun bez djelova"); } else { using (var db = new ProgramskoInzenjerstvoDBEntities()) { Racun noviRacun = new Racun(); noviRacun.zaposlenik = FrmGlavna.prijavljeniKorisnik.ID; noviRacun.datum = DateTime.Now; noviRacun.iznos = txtIznos.Text; noviRacun.Maloprodaja_veleprodaja = "Veleprodaja"; int lokacijaId = int.Parse(ConfigurationManager.AppSettings["LokacijaID"]); noviRacun.lokacija = lokacijaId; Trgovina trgovina = cboxTvrtka.SelectedItem as Trgovina; noviRacun.trgovina = trgovina.id; db.Racuns.Attach(noviRacun); db.Racuns.Add(noviRacun); db.SaveChanges(); Racun dodaniRacun = db.Racuns.OrderByDescending(x => x.id).First(); var listaZaIzbrisati = bl.Where(x => x.kolicina == 0).ToList(); listaZaIzbrisati.ForEach(x => bl.Remove(x)); foreach (Djelovi djelovi in bl) { Racun_Has_Djelovi rhd = new Racun_Has_Djelovi(); rhd.id_racun = dodaniRacun.id; rhd.id_djelovi = djelovi.id; rhd.kolicina = djelovi.kolicina; dodaniRacun.Racun_Has_Djelovi.Add(rhd); //Djelovi dioOduzmiKolicinu = db.Djelovis.First(x => x.id == djelovi.id); //dioOduzmiKolicinu.kolicina -= djelovi.kolicina; Lokacija_has_djelovi lhd = db.Lokacija_has_djelovi.Where(x => x.id_lokacija == lokacijaId && x.id_djelovi == djelovi.id).SingleOrDefault(); if (lhd != null) { lhd.kolicina -= djelovi.kolicina; djelovi.kolicina = 0; } } db.SaveChanges(); MessageBox.Show("Uspješno ste izdali novi račun"); } } }
private void bntIzdaj_Click(object sender, EventArgs e) { bool jeLiSvimDjelovimaDodanaKolicina = listaKupacRezervacija.Any(x => x.kolicina == 0); if (jeLiSvimDjelovimaDodanaKolicina) { MessageBox.Show("Molimo unesite količine proizvodima za rezervaciju"); } else if (IsValid(txtKupacEmail.Text) && txtKupacIme.Text != "" && txtKupacPrezime.Text != "" && listaKupacRezervacija.Count != 0) { using (var db = new ProgramskoInzenjerstvoDBEntities()) { Rezervacija rez = new Rezervacija(); rez.kupacIme = txtKupacIme.Text; rez.kupacPrezime = txtKupacPrezime.Text; rez.kupacEmail = txtKupacEmail.Text; rez.izvrseno = false; rez.napravioNarudzbu = FrmGlavna.prijavljeniKorisnik.ID; rez.lokacija = Convert.ToInt32(ConfigurationManager.AppSettings["LokacijaID"]); rez.datumIzdavanja = DateTime.UtcNow; db.Rezervacijas.Add(rez); db.SaveChanges(); rez = null; rez = db.Rezervacijas.OrderByDescending(x => x.id).First(); foreach (Djelovi dio in listaKupacRezervacija) { Rezervacija_has_Djelovi rhd = new Rezervacija_has_Djelovi(); rhd.id_rezervacija = rez.id; rhd.int_djelovi = dio.id; rhd.kolicina = dio.kolicina; db.Rezervacija_has_Djelovi.Add(rhd); } db.SaveChanges(); MessageBox.Show("Uspjesno se dodali novu rezervaciju"); this.Close(); } } else if (IsValid(txtKupacEmail.Text) == false) { MessageBox.Show("Molimo upišite pravilan mail"); } else if (txtKupacIme.Text == "" || txtKupacPrezime.Text == "") { MessageBox.Show("Molimo upišite podatke"); } }
private void ProvjeriZaposlenika() { using (var db = new ProgramskoInzenjerstvoDBEntities()) { List <Zaposlenik> ls = new List <Zaposlenik>(); foreach (Zaposlenik z in db.Zaposleniks) { ls.Add(z); } dataGridView1.DataSource = new BindingSource(ls, null); dataGridView1.Columns["Zaposlenik_has_Tip"].Visible = false; } }
private void FrmRezervacijaNovi_Load(object sender, EventArgs e) { int lokacijaID = Convert.ToInt32(ConfigurationManager.AppSettings["LokacijaID"]); using (var db = new ProgramskoInzenjerstvoDBEntities()) { foreach (Djelovi d in db.Djelovis.Where(x => x.Lokacija_has_djelovi.Any(y => y.id_lokacija == lokacijaID && y.kolicina == 0))) { listaDjelova.Add(d); } ispisDataGrid(); } }
/// <summary> /// Prikazuje početne podatke na kontroli /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void FrmReportStanjeNaSkladistu_Load(object sender, EventArgs e) { int lokacijaId = int.Parse(ConfigurationManager.AppSettings["LokacijaID"]); BindingList <StanjeNaSkladistu> listaStanjeNaSkladistu = null; using (var db = new ProgramskoInzenjerstvoDBEntities()) { listaStanjeNaSkladistu = new BindingList <StanjeNaSkladistu>(db.StanjeNaSkladistus.Where(x => x.id == lokacijaId).ToList()); } StanjeNaSkladistuBindingSource.DataSource = listaStanjeNaSkladistu; this.reportViewer1.RefreshReport(); }
/// <summary> /// Mjenjanje broj dijelova na skladištu /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnPromjeniNaSkladistu_Click(object sender, EventArgs e) { int idValueDjelovi = int.Parse(dataGridView1.Rows[dataGridView1.CurrentCell.RowIndex].Cells[0].Value.ToString()); string idValueLokacija = (dgvDjeloviNaSkladistima.Rows[dgvDjeloviNaSkladistima.CurrentCell.RowIndex].Cells[0].Value.ToString()); using (var db = new ProgramskoInzenjerstvoDBEntities()) { var promjena = (from x in db.Lokacija_has_djelovi where idValueDjelovi == x.id_djelovi && idValueLokacija == x.Lokacija.naziv select x).SingleOrDefault(); promjena.kolicina = int.Parse(txtPromjeniNaSkladistu.Text); db.SaveChanges(); } ispisDatagridNaSkladistu(jeAdmin); provjeriRezervacije(); }
/// <summary> /// Klikom na gumb popunjavaju se podaci /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnUnesi_Click(object sender, EventArgs e) { if (dateTimePicker1.Value < dateTimePicker2.Value.AddDays(-1)) { int lokacijaId = int.Parse(ConfigurationManager.AppSettings["LokacijaID"]); string adresaLokacije; BindingList <BrojDjelovaProdanihUZadnjihXNaLokaciji> ListaProdaniDjelovi = null; using (var db = new ProgramskoInzenjerstvoDBEntities()) { // Dohvačanje dijelova ListaProdaniDjelovi = new BindingList <BrojDjelovaProdanihUZadnjihXNaLokaciji> (db.BrojDjelovaProdanihUZadnjihXNaLokacijis.Where(x => x.lokacija == lokacijaId && x.datum <dateTimePicker2.Value && x.datum> dateTimePicker1.Value).ToList()); // Dohvačanje adrese lokacije adresaLokacije = db.Lokacijas.Where(x => x.id == lokacijaId).Select(x => x.Adresa).First(); } BindingList <BrojDjelovaProdanihUZadnjihXNaLokaciji> drugaLista = new BindingList <BrojDjelovaProdanihUZadnjihXNaLokaciji>(); string id = "sf"; foreach (BrojDjelovaProdanihUZadnjihXNaLokaciji a in ListaProdaniDjelovi.OrderBy(x => x.naziv)) { if (id == a.naziv) { BrojDjelovaProdanihUZadnjihXNaLokaciji stari = drugaLista.Where(x => x.naziv == id).Single(); stari.kolicina += a.kolicina; } else { BrojDjelovaProdanihUZadnjihXNaLokaciji novi = new BrojDjelovaProdanihUZadnjihXNaLokaciji(); novi.naziv = a.naziv; novi.kolicina = a.kolicina; drugaLista.Add(novi); id = a.naziv; } } BrojDjelovaProdanihUZadnjihXNaLokacijiBindingSource.DataSource = null; BrojDjelovaProdanihUZadnjihXNaLokacijiBindingSource.DataSource = drugaLista; } else { MessageBox.Show("Molimo upisite valjane podatke"); } this.reportViewer1.RefreshReport(); }
/// <summary> /// Ispis podataka prema pretraživanju /// </summary> /// <param name="pretraga"></param> private void ispisDatagrid2(string pretraga) { using (var db = new ProgramskoInzenjerstvoDBEntities()) { var data = (from x in db.Djelovis where x.naziv.Contains(pretraga) select new { ID = x.id, Naziv = x.naziv, Kategorija = x.Kategorija1.naziv, ModelVozila = x.Model_vozila.naziv }).ToList(); dataGridView1.DataSource = null; dataGridView1.DataSource = data; } }
/// <summary> /// Funkcija za dohvačanje podataka računa i ispis na datagrid /// </summary> private void dohvatiPodatke() { using (var db = new ProgramskoInzenjerstvoDBEntities()) { Racun racun = (from x in db.Racuns where x.id == idRacun select x).SingleOrDefault(); if (racun.Maloprodaja_veleprodaja == "Maloprodaja") { this.Text = "Račun - maloprodaja"; } else { UserConPrikazRacuna pr = new UserConPrikazRacuna(racun.Trgovina1.naziv, racun.Trgovina1.adresa, racun.Trgovina1.oib); pr.Location = new Point(320, 10); this.Controls.Add(pr); this.Text = "Račun - veleprodaja"; } var model = (from x in db.Djelovis join y in db.Racun_Has_Djelovi on x.id equals y.id_djelovi join z in db.Kategorijas on x.kategorija equals z.Id where y.id_racun == idRacun select new { Naziv = x.naziv, kategorija = z.naziv, cijena = x.maloprodajnaCijena, kolicina = y.kolicina, iznos = (x.maloprodajnaCijena * y.kolicina).ToString() + " kn" }).ToList(); dataGridView1.DataSource = model; var zaposlenik = (from x in db.Zaposleniks join y in db.Racuns on x.ID equals y.zaposlenik where y.id == idRacun select new { ime = x.ime, prezime = x.prezime, iznos = y.iznos, datum = y.datum }).SingleOrDefault(); txtIzdao.Text = zaposlenik.ime.Trim() + " " + zaposlenik.prezime.Trim(); txtIznos.Text = zaposlenik.iznos; txtDatum.Text = zaposlenik.datum.ToString(); } }
/// <summary> /// Funkcija za ispisivanje računa. /// </summary> private void ispisDatagrid() { using (var db = new ProgramskoInzenjerstvoDBEntities()) { List <Racun> ls = new List <Racun>(); int lokacijaId = int.Parse(ConfigurationManager.AppSettings["LokacijaID"]); foreach (Racun z in db.Racuns.Where(x => x.lokacija == lokacijaId).OrderByDescending(x => x.datum)) { ls.Add(z); } dataGridView1.DataSource = new BindingSource(ls, null); dataGridView1.Columns["Racun_has_djelovi"].Visible = false; dataGridView1.Columns["Zaposlenik1"].Visible = false; dataGridView1.Columns["trgovina"].Visible = false; dataGridView1.Columns["Trgovina1"].Visible = false; dataGridView1.Columns["lokacija"].Visible = false; dataGridView1.Columns["Lokacija1"].Visible = false; } }
/// <summary> /// Popunjavanje podacima poslije inicijalizacije /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void FrmRezervacijaPrikaz_Load(object sender, EventArgs e) { using (var db = new ProgramskoInzenjerstvoDBEntities()) { Rezervacija r = (from x in db.Rezervacijas where x.id == rezervacijaID select x).SingleOrDefault(); txtEmail.Text = r.kupacEmail; txtIme.Text = r.kupacIme; txtPrezime.Text = r.kupacPrezime; var model = (from x in db.Djelovis join y in db.Rezervacija_has_Djelovi on x.id equals y.int_djelovi where y.id_rezervacija == rezervacijaID select new { Naziv = x.naziv, cijena = x.maloprodajnaCijena, kolicina = y.kolicina }).ToList(); dataGridView1.DataSource = new BindingSource(model, null); } }
/// <summary> /// Funkcija za ispis rezervacija u datagridview /// </summary> private void ispisDatagrid() { int lokacijaID = Convert.ToInt32(ConfigurationManager.AppSettings["LokacijaID"]); using (var db = new ProgramskoInzenjerstvoDBEntities()) { List <Rezervacija> listaRezervacija = new List <Rezervacija>(); foreach (Rezervacija r in db.Rezervacijas.Where(x => x.Lokacija1.id == lokacijaID)) { listaRezervacija.Add(r); } BindingSource bs = new BindingSource(listaRezervacija, null); dataGridView1.DataSource = bs; dataGridView1.Columns["napravioNarudzbu"].Visible = false; dataGridView1.Columns["Lokacija1"].Visible = false; dataGridView1.Columns["lokacija"].Visible = false; dataGridView1.Columns["Rezervacija_has_Djelovi"].Visible = false; dataGridView1.Columns["Zaposlenik"].Visible = false; } }
/// <summary> /// Funkcija za selektirani ispis sa baze na datagridview. /// </summary> /// <param name="pretraga">string, služi kao parametar za pretragu</param> private void ispisSvihProizvoda(string textPretraga) { using (var db = new ProgramskoInzenjerstvoDBEntities()) { int trenutnaLokacijaID = int.Parse(ConfigurationManager.AppSettings["LokacijaID"].ToString()); List <Djelovi> listDjelovi = new List <Djelovi>(); listDjelovi = (from x in db.Djelovis join y in db.Lokacija_has_djelovi on x.id equals y.id_djelovi where y.id_lokacija == trenutnaLokacijaID && x.naziv.Contains(textPretraga) select x).ToList(); dgvPopisStavki.DataSource = null; dgvPopisStavki.DataSource = new BindingSource(listDjelovi, null); dgvPopisStavki.Columns["Kategorija1"].Visible = false; dgvPopisStavki.Columns["Model_vozila"].Visible = false; dgvPopisStavki.Columns["Proizvodac"].Visible = false; dgvPopisStavki.Columns["Narudzba_has_Djelovi"].Visible = false; dgvPopisStavki.Columns["Racun_Has_Djelovi"].Visible = false; dgvPopisStavki.Columns["Rezervacija_has_Djelovi"].Visible = false; dgvPopisStavki.Columns["Lokacija_has_djelovi"].Visible = false; } }
/// <summary> /// Ažuriranje tvrtke /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSpremi_Click(object sender, EventArgs e) { if (trgovina != null) { try { using (var db = new ProgramskoInzenjerstvoDBEntities()) { Trgovina selektiranaTrgovina = (from x in db.Trgovinas where x.oib == trgovina.oib select x).SingleOrDefault(); selektiranaTrgovina.oib = txtOIB.Text.Trim(); selektiranaTrgovina.adresa = txtAdresa.Text; selektiranaTrgovina.naziv = txtNaziv.Text; db.SaveChanges(); MessageBox.Show("Uspješno izmjenjeni podaci trgovine."); } } catch { MessageBox.Show("Desila se greško kod ažuriranja podataka."); } } }
/// <summary> /// Dodavanje nove tvrtke /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnDodaj_Click(object sender, EventArgs e) { using (var db = new ProgramskoInzenjerstvoDBEntities()) { Trgovina t = new Trgovina(); t.naziv = txtNaziv.Text; t.adresa = txtAdresa.Text; t.oib = txtAdresa.Text; if (db.Trgovinas.Any(x => x.oib == t.oib)) { MessageBox.Show("Tvrtka s tim OIB-om već postoji"); } else { db.Trgovinas.Attach(t); db.Trgovinas.Add(t); db.SaveChanges(); MessageBox.Show("Uspješno ste dodali tvrtku"); Close(); } } }
/// <summary> /// Funkcija za provjeru korisničkih podataka za prijavu /// </summary> private void ProvjeriZaposlenika() { using (var db = new ProgramskoInzenjerstvoDBEntities()) { var korisnik = (from z in db.Zaposleniks where z.korisnickoIme == txtKorisnicko.Text select z).SingleOrDefault(); if (korisnik == null) { MessageBox.Show("Krivo korisničko ime"); } else { var jeAdmin = korisnik.Zaposlenik_has_Tip.Where(x => x.id_tip == 1).SingleOrDefault(); if (korisnik.Lokacija.id == int.Parse(ConfigurationManager.AppSettings["LokacijaID"]) || jeAdmin != null) { if (korisnik.lozinka.Trim() == txtLozinka.Text) { MessageBox.Show("Uspješna prijava"); FrmGlavna MDI = new FrmGlavna(korisnik); MDI.Show(); this.Hide(); } else { MessageBox.Show("Pokušaj ponovo"); } } else { MessageBox.Show("Niste prijavljeni na odabrano radno mjesto ili nemate administarsu ulogu"); } } } }
/// <summary> /// Dodavanje/izmjena korisnika u bazi /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnDodaj_Click(object sender, EventArgs e) { List <Tip> listaSelektiranihUloga = new List <Tip>(); foreach (var sel in checkedListBox1.CheckedItems) { if (sel is Tip) { listaSelektiranihUloga.Add(sel as Tip); } } using (var db = new ProgramskoInzenjerstvoDBEntities()) { if (zaposlenik == null) { //Zaposlenik zaposlenik2 = new Zaposlenik(txtIme.Text, txtPrezime.Text, txtAdresa.Text, txtOIB.Text, txtEmail.Text, txtKorisnicko.Text, txtLozinka.Text); Zaposlenik zaposlenik2 = new Zaposlenik(); zaposlenik2.ime = txtIme.Text.Trim(); zaposlenik2.prezime = txtPrezime.Text.Trim(); zaposlenik2.adresa = txtAdresa.Text.Trim(); zaposlenik2.oib = txtOIB.Text.Trim(); zaposlenik2.email = txtEmail.Text.Trim(); zaposlenik2.korisnickoIme = txtKorisnicko.Text.Trim(); zaposlenik2.lozinka = txtLozinka.Text.Trim(); Lokacija radnoMjesto = cBoxRadnoMjesto.SelectedItem as Lokacija; zaposlenik2.radnoMjesto = radnoMjesto.id; //bool a = provjeriKorisnickoIme(zaposlenik2); try { double oib = double.Parse(zaposlenik2.oib); if (oib > 0 && oib < 9999999999999) { db.Zaposleniks.Add(zaposlenik2); foreach (Tip t in listaSelektiranihUloga) { Zaposlenik_has_Tip zht = new Zaposlenik_has_Tip(); zht.id_tip = t.id; zht.id_zaposlenik = zaposlenik2.ID; zaposlenik2.Zaposlenik_has_Tip.Add(zht); } db.SaveChanges(); MessageBox.Show("Uspješno se dodali zaposlenika"); Close(); } else { MessageBox.Show("Unesi ispravan OIB"); } } catch (Exception exc) { MessageBox.Show(exc.ToString()); } } //Izmjena korisnika else { try { db.Zaposleniks.Attach(zaposlenik); zaposlenik.ime = txtIme.Text.Trim(); zaposlenik.prezime = txtPrezime.Text.Trim(); zaposlenik.email = txtEmail.Text.Trim(); zaposlenik.adresa = txtAdresa.Text.Trim(); zaposlenik.oib = txtOIB.Text.Trim(); zaposlenik.korisnickoIme = txtKorisnicko.Text.Trim(); zaposlenik.lozinka = txtLozinka.Text.Trim(); zaposlenik.Zaposlenik_has_Tip.Clear(); Lokacija radnoMjesto = cBoxRadnoMjesto.SelectedItem as Lokacija; zaposlenik.radnoMjesto = radnoMjesto.id; foreach (Tip t in listaSelektiranihUloga) { Zaposlenik_has_Tip zht = new Zaposlenik_has_Tip(); zht.id_tip = t.id; zht.id_zaposlenik = zaposlenik.ID; zaposlenik.Zaposlenik_has_Tip.Add(zht); } db.SaveChanges(); MessageBox.Show("Uspješno se izmjenili korisnika " + zaposlenik.korisnickoIme); Close(); } catch (Exception) { MessageBox.Show("Greška kod izmjene korisnika"); } } } }