public async Task <ActionResult> DeleteStavkaIzdatnice(int?IzdatnicaID, int?ProizvodID, string ViewName = "StavkaIzdatnice") { if (IzdatnicaID.HasValue && ProizvodID.HasValue) { var izdatnicaVM = new IzdatnicaViewModel(IzdatnicaID.Value); if (izdatnicaVM.IsClosed || izdatnicaVM.IsCanceled) { this.AddNotification("Izdatnica je završena. Nije moguća izmjena.", NotificationType.WARNING); return(RedirectToAction("Index")); } var existing = db.StavkaIzdatnice.Find(IzdatnicaID.Value, ProizvodID.Value); var skladiste = await db.SkladisteLokacija.FindAsync(ProizvodID.Value); if (existing != null) { skladiste.Stanje += existing.Kolicina; db.StavkaIzdatnice.Remove(existing); db.Entry(skladiste).State = EntityState.Modified; await db.SaveChangesAsync(); } this.AddNotification("Stavka je uspješno obrisana", NotificationType.SUCCESS); return(View(ViewName, new IzdatnicaViewModel(IzdatnicaID.Value))); } return(new HttpNotFoundResult()); }
public async Task <ActionResult> Create(IzdatnicaViewModel izdatnicaVM) { if (ModelState.IsValid) { izdatnicaVM.Izdatnica.StatusID = izdatnicaVM.StatusiDokumentaList.OrderBy(x => x.ID).First().ID; db.Izdatnica.Add(izdatnicaVM.Izdatnica); await db.SaveChangesAsync(); this.AddNotification("Izdatnica je kreirana. Molimo unesite stavke.", NotificationType.INFO); return(RedirectToAction("AddStavkaIzdatnice", new { izdatnicaId = izdatnicaVM.Izdatnica.ID })); } return(View(new IzdatnicaViewModel())); }
public async Task <ActionResult> Edit(IzdatnicaViewModel izdatnicaVM) { if (ModelState.IsValid) { db.Entry(izdatnicaVM.Izdatnica).State = EntityState.Modified; await db.SaveChangesAsync(); var msg = string.Format("Izdatnica broj {0} je uspješno uređena", izdatnicaVM.Izdatnica.ID); this.AddNotification(msg, NotificationType.SUCCESS); return(RedirectToAction("Index")); } ViewBag.DjelatnikID = new SelectList(db.Users, "Id", "Email", izdatnicaVM.Izdatnica.DjelatnikID); return(View(new IzdatnicaViewModel(izdatnicaVM.Izdatnica.ID))); }
public ActionResult Edit(int?id) { if (!id.HasValue) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } var viewModel = new IzdatnicaViewModel(id.Value); if (viewModel.IsClosed || viewModel.IsCanceled) { this.AddNotification("Izdatnica je završena. Nije moguća izmjena.", NotificationType.WARNING); return(RedirectToAction("Index")); } ViewBag.DjelatnikID = new SelectList(db.Users, "Id", "Email", viewModel.Izdatnica.DjelatnikID); return(View(viewModel)); }
public ActionResult AddStavkaIzdatnice(int?izdatnicaId) { if (!izdatnicaId.HasValue) { return(HttpNotFound()); } var izdatnicaVM = new IzdatnicaViewModel(izdatnicaId.Value); if (izdatnicaVM.IsClosed || izdatnicaVM.IsCanceled) { this.AddNotification("Izdatnica je završena. Nije moguća izmjena.", NotificationType.WARNING); return(RedirectToAction("Index")); } return(View(izdatnicaVM)); }
public async Task <ActionResult> AddStavkaIzdatnice(IzdatnicaViewModel izdatnicaVM) { if (ModelState.IsValid) { var stavkaIzdatnice = db.StavkaIzdatnice.Find(izdatnicaVM.Izdatnica.ID, izdatnicaVM.StavkaIzdatnice.ProizvodID); var skladiste = await db.SkladisteLokacija .Include(x => x.JedinicaMjere) .SingleAsync(x => x.ProizvodID == izdatnicaVM.StavkaIzdatnice.ProizvodID); if (stavkaIzdatnice != null) { stavkaIzdatnice.Kolicina += izdatnicaVM.StavkaIzdatnice.Kolicina; skladiste.Stanje -= izdatnicaVM.StavkaIzdatnice.Kolicina; db.Entry(stavkaIzdatnice).State = EntityState.Modified; } else { izdatnicaVM.StavkaIzdatnice.IzdatnicaID = izdatnicaVM.Izdatnica.ID; db.StavkaIzdatnice.Add(izdatnicaVM.StavkaIzdatnice); skladiste.Stanje -= izdatnicaVM.StavkaIzdatnice.Kolicina; } if (skladiste.Stanje < 0) { this.AddNotification(string.Format("Nema dovoljno proizvoda na stanju. Uzeli ste {0} {1} previše", Math.Abs(skladiste.Stanje), skladiste.JedinicaMjere.Naziv), NotificationType.ERROR); } else { db.Entry(skladiste).State = EntityState.Modified; await db.SaveChangesAsync(); this.AddNotification("Stavka je uspješno dodana", NotificationType.SUCCESS); } } return(View(new IzdatnicaViewModel(izdatnicaVM.Izdatnica.ID))); }