/// <summary> /// Dodjeljuje odabranu opremu odabranoj postrojbi te baca iznimku ako takva dodjela već postoji. /// </summary> /// <param name="id_postrojbe">ID postrojbe kojoj se želi dodijeliti oprema</param> /// <param name="id_opreme">ID oprema koja se želi dodijeliti postrojbi</param> /// <returns>True ako je dodjela uspjela, false ako se nije.</returns> public static bool DodajArsenal(int id_postrojbe, int id_opreme) { using (var db = new EntitiesSettings()) { oprema p = new oprema { id_oprema = id_opreme }; db.oprema.Add(p); db.oprema.Attach(p); postrojba s = new postrojba { id_postrojba = id_postrojbe }; db.postrojba.Add(s); db.postrojba.Attach(s); p.postrojba.Add(s); try { db.SaveChanges(); } catch (System.Data.Entity.Infrastructure.DbUpdateException) { MessageBox.Show("Takva dodjela već postoji u bazi podataka!", "Pogreška", MessageBoxButtons.OK, MessageBoxIcon.Error); return(false); } } return(true); }
private void btnSpremi_Click(object sender, EventArgs e) { var itemTipOpreme = cmbTipOpreme.SelectedItem as tip_opreme; int idTipOpreme = itemTipOpreme.id_tip_oprema; var itemZemlja = cmbZemlja.SelectedItem as zemlja; int idZemlja = itemZemlja.id_zemlja; string model = ucModel.Text; if (RadSOpremom.ProvjeriOpremu(idTipOpreme, idZemlja, model, redakZaIzmjenu)) { if (redakZaIzmjenu == null) { oprema oprema = new oprema { model = ucModel.Text, opis = ucOpis.Text, id_tip_oprema = idTipOpreme, id_zemlja = idZemlja }; using (var db = new EntitiesSettings()) { db.oprema.Add(oprema); db.SaveChanges(); } MessageBox.Show("Uspješno ste dodali opremu.", "Uspjeh", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } else { using (var db = new EntitiesSettings()) { List <oprema> listaOpreme = new List <oprema>(db.oprema.ToList()); foreach (var oprema in listaOpreme) { if (oprema.id_oprema == (int)redakZaIzmjenu.Cells[0].Value) { oprema.model = ucModel.Text; oprema.opis = ucOpis.Text; oprema.id_tip_oprema = idTipOpreme; oprema.id_zemlja = idZemlja; db.SaveChanges(); } } } MessageBox.Show("Uspješno ste izmijenili opremu.", "Uspjeh", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("Takva oprema već postoji u bazi podataka!", "Pogreška", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// Provjerava postoji li već takav zapis u bazi podataka na temelju naziva, zemlje i tipa opreme. /// </summary> /// <param name="idTipOpreme">ID tipa opreme koji se provjerava</param> /// <param name="idZemlja">ID zemlje porijekla koja se provjerava</param> /// <param name="model">Naziv modela opreme u tekstualnom obliku</param> /// <returns>True ako ne postoji takva oprema, false ako postoji.</returns> static public bool ProvjeriPostojanjeOpreme(int idTipOpreme, int idZemlja, string model) { using (var db = new EntitiesSettings()) { oprema = (from o in db.oprema where o.id_tip_oprema == idTipOpreme && o.model == model && o.id_zemlja == idZemlja select o).FirstOrDefault <oprema>(); if (oprema == null) { return(true); } else { return(false); } } }