public Racun Sacuvaj() { //var id = fRepository.VratiSledeciIDRacuna(); var poslednjiRacun = fRepository.VratiPosledjiRacun(); var id = 1; var oznaka = ""; if (poslednjiRacun != null) { id = poslednjiRacun.ID + 1; oznaka = poslednjiRacun.Oznaka.Substring(2); oznaka = KonfiguracijaKase.ProdavnicaID + "/" + (Int32.Parse(oznaka) + 1); } var racun = new Racun { ID = id, TipDokumenta = (int)TipDokumenta.Prodaja, RadnjaID = Racun.RadnjaID, Oznaka = oznaka, Datum = DateTime.Now, Zakljucen = true, Gotovina = Racun.Gotovina - Racun.Kusur, Kartica = Racun.Kartica, Cek = Racun.Cek, IznosRacuna = Racun.IznosRacuna, }; fRepository.SacuvajRacun(racun); foreach (var stavkaRacuna in Racun.StavkeRacuna) { var stavka = new StavkaDokumenta() { ArtikalID = stavkaRacuna.Artikal.ID, Kolicina = stavkaRacuna.Kolicina, ProdajnaCena = stavkaRacuna.Artikal.Cena, DokumentID = racun.ID }; racun.Stavke.Add(stavka); fRepository.InsertStavkaDokumenta(stavka); var zaliha = fRepository.VratiZalihuArtikla(stavkaRacuna.Artikal.ID, Racun.RadnjaID.Value); zaliha.UkupnaZaliha -= stavkaRacuna.Kolicina; zaliha.TrenutnaZaliha = zaliha.UkupnaZaliha; } fRepository.Submit(); return(racun); }
private void SacuvajRacun(Repository repository, Racun racun) { var postoji = repository.PostojiRacun(racun.UID); if (postoji) { return; } var r = new Racun() { TipDokumenta = (int)TipDokumenta.Prodaja, RadnjaID = racun.RadnjaID, Datum = DateTime.Now, Oznaka = racun.Oznaka, Zakljucen = true, Gotovina = racun.Gotovina, Kartica = racun.Kartica, Cek = racun.Cek, IznosRacuna = racun.IznosRacuna, Sinhronizovan = true }; repository.SacuvajRacun(r); foreach (var stavkaRacuna in racun.Stavke) { var stavka = new StavkaDokumenta { ArtikalID = stavkaRacuna.ArtikalID, Kolicina = stavkaRacuna.Kolicina, ProdajnaCena = stavkaRacuna.ProdajnaCena, DokumentID = r.ID }; repository.InsertStavkaDokumenta(stavka); var zaliha = repository.VratiZalihuArtikla(stavkaRacuna.ArtikalID.Value, r.RadnjaID.Value); zaliha.TrenutnaZaliha -= stavkaRacuna.Kolicina; if (zaliha.TrenutnaZaliha < 0) { throw new Exception("Zaliha artikla je negativna"); } } }
public ActionResult SacuvajStavku([Bind(Prefix = "StavkaDokumenta")] StavkaDokumenta stavka) { if (ModelState.IsValid) { var dokument = fRepository.VratiDokumentSaStavkama(stavka.DokumentID); if (stavka.ID == 0) { dokument.Stavke.Add(stavka); } else { var stavkaDokumenta = dokument.Stavke.Single(x => x.ID == stavka.ID); stavkaDokumenta.ArtikalID = stavka.ArtikalID; stavkaDokumenta.Kolicina = stavka.Kolicina; stavkaDokumenta.NabavnaCena = stavka.NabavnaCena; stavkaDokumenta.ProdajnaCena = stavka.ProdajnaCena; } fRepository.Submit(); } return(new EmptyResult()); }
public NabavkaViewModel() { Dokument = new Dokument(); StavkaDokumenta = new StavkaDokumenta(); }
public void InsertStavkaDokumenta(StavkaDokumenta stavka) { DataContext.StavkeDokumenta.Add(stavka); }
public void IzmeniStavku(StavkaDokumenta stavka) { DataContext.Entry(stavka).State = EntityState.Modified; }