Пример #1
0
        public async Task <ActionResult> AddStavkaPrimke(PrimkaViewModel primkaVM)
        {
            if (ModelState.IsValid)
            {
                var stavkaPrimke = db.StavkaPrimke.Find(primkaVM.Primka.ID, primkaVM.StavkaPrimke.ProizvodID);
                var skladiste    = await db.SkladisteLokacija.FindAsync(primkaVM.StavkaPrimke.ProizvodID);

                if (stavkaPrimke != null)
                {
                    skladiste.Stanje            += primkaVM.StavkaPrimke.Kolicina;
                    stavkaPrimke.Kolicina       += primkaVM.StavkaPrimke.Kolicina;
                    db.Entry(stavkaPrimke).State = EntityState.Modified;
                }
                else
                {
                    primkaVM.StavkaPrimke.PrimkaID = primkaVM.Primka.ID;
                    db.StavkaPrimke.Add(primkaVM.StavkaPrimke);
                    skladiste.Stanje += primkaVM.StavkaPrimke.Kolicina;
                }
                db.Entry(skladiste).State = EntityState.Modified;

                if (skladiste.Stanje >= 0)
                {
                    await db.SaveChangesAsync();

                    this.AddNotification("Stavka je uspješno dodana", NotificationType.SUCCESS);
                }
                else
                {
                    this.AddNotification("Stavka nije uspješno dodana. Nema dovoljno na stanju.", NotificationType.SUCCESS);
                }
            }

            return(View(new PrimkaViewModel(primkaVM.Primka.ID)));
        }
Пример #2
0
        public async Task <ActionResult> Create(PrimkaViewModel primkaVM)
        {
            if (ModelState.IsValid)
            {
                primkaVM.Primka.StatusID = primkaVM.StatusiDokumentaList.OrderBy(x => x.ID).First().ID;
                db.Primka.Add(primkaVM.Primka);
                await db.SaveChangesAsync();

                this.AddNotification("Primka je kreirana. Molimo unesite stavke.", NotificationType.INFO);
                return(RedirectToAction("AddStavkaPrimke", new { primkaId = primkaVM.Primka.ID }));
            }

            return(View(new PrimkaViewModel()));
        }
Пример #3
0
        public async Task <ActionResult> Edit(PrimkaViewModel primkaVM)
        {
            if (ModelState.IsValid)
            {
                db.Entry(primkaVM.Primka).State = EntityState.Modified;
                await db.SaveChangesAsync();

                var msg = string.Format("Primka broj {0} je uspješno uređena", primkaVM.Primka.ID);
                this.AddNotification(msg, NotificationType.SUCCESS);
                return(RedirectToAction("Index"));
            }
            ViewBag.DjelatnikID = new SelectList(db.Users, "Id", "Email", primkaVM.Primka.DjelatnikID);
            return(View(new PrimkaViewModel(primkaVM.Primka.ID)));
        }
Пример #4
0
        public ActionResult Edit(int?id)
        {
            if (!id.HasValue)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            var viewModel = new PrimkaViewModel(id.Value);

            if (viewModel.IsClosed || viewModel.IsCanceled)
            {
                this.AddNotification("Primka je završena. Nije moguća izmjena.", NotificationType.WARNING);
                return(RedirectToAction("Index"));
            }
            ViewBag.DjelatnikID = new SelectList(db.Users, "Id", "Email", viewModel.Primka.DjelatnikID);
            return(View(viewModel));
        }
Пример #5
0
        public ActionResult AddStavkaPrimke(int?primkaId)
        {
            if (!primkaId.HasValue)
            {
                return(HttpNotFound());
            }

            var primkaVM = new PrimkaViewModel(primkaId.Value);

            if (primkaVM.IsClosed || primkaVM.IsCanceled)
            {
                this.AddNotification("Primka je završena. Nije moguća izmjena.", NotificationType.WARNING);
                return(RedirectToAction("Index"));
            }

            return(View(primkaVM));
        }
Пример #6
0
        public async Task <ActionResult> DeleteStavkaPrimke(int?PrimkaID, int?ProizvodID, string ViewName = "StavkaPrimke")
        {
            var primkaVM = new PrimkaViewModel(PrimkaID.Value);

            if (primkaVM.IsClosed || primkaVM.IsCanceled)
            {
                this.AddNotification("Primka je završena. Nije moguća izmjena.", NotificationType.WARNING);
                return(RedirectToAction("Index"));
            }
            if (PrimkaID.HasValue && ProizvodID.HasValue)
            {
                var existing = await db.StavkaPrimke.FindAsync(PrimkaID.Value, ProizvodID.Value);

                var skladiste = await db.SkladisteLokacija.FindAsync(ProizvodID.Value);

                if (existing != null)
                {
                    skladiste.Stanje -= existing.Kolicina;
                    if (skladiste.Stanje < 0)
                    {
                        this.AddNotification("Stavka nije uspješno obrisana. Stanje ne može otići u minus.", NotificationType.ERROR);
                    }
                    else
                    {
                        db.StavkaPrimke.Remove(existing);
                        db.Entry(skladiste).State = EntityState.Modified;
                        await db.SaveChangesAsync();

                        this.AddNotification("Stavka je uspješno obrisana", NotificationType.SUCCESS);
                    }
                }
                return(View(ViewName, new PrimkaViewModel(PrimkaID.Value)));
            }

            return(new HttpNotFoundResult());
        }