/// <summary> /// Metoda koja se poziva prilikom klika na gumb Obriši (ispod tablice sa primkama). /// Briše selektiranu primku /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnObrisi_Click(object sender, EventArgs e) { string poruka = ""; try { if (primkaBindingSource.Current is primka oznaceni) { if (MessageBox.Show("Are you sure you want to delete the selected delivery note? ", "Warning", MessageBoxButtons.YesNo) == DialogResult.Yes) { using (var db = new Entities(Konstante.GetConnectionString())) { db.primka.Attach(oznaceni); db.primka.Remove(oznaceni); db.SaveChanges(); } } OsvjeziPrimke(); OsvjeziStavke(); } } catch (Exception) { poruka = "Deletion of delivery note was not successful! Please check if all delivery lines are deleted"; } finally { if (!string.IsNullOrWhiteSpace(poruka)) { MessageBox.Show(poruka); } } }
/// <summary> /// Metoda koja se poziva kada se pritisne gumb Spremi /// (pohranjuju se promjene/kreira nova jedinica mjere) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnSpremiPromjene_Click(object sender, EventArgs e) { // varijabla koja se koristi u slučaju greške (sadržava poruku koja će se prikazati) string poruka = ""; // kod se nalazi unutar try-catch-finally bloka kako bi uspješno detektirali greške kao što su CONSTRAINT Violation try { using (var db = new Entities(Konstante.GetConnectionString())) { if (jedinicaMjere == null) { jedinica_mjere novaJedinica = new jedinica_mjere() { ID_jed_mjere = tbIdJedMjere.Text, znacenje = tbZnacenje.Text }; db.jedinica_mjere.Add(novaJedinica); if (!string.IsNullOrWhiteSpace(tbIdJedMjere.Text) && !string.IsNullOrWhiteSpace(tbZnacenje.Text)) { db.SaveChanges(); } else { poruka = "ID unit of measure and meaning are mandatory fields!"; } } else { db.jedinica_mjere.Attach(jedinicaMjere); jedinicaMjere.ID_jed_mjere = tbIdJedMjere.Text; jedinicaMjere.znacenje = tbZnacenje.Text; if (!string.IsNullOrWhiteSpace(tbIdJedMjere.Text) && !string.IsNullOrWhiteSpace(tbZnacenje.Text)) { db.SaveChanges(); } else { poruka = "ID unit of measure and meaning are mandatory fields!"; } } } } catch (Exception) { poruka = "Error occurred while saving unit of measure (does this user already exist?)"; } finally { if (!string.IsNullOrWhiteSpace(poruka)) { MessageBox.Show(poruka); } else { Close(); } } }
/// <summary> /// Metoda koja se poziva prilikom učitavanja forme. Otvara formu /// u maksimiziranom načinu rada, prikazuje izbornik/meni s obzirom /// na tip korisnika, te prikazuje FrmPocetna formu /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void FrmMain_Load(object sender, EventArgs e) { WindowState = FormWindowState.Maximized; using (var db = new Entities(Konstante.GetConnectionString())) { korisnik = db.korisnik.Where(x => x.korisnicko_ime.Equals(korIme)).Single(); } PrikaziIzbornik(korisnik.ID_tip_korisnika); PrikaziFormu(new FrmPocetna(korisnik)); }
public BindingList <izdatnica> PrikaziIzdatnice() { BindingList <izdatnica> listaIzdatnica = null; using (var db = new Entities(Konstante.GetConnectionString())) { listaIzdatnica = new BindingList <izdatnica>(db.izdatnica.ToList()); } return(listaIzdatnica); }
/// <summary> /// Metoda koja služi za dohvaćanje liste korisnika /// iz baze podataka /// </summary> /// <returns>lista korisnika</returns> public BindingList <korisnik> DohvatiListuKorisnika() { BindingList <korisnik> listaKorisnika = null; using (var db = new Entities(Konstante.GetConnectionString())) { listaKorisnika = new BindingList <korisnik>(db.korisnik.ToList()); } return(listaKorisnika); }
/// <summary> /// Metoda koja služi za dohvaćanje liste materijala /// iz baze podataka /// </summary> /// <returns>lista materijala</returns> public BindingList <materijal> DohvatiListuMaterijala() { BindingList <materijal> listaMaterijala = null; using (var db = new Entities(Konstante.GetConnectionString())) { listaMaterijala = new BindingList <materijal>(db.materijal.ToList()); } return(listaMaterijala); }
public BindingList <primka> PrikaziPrimke() { BindingList <primka> listaPrimki = null; using (var db = new Entities(Konstante.GetConnectionString())) { listaPrimki = new BindingList <primka>(db.primka.ToList()); } return(listaPrimki); }
/// <summary> /// Metoda koja služi za dohvaćanje liste tipova /// korisnika iz baze podataka /// </summary> /// <returns>lista tipova korisnika</returns> public BindingList <tip_korisnika> DohvatiListuTipovaKorisnika() { BindingList <tip_korisnika> listaTipova = null; using (var db = new Entities(Konstante.GetConnectionString())) { listaTipova = new BindingList <tip_korisnika>(db.tip_korisnika.ToList()); } return(listaTipova); }
/// <summary> /// Metoda koja služi za dohvaćanje liste projekata /// iz baze podataka /// </summary> /// <returns>lista projekata</returns> public BindingList <projekt> DohvatiListuProjekata() { BindingList <projekt> listaProjekata = null; using (var db = new Entities(Konstante.GetConnectionString())) { listaProjekata = new BindingList <projekt>(db.projekt.ToList()); } return(listaProjekata); }
/// <summary> /// Metoda koja služi za dohvaćanje liste jedinica mjere /// iz baze podataka /// </summary> /// <returns>lista jedinica mjere</returns> public BindingList <jedinica_mjere> PrikaziJediniceMjere() { BindingList <jedinica_mjere> listaNaloga = null; using (var db = new Entities(Konstante.GetConnectionString())) { listaNaloga = new BindingList <jedinica_mjere>(db.jedinica_mjere.ToList()); } return(listaNaloga); }
/// <summary> /// Metoda koja služi za dohvaćanje liste proizvoda /// iz baze podataka /// </summary> /// <returns>lista proizvoda</returns> public BindingList <proizvod> PrikaziProizvode() { BindingList <proizvod> listaProizvoda = null; using (var db = new Entities(Konstante.GetConnectionString())) { listaProizvoda = new BindingList <proizvod>(db.proizvod.ToList()); } return(listaProizvoda); }
public BindingList <poslovni_partner> PrikaziDobavljace() { BindingList <poslovni_partner> listaDobavljaca = null; using (var db = new Entities(Konstante.GetConnectionString())) { listaDobavljaca = new BindingList <poslovni_partner>(db.poslovni_partner.ToList()); } return(listaDobavljaca); }
public BindingList <radni_nalog> PrikaziNaloge() { BindingList <radni_nalog> listaNaloga = null; using (var db = new Entities(Konstante.GetConnectionString())) { listaNaloga = new BindingList <radni_nalog>(db.radni_nalog.ToList()); } return(listaNaloga); }
public BindingList <stavke_naloga> PrikaziStavkeNaloga(radni_nalog nalog) { BindingList <stavke_naloga> stavkeNaloga = null; using (var db = new Entities(Konstante.GetConnectionString())) { db.radni_nalog.Attach(nalog); stavkeNaloga = new BindingList <stavke_naloga>(nalog.stavke_naloga.ToList()); } return(stavkeNaloga); }
public BindingList <stavke_izdatnice> PrikaziStavkeIzdatnice(izdatnica izdatnica) { BindingList <stavke_izdatnice> stavkeIzdatnice = null; using (var db = new Entities(Konstante.GetConnectionString())) { db.izdatnica.Attach(izdatnica); stavkeIzdatnice = new BindingList <stavke_izdatnice>(izdatnica.stavke_izdatnice.ToList()); } return(stavkeIzdatnice); }
public BindingList <stavke_primke> PrikaziStavkePrimke(primka primka) { BindingList <stavke_primke> stavkePrimke = null; using (var db = new Entities(Konstante.GetConnectionString())) { db.primka.Attach(primka); stavkePrimke = new BindingList <stavke_primke>(primka.stavke_primke.ToList()); } return(stavkePrimke); }
/// <summary> /// Metoda koja se poziva kada se pritisne gumb Spremi /// (pohranjuju se promjene/kreira nova izdatnica) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnSpremiPromjene_Click(object sender, EventArgs e) { // varijabla koja se koristi u slučaju greške (sadržava poruku koja će se prikazati) string poruka = ""; // kod se nalazi unutar try-catch-finally bloka kako bi uspješno detektirali greške kao što su CONSTRAINT Violation try { using (var db = new Entities(Konstante.GetConnectionString())) { if (izdatnica == null) { izdatnica novaIzdatnica = new izdatnica() { napomena = tbNapomena.Text, datum_izdatnice = dtpDatumIzdatnice.Value, ID_zaposlenik = idZaposlenik, ID_nalog = int.Parse(cbNalog.SelectedValue.ToString()), }; db.izdatnica.Add(novaIzdatnica); db.SaveChanges(); } else { db.izdatnica.Attach(izdatnica); izdatnica.napomena = tbNapomena.Text; izdatnica.datum_izdatnice = dtpDatumIzdatnice.Value; izdatnica.ID_zaposlenik = idZaposlenik; izdatnica.ID_nalog = int.Parse(cbNalog.SelectedValue.ToString()); izdatnica.ID_izdatnica = int.Parse(tbIdIzdatnica.Text); db.SaveChanges(); } } } catch (Exception) { poruka = "Error occurred while saving issue note (does this user already exist?)"; } finally { if (!string.IsNullOrWhiteSpace(poruka)) { MessageBox.Show(poruka); } else { Close(); } } }
/// <summary> /// Metoda koja se poziva kada se pritisne gumb Spremi /// (pohranjuju se promjene/kreira novi radni nalog) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnSpremiPromjene_Click(object sender, EventArgs e) { using (var db = new Entities(Konstante.GetConnectionString())) { if (radniNalog == null) { radni_nalog noviNalog = new radni_nalog() { opis_postupka = tbOpisPostupka.Text, datum_pocetka = dtpDatumPocetka.Value, datum_zavrsetka = dtpDatumZavrsetka.Value, ID_zaposlenik = idZaposlenik, ID_projekt = int.Parse(cbProjekt.SelectedValue.ToString()), }; if (dtpDatumZavrsetka.Value.Date >= dtpDatumPocetka.Value.Date) { db.radni_nalog.Add(noviNalog); db.SaveChanges(); } else { MessageBox.Show("End date can't be before start date!", "Warning", MessageBoxButtons.OK); } } else { db.radni_nalog.Attach(radniNalog); radniNalog.opis_postupka = tbOpisPostupka.Text; radniNalog.datum_pocetka = dtpDatumPocetka.Value; radniNalog.datum_zavrsetka = dtpDatumZavrsetka.Value; radniNalog.ID_zaposlenik = idZaposlenik; radniNalog.ID_projekt = int.Parse(cbProjekt.SelectedValue.ToString()); radniNalog.ID_nalog = int.Parse(tbIdNalog.Text); if (dtpDatumZavrsetka.Value.Date >= dtpDatumPocetka.Value.Date) { db.SaveChanges(); } else { MessageBox.Show("End date can't be before start date!", "Warning", MessageBoxButtons.OK); } } } if (dtpDatumZavrsetka.Value.Date >= dtpDatumPocetka.Value.Date) { this.Close(); } }
/// <summary> /// Metoda koja se poziva prilikom klika na gumb "Spremi promjene". /// Ako se zaporke podudaraju i ako polja nisu prazna, zaporka se ažurira /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnSpremiPromjene_Click(object sender, EventArgs e) { string poruka = ""; try { if (pZaporke.BackColor == Color.Green && !string.IsNullOrWhiteSpace(tbNovaZaporka.Text)) { using (var db = new Entities(Konstante.GetConnectionString())) { var trenutniKorisnik = db.korisnik.Where(x => x.korisnicko_ime.Equals(korisnickoIme)).Single(); db.korisnik.Attach(trenutniKorisnik); // ako polje za unos zaporke nije prazno, prije pohrane korisnika, enkriptiraj zaporku if (!string.IsNullOrWhiteSpace(tbNovaZaporka.Text)) { trenutniKorisnik.zaporka = Enkripcija.Enkriptiranje(tbNovaZaporka.Text, Konstante.EnkripcijskiKljuc); } else { trenutniKorisnik.zaporka = tbNovaZaporka.Text; } db.SaveChanges(); } } else { poruka = "passwords don't match!"; } } catch (Exception) { poruka = "Error occurred during password update. Please check your internet connection!"; } finally { if (!string.IsNullOrWhiteSpace(poruka)) { MessageBox.Show(poruka); } else { MessageBox.Show("Password updated!", "Notification", MessageBoxButtons.OK); Close(); } } }
/// <summary> /// Metoda koja se poziva pritiskom na gumb Obriši te služi /// za brisanje pojedinog materijala /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnObrisi_Click(object sender, EventArgs e) { if (materijalBindingSource.Current is materijal oznaceni) { if (MessageBox.Show("Are you sure you want to delete the selected material? ", "Warning", MessageBoxButtons.YesNo) == DialogResult.Yes) { using (var db = new Entities(Konstante.GetConnectionString())) { db.materijal.Attach(oznaceni); db.materijal.Remove(oznaceni); db.SaveChanges(); } } OsvjeziMaterijale(); } }
/// <summary> /// Metoda koja se poziva pritiskom na gumb Obriši te služi /// za brisanje pojedine jedinice mjere /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnObrisi_Click(object sender, EventArgs e) { if (jedinicamjereBindingSource.Current is jedinica_mjere oznaceni) { if (MessageBox.Show("Are you sure you want to delete the selected unit of measure? ", "Warning", MessageBoxButtons.YesNo) == DialogResult.Yes) { using (var db = new Entities(Konstante.GetConnectionString())) { db.jedinica_mjere.Attach(oznaceni); db.jedinica_mjere.Remove(oznaceni); db.SaveChanges(); } } OsvjeziJedMjere(); } }
/// <summary> /// Metoda koja se poziva pritiskom na gumb Obriši te služi /// za brisanje pojedinog tipa korisnika /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnObrisi_Click(object sender, EventArgs e) { if (tipkorisnikaBindingSource.Current is tip_korisnika oznaceni) { if (MessageBox.Show("Are you sure you want to delete the selected user type? ", "Warning", MessageBoxButtons.YesNo) == DialogResult.Yes) { using (var db = new Entities(Konstante.GetConnectionString())) { db.tip_korisnika.Attach(oznaceni); db.tip_korisnika.Remove(oznaceni); db.SaveChanges(); } } OsvjeziTipove(); } }
/// <summary> /// Metoda koja se poziva prilikom klika na gumb Obriši (ispod tablice sa stavkama). /// Briše selektiranu stavku primke /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnObrisiStavku_Click(object sender, EventArgs e) { if (stavkeprimkeBindingSource.Current is stavke_primke selektiranaStavka) { if (MessageBox.Show("Are you sure you want to delete selected delivery line ?", "Warning!", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { using (var db = new Entities(Konstante.GetConnectionString())) { db.stavke_primke.Attach(selektiranaStavka); db.stavke_primke.Remove(selektiranaStavka); db.SaveChanges(); } } OsvjeziPrimke(); OsvjeziStavke(); } }
/// <summary> /// Metoda koja definira koje opcije će biti dostupne pojedinom tipu korisnika /// </summary> /// <param name="idTipKorisnika">tip korisnika</param> private void PrikaziIzbornik(int idTipKorisnika) { string tipKorisnika; using (var db = new Entities(Konstante.GetConnectionString())) { var tip = db.tip_korisnika.Where(x => x.ID_tip_korisnika == idTipKorisnika).Single(); tipKorisnika = tip.naziv; } switch (tipKorisnika) { case "Admin": miNaslovnica.Visible = true; miKorisnici.Visible = true; miTipoviKorisnika.Visible = true; miKatalog.Visible = true; miJediniceMjere.Visible = true; break; case "Warehouse worker": miNaslovnica.Visible = true; miSkladiste.Visible = true; miDokumenti.Visible = true; miPrimke.Visible = true; miIzdatnice.Visible = true; miMaterijal.Visible = true; miKatalog.Visible = true; break; case "Planner": miNaslovnica.Visible = true; miProjekti.Visible = true; miKatalog.Visible = true; break; case "Production management": miNaslovnica.Visible = true; miProjekti.Visible = true; miSkladiste.Visible = true; miKatalog.Visible = true; miDokumenti.Visible = true; miRadniNalozi.Visible = true; break; } }
/// <summary> /// Metoda koja se poziva prilikom klika na gumb Obriši (ispod tablice sa stavkama). /// Briše selektiranu stavku naloga /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnObrišiStavku_Click(object sender, EventArgs e) { radni_nalog selektiraniNalog = radninalogBindingSource.Current as radni_nalog; if (stavkenalogaBindingSource.Current is stavke_naloga selektiranaStavka) { if (MessageBox.Show("Are you sure you want to delete selected work order line ?", "Warning!", MessageBoxButtons.YesNo) == System.Windows.Forms.DialogResult.Yes) { using (var db = new Entities(Konstante.GetConnectionString())) { db.stavke_naloga.Attach(selektiranaStavka); db.stavke_naloga.Remove(selektiranaStavka); db.SaveChanges(); } } OsvjeziNaloge(); OsvjeziStavke(); } }
/// <summary> /// Metoda koja se poziva prilikom klika na gumb Obriši (ispod tablice sa nalozima). /// Briše selektirani radni nalog /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnObrisiNalog_Click(object sender, EventArgs e) { string poruka = ""; try { if (radninalogBindingSource.Current is radni_nalog oznaceni) { if (MessageBox.Show("Are you sure you want to delete the selected work order? ", "Warning", MessageBoxButtons.YesNo) == DialogResult.Yes) { using (var db = new Entities(Konstante.GetConnectionString())) { db.radni_nalog.Attach(oznaceni); db.radni_nalog.Remove(oznaceni); db.SaveChanges(); } } OsvjeziNaloge(); OsvjeziStavke(); } } catch (Exception ex) { if (ex.InnerException == null) { poruka = "Deletion of work order was not successful! Please check if all work order lines are deleted"; } else { poruka = "Deleting work order failed! Make sure the work order is already used to create the issue note"; } } finally { if (!string.IsNullOrWhiteSpace(poruka)) { MessageBox.Show(poruka); } } }
/// <summary> /// Metoda koja se poziva prilikom klika na gumb "Spremi promjene" /// (dodaje novu stavku/ažurira vrijednosti postojeće stavke primke) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnSpremiPromjene_Click(object sender, EventArgs e) { // varijabla koja se koristi u slučaju greške (sadržava poruku koja će se prikazati) string poruka = ""; // kod se nalazi unutar try-catch-finally bloka kako bi uspješno detektirali greške kao što su CONSTRAINT Violation try { using (var db = new Entities(Konstante.GetConnectionString())) { if (stavkePrimke == null) { stavke_primke novaStavka = new stavke_primke() { ID_materijal = int.Parse(cbMaterijal.SelectedValue.ToString()), ID_primka = idPrimka, kolicina = int.Parse(tbKolicina.Text), cijena = int.Parse(tbCijena.Text) }; if (!string.IsNullOrWhiteSpace(tbKolicina.Text) && int.Parse(tbKolicina.Text) > 0 && !string.IsNullOrWhiteSpace(tbCijena.Text) && int.Parse(tbCijena.Text) > 0) { db.stavke_primke.Add(novaStavka); db.SaveChanges(); } else { poruka = "Quantity and price are mandatory fields and must be greater than 1!"; } } else { db.stavke_primke.Attach(stavkePrimke); stavkePrimke.ID_materijal = int.Parse(cbMaterijal.SelectedValue.ToString()); stavkePrimke.ID_primka = int.Parse(stavkePrimke.ID_primka.ToString()); stavkePrimke.kolicina = int.Parse(tbKolicina.Text); stavkePrimke.cijena = int.Parse(tbCijena.Text); if (!string.IsNullOrWhiteSpace(tbKolicina.Text) && int.Parse(tbKolicina.Text) > 0 && !string.IsNullOrWhiteSpace(tbCijena.Text) && int.Parse(tbCijena.Text) > 0) { db.SaveChanges(); } else { poruka = "Quantity and price are mandatory fields and must be greater than 1!"; } } } } catch (Exception) { poruka = "Error occurred while saving delivery line(does this user already exist?)"; } finally { if (!string.IsNullOrWhiteSpace(poruka)) { MessageBox.Show(poruka); } else { Close(); } } }
/// <summary> /// Metoda koja se poziva prilikom klika na gumb "Ulogiraj se". Izvode /// se provjere korisničkog imena i zaporke te se pokreće glavna forma /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnUlogirajSe_Click(object sender, EventArgs e) { // u slučaju da nije uneseno korisničko ime ili zaporka, // pojavljuje se label koji sugerira da su ta polja obavezna if (string.IsNullOrWhiteSpace(tbKorIme.Text)) { lblUnesiKorIme.Visible = true; } if (string.IsNullOrWhiteSpace(tbZaporka.Text)) { lblUnesiZaporku.Visible = true; } if (!string.IsNullOrWhiteSpace(tbKorIme.Text) && !string.IsNullOrWhiteSpace(tbZaporka.Text)) { bool uspjesanLogin = false; using (var db = new Entities(Konstante.GetConnectionString())) { bool korisnik = db.korisnik.Where(x => x.korisnicko_ime.Equals(tbKorIme.Text)).Any(); if (!korisnik) { MessageBox.Show("Invalid user name/password!", "Remark", MessageBoxButtons.OK); } else { // dohvaćamo lozinku iz baze za korisničko ime koje smo proslijedili te ako je lozinka "blank" // pokrećemo formu za postavljanje lozinke. Inače, provjeravamo da li je unos lozinke dobar i pokrećemo glavnu formu var lozinka = db.korisnik.Where(x => x.korisnicko_ime.Equals(tbKorIme.Text)).Select(x => x.zaporka).FirstOrDefault(); var omogucen = db.korisnik.Where(x => x.korisnicko_ime.Equals(tbKorIme.Text)).Select(x => x.omogucen).FirstOrDefault(); if (omogucen.Equals("N")) { MessageBox.Show("The user you are trying to log in with is currently disabled. Please contact your administrator", "Warning"); } else if (string.IsNullOrWhiteSpace(lozinka)) { if (MessageBox.Show("The password of the current user has expired and needs to be changed!", "Remark", MessageBoxButtons.OKCancel) == DialogResult.OK) { FrmPromjenaZaporke forma = new FrmPromjenaZaporke(tbKorIme.Text); forma.ShowDialog(); } else { return; } } else { string enkriptiranaLozinka = Enkripcija.Enkriptiranje(tbZaporka.Text, Konstante.EnkripcijskiKljuc); uspjesanLogin = db.korisnik.Where(x => x.korisnicko_ime.Equals(tbKorIme.Text) && x.zaporka.Equals(enkriptiranaLozinka)).Any(); if (!uspjesanLogin) { MessageBox.Show("Invalid user name/password!", "Remark", MessageBoxButtons.OK); } else { FrmMain glavnaForma = new FrmMain(this, tbKorIme.Text); glavnaForma.Show(); Hide(); } } } } } }
/// <summary> /// Metoda koja se poziva prilikom klika na gumb "Spremi promjene" /// (dodaje novi tip/sprema promjene na postojećem tipu korisnika) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnSpremiPromjene_Click(object sender, EventArgs e) { // varijabla koja se koristi u slučaju greške (sadržava poruku koja će se prikazati) string poruka = ""; // kod se nalazi unutar try-catch-finally bloka kako bi uspješno detektirali greške kao što su CONSTRAINT Violation try { using (var db = new Entities(Konstante.GetConnectionString())) { if (tipKorisnika == null) { tip_korisnika noviTip = new tip_korisnika() { naziv = tbNazivTipa.Text, opis = tbOpis.Text, omogucen = cbOmogucen.SelectedItem.ToString() }; if (!string.IsNullOrWhiteSpace(tbNazivTipa.Text)) { db.tip_korisnika.Add(noviTip); db.SaveChanges(); } else { poruka = "Type name is mandatory field!"; } } else { db.tip_korisnika.Attach(tipKorisnika); tipKorisnika.naziv = tbNazivTipa.Text; tipKorisnika.opis = tbOpis.Text; tipKorisnika.omogucen = cbOmogucen.SelectedItem.ToString(); if (!string.IsNullOrWhiteSpace(tbNazivTipa.Text)) { db.SaveChanges(); } else { poruka = "Type name is mandatory field!"; } } } } catch (Exception) { poruka = "Error occurred while saving user type (does this user already exist?)"; } finally { if (!string.IsNullOrWhiteSpace(poruka)) { MessageBox.Show(poruka); } else { Close(); } } }
/// <summary> /// Metoda koja se poziva prilikom klika na gumb "Spremi promjene" /// (dodaje novu stavku/ažurira vrijednosti postojeće stavke radnog naloga) /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void BtnSpremiPromjene_Click(object sender, EventArgs e) { // varijabla koja se koristi u slučaju greške (sadržava poruku koja će se prikazati) string poruka = ""; // kod se nalazi unutar try-catch-finally bloka kako bi uspješno detektirali greške kao što su CONSTRAINT Violation try { using (var db = new Entities(Konstante.GetConnectionString())) { if (stavkeNaloga == null) { stavke_naloga novaStavka = new stavke_naloga() { ID_materijal = int.Parse(cbMaterijal.SelectedValue.ToString()), ID_nalog = idNalog, kolicina = int.Parse(tbKolicina.Text) }; if (!string.IsNullOrWhiteSpace(tbKolicina.Text) && int.Parse(tbKolicina.Text) > 0) { db.stavke_naloga.Add(novaStavka); db.SaveChanges(); } else { poruka = "Količina mora biti unešena!"; } } else { db.stavke_naloga.Attach(stavkeNaloga); stavkeNaloga.ID_materijal = int.Parse(cbMaterijal.SelectedValue.ToString()); stavkeNaloga.ID_nalog = int.Parse(stavkeNaloga.ID_nalog.ToString()); stavkeNaloga.kolicina = int.Parse(tbKolicina.Text); if (!string.IsNullOrWhiteSpace(tbKolicina.Text) && int.Parse(tbKolicina.Text) > 0) { db.SaveChanges(); } else { poruka = "Količina mora biti unešena!"; } } } } catch (Exception) { poruka = "Greška prilikom spremanja stavke radnog naloga u bazu (da li ovi podaci već postoje u bazi?)"; } finally { if (!string.IsNullOrWhiteSpace(poruka)) { MessageBox.Show(poruka); } else { Close(); } } }