/// <summary> /// Statièka metoda koja prima kao parametar novu dostupnost. /// </summary> /// <param name="novaDostupnost"></param> public static void DodajDostupnost(Dostupnost novaDostupnost) { using (var db = new TechStoreEntities()) { db.Dostupnost.Add(novaDostupnost); db.SaveChanges(); } }
/// <summary> /// Statièka metoda koja kao argumente prima novu dostupnost i kolièinu /// </summary> /// <param name="izmjenaDostupnosti"> Objekt tipa Dostupnost</param> /// <param name="kolicina">Nova kolièina artikla</param> public static void IzmjenaDostupnosti(Dostupnost izmjenaDostupnosti, int kolicina) { using (var db = new TechStoreEntities()) { db.Dostupnost.Attach(izmjenaDostupnosti); izmjenaDostupnosti.Kolicina += kolicina; db.SaveChanges(); } }
/// <summary> /// Statièka metoda koja kao argumente prima poslovnicu i ID artikla. /// </summary> /// <param name="poslovnica">Poslovnica</param> /// <param name="artiklId">ArtiklId</param> /// <returns></returns> public static Dostupnost DohvatiDostupnost(Poslovnica poslovnica, int artiklId) { Dostupnost dostupnost = null; using (var db = new TechStoreEntities()) { dostupnost = (from d in db.Dostupnost where d.Artikl_ID == artiklId && d.Poslovnica_ID == poslovnica.ID select d).FirstOrDefault(); } return(dostupnost); }
/// <summary> /// Rukuje događajem promjene vrijednosti u ComboBox kontroli. Briše sve /// sa Chart kontrole. Dohvaća sve dostupnosti odabranog artikla pomoću /// statičke metode DohvatiDostupnost. Crta graf. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void UiInputArtikl_SelectedValueChanged(object sender, EventArgs e) { uiOutputGraf.Series["Kolicina"].Points.Clear(); try { if (uiInputArtikl.SelectedItem is Artikl odabraniArtikl) { List <Dostupnost> dostupnost = Dostupnost.DohvatiDostupnost(int.Parse(odabraniArtikl.ID.ToString())); CrtajGraf(dostupnost); } } catch (Exception) { MessageBox.Show("Odaberite artikl.", "Greška", MessageBoxButtons.OK); } }
/// <summary> /// Metoda koja se poziva kod pristika na gumbić Spremi. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void UiActionSpremi_Click(object sender, EventArgs e) { if (poslovnicaNabava != null && artikls.Count > 0) { try { noviDokument = DodajDokument(trenutnoVrijeme); int trenutniIndex = 0; foreach (var artikl in artikls) { Dostupnost postojeca = Dostupnost.DohvatiDostupnost(poslovnicaNabava, artikl.ID); int kolicina = int.Parse(uiOutputPopisArtikala.Rows[trenutniIndex].Cells["Kolicina"].Value.ToString()); if (postojeca == null) { Dostupnost novaDostupnost = new Dostupnost { Artikl_ID = int.Parse(uiInputArtikl.SelectedValue.ToString()), Poslovnica_ID = poslovnicaNabava.ID, Kolicina = kolicina }; Dostupnost.DodajDostupnost(novaDostupnost); DodajStavkuDokumenta(noviDokument, artikl.ID, kolicina); } else { Dostupnost.IzmjenaDostupnosti(postojeca, kolicina); DodajStavkuDokumenta(noviDokument, artikl.ID, kolicina); } trenutniIndex++; } DodajStanjeDokumenta(noviDokument, trenutnoVrijeme); MessageBox.Show("Uspješno je naručen proizvod za poslovnicu !", "Naručen artikl!", MessageBoxButtons.OK); this.Close(); } catch (Exception) { MessageBox.Show("Pogreška!", "Greška!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { MessageBox.Show("Nisu odabrani artikli!", "GREŠKA", MessageBoxButtons.OK, MessageBoxIcon.Error); } }