//razduzivanje knjige
        //razduzivanje knjige
        public ActionResult RazduziKnjigu(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }

            Transakcija_Audit audit = db.Transakcija_Audit.Where(x => x.TransakcijaID == id).FirstOrDefault();

            audit.Status = "1";



            var trans = db.Transakcijas.Where(y => y.TransakcijaID == id).Select(y => y.KnjigaID).First();

            int i = Convert.ToInt32(trans);



            Zaliha zal = db.Zalihas.Where(x => x.KnjigaID == i).FirstOrDefault();

            zal.StanjeZaliha++;



            db.SaveChanges();


            return(RedirectToAction("Index"));
        }
示例#2
0
        public void IzmeniKolicinuKadaJeZalihaDovoljna()
        {
            var zaliha = new Zaliha()
            {
                TrenutnaZaliha = 0
            };

            fRepository.Setup(x => x.VratiZalihuArtikla(1, fKonfiguracijaKase.ProdavnicaID)).Returns(zaliha);
            var stavka = new StavkaRacuna()
            {
                Artikal = new Artikal()
                {
                    ID = 1
                }, Kolicina = 4
            };

            fViewModel.StavkaRacuna = stavka;
            fViewModel.Kolicina     = 3;

            // Act
            fViewModel.PrihvatiKolicinu();

            // Assert
            Assert.AreEqual(1, zaliha.TrenutnaZaliha);
            fRepository.Verify(x => x.SacuvajZalihu(zaliha));
            Assert.AreEqual(3, stavka.Kolicina);
            Assert.IsNull(fViewModel.Artikal);
            Assert.IsNull(fViewModel.StavkaRacuna);
        }
示例#3
0
        public void DodajStavkuKadaJeZalihaDovoljna()
        {
            // Arrange
            fKonfiguracijaKase.DozvoljeneNegativneZalihe = false;
            var zaliha = new Zaliha()
            {
                TrenutnaZaliha = 3
            };

            fRepository.Setup(x => x.VratiZalihuArtikla(1, fKonfiguracijaKase.ProdavnicaID)).Returns(zaliha);
            fViewModel.Artikal = new Artikal {
                ID = 1
            };
            fViewModel.Kolicina = 3;

            // Act
            fViewModel.PrihvatiKolicinu();

            // Assert
            Assert.AreEqual(0, zaliha.TrenutnaZaliha);
            fRepository.Verify(x => x.SacuvajZalihu(zaliha));
            Assert.AreEqual(1, fViewModel.Racun.StavkeRacuna.Count);
            Assert.IsNull(fViewModel.Artikal);
            Assert.IsNull(fViewModel.StavkaRacuna);
        }
示例#4
0
        public ActionResult DeleteConfirmed(int id)
        {
            Zaliha zaliha = db.Zalihas.Find(id);

            db.Zalihas.Remove(zaliha);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
示例#5
0
        public void SacuvajZalihu(Zaliha zaliha)
        {
            var update = m_Repository.VratiZalihu(zaliha.ID);

            update.ProdajnaCena    = zaliha.ProdajnaCena;
            update.MinimalnaZaliha = zaliha.MinimalnaZaliha;
            update.MaximalnaZaliha = zaliha.MaximalnaZaliha;
            m_Repository.Submit();
        }
示例#6
0
 public ActionResult Edit([Bind(Include = "ZalihaID,KnjigaID,StanjeZaliha,Barkod")] Zaliha zaliha)
 {
     if (ModelState.IsValid)
     {
         db.Entry(zaliha).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.KnjigaID = new SelectList(db.Knjigas, "KnjigaID", "Naziv", zaliha.KnjigaID);
     return(View(zaliha));
 }
示例#7
0
        public ActionResult SacuvajIzmene(Zaliha zaliha)
        {
            var model = new ZaliheViewModel()
            {
                IdRadnje = zaliha.RadnjaID
            };

            model.SacuvajZalihu(zaliha);
            model.Pretrazi();
            return(PartialView("_ZaliheGrid", model.Zalihe));
        }
 public void SacuvajZalihu(Zaliha zaliha)
 {
     if (zaliha.ID == 0)
     {
         DataContext.Zalihe.Add(zaliha);
     }
     else
     {
         DataContext.Entry(zaliha).State = EntityState.Modified;
     }
     Submit();
 }
示例#9
0
        // GET: Zaliha/Details/5
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Zaliha zaliha = db.Zalihas.Find(id);

            if (zaliha == null)
            {
                return(HttpNotFound());
            }
            return(View(zaliha));
        }
示例#10
0
        // GET: Zaliha/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            Zaliha zaliha = db.Zalihas.Find(id);

            if (zaliha == null)
            {
                return(HttpNotFound());
            }
            ViewBag.KnjigaID = new SelectList(db.Knjigas, "KnjigaID", "Naziv", zaliha.KnjigaID);
            return(View(zaliha));
        }
示例#11
0
 public void SacuvajArtikal(Artikal artikal, params int[] radnje)
 {
     if (artikal.ID == 0)
     {
         DataContext.Artikli.Add(artikal);
         foreach (var radnja in radnje)
         {
             var zaliha = new Zaliha {
                 Artikal = artikal, RadnjaID = radnja
             };
             DataContext.Zalihe.Add(zaliha);
         }
     }
     else
     {
         DataContext.Entry(artikal).State = EntityState.Modified;
     }
 }
示例#12
0
        public void DodajStavkuKadaZalihaNijeDovoljna()
        {
            // Arrange
            fKonfiguracijaKase.DozvoljeneNegativneZalihe = false;
            var zaliha = new Zaliha()
            {
                TrenutnaZaliha = 1
            };

            fRepository.Setup(x => x.VratiZalihuArtikla(1, fKonfiguracijaKase.ProdavnicaID)).Returns(zaliha);
            fRepository.Setup(x => x.SacuvajZalihu(zaliha));
            fViewModel.Artikal = new Artikal {
                ID = 1
            };
            fViewModel.Kolicina = 3;

            // Act
            fViewModel.PrihvatiKolicinu();
        }
示例#13
0
        public void VratiZalihe()
        {
            // Arrange
            var zaliha1 = new Zaliha()
            {
                TrenutnaZaliha = 3
            };
            var zaliha2 = new Zaliha()
            {
                TrenutnaZaliha = 15
            };
            var racun = new Racun
            {
                StavkeRacuna = new BindingList <StavkaRacuna>()
                {
                    new StavkaRacuna()
                    {
                        Artikal = new Artikal {
                            ID = 1
                        }, Kolicina = 4
                    },
                    new StavkaRacuna()
                    {
                        Artikal = new Artikal {
                            ID = 2
                        }, Kolicina = 3
                    },
                }
            };

            fViewModel.Racun = racun;
            fRepository.Setup(x => x.VratiZalihuArtikla(1, fKonfiguracijaKase.ProdavnicaID)).Returns(zaliha1);
            fRepository.Setup(x => x.VratiZalihuArtikla(2, fKonfiguracijaKase.ProdavnicaID)).Returns(zaliha2);

            // Act
            fViewModel.VratiZalihe();

            // Assert
            Assert.AreEqual(7, zaliha1.TrenutnaZaliha);
            Assert.AreEqual(18, zaliha2.TrenutnaZaliha);
            fRepository.Verify(x => x.Submit());
        }
        public ActionResult Create([Bind(Include = "KorisnikId")] TransakcijaCreateVM transakcije)
        {
            List <KnjigaTransakcijaCreateVM> li = (List <KnjigaTransakcijaCreateVM>)Session["cart"];

            if (li != null)
            {
                foreach (KnjigaTransakcijaCreateVM item in li)
                {
                    Transakcija tNova = new Transakcija();
                    tNova.DatumTransakcije = DateTime.Now;
                    tNova.KnjigaID         = item.KnjigaID;
                    //tNova.KorisnikID = Session["korisnikId"];
                    tNova.KorisnikID = transakcije.KorisnikId;
                    db.Transakcijas.Add(tNova);

                    Zaliha temp = db.Zalihas.Where(x => x.KnjigaID == item.KnjigaID).FirstOrDefault();
                    temp.StanjeZaliha--;
                }
                db.SaveChanges();
                Session["cart"] = null;
                return(RedirectToAction("Index"));
            }
            else
            {
                TransakcijaCreateVM transakcija = new TransakcijaCreateVM();
                transakcija.OdabraneKnjige = new List <KnjigaTransakcijaCreateVM>();
                transakcija.DostupneKnjige = new List <KnjigaTransakcijaCreateVM>();
                transakcija.KorisnikId     = 0;

                transakcija.DostupneKnjige = db.Knjigas /*Where(z=>z.Zalihas.Select(k=>k.KnjigaID=k.KnjigaID)*/.Select(x => new KnjigaTransakcijaCreateVM
                {
                    KnjigaID = x.KnjigaID,
                    Autor    = x.Autor,
                    Barkod   = x.Barkod,
                    Naziv    = x.Naziv
                }).ToList();

                transakcija.OdabraneKnjige = (List <KnjigaTransakcijaCreateVM>)Session["cart"];
                return(View(transakcije));
            }
        }
示例#15
0
        public ActionResult Create([Bind(Include = "ZalihaID,KnjigaID,StanjeZaliha")] Zaliha zaliha)
        {
            if (ModelState.IsValid)
            {
                Zaliha provjera = db.Zalihas.Where(x => x.KnjigaID == zaliha.KnjigaID).FirstOrDefault();
                if (provjera != null)
                {
                    provjera.StanjeZaliha    = provjera.StanjeZaliha + zaliha.StanjeZaliha;
                    db.Entry(provjera).State = EntityState.Modified;
                    db.SaveChanges();
                    return(RedirectToAction("Index"));
                }

                db.Zalihas.Add(zaliha);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            ViewBag.KnjigaID = new SelectList(db.Knjigas, "KnjigaID", "Naziv", zaliha.KnjigaID);
            return(View(zaliha));
        }
示例#16
0
        public void UnesiNegativnuKolicinu()
        {
            fKonfiguracijaKase.DozvoljeneNegativneZalihe = false;
            var zaliha = new Zaliha()
            {
                TrenutnaZaliha = 1
            };

            fRepository.Setup(x => x.VratiZalihuArtikla(1, fKonfiguracijaKase.ProdavnicaID)).Returns(zaliha);
            fRepository.Setup(x => x.SacuvajZalihu(zaliha));
            fViewModel.Artikal = new Artikal {
                ID = 1
            };
            fViewModel.Kolicina = -3;

            // Act
            fViewModel.PrihvatiKolicinu();

            // Assert
            Assert.AreEqual(4, zaliha.TrenutnaZaliha);
            Assert.AreEqual(-3, fViewModel.Racun.StavkeRacuna[0].Kolicina);
        }
示例#17
0
        public void IzmeniKolicinuKadaZalihaNijeDovoljna()
        {
            var zaliha = new Zaliha()
            {
                TrenutnaZaliha = 2
            };

            fRepository.Setup(x => x.VratiZalihuArtikla(1, fKonfiguracijaKase.ProdavnicaID)).Returns(zaliha);
            var stavka = new StavkaRacuna()
            {
                Artikal = new Artikal()
                {
                    ID = 1
                }, Kolicina = 3
            };

            fViewModel.StavkaRacuna = stavka;
            fViewModel.Kolicina     = 6;

            // Act
            fViewModel.PrihvatiKolicinu();
        }
示例#18
0
        public void PromeniArtikalStavke()
        {
            var zaliha = new Zaliha()
            {
                TrenutnaZaliha = 2
            };
            var zalihaNovogArtikla = new Zaliha()
            {
                TrenutnaZaliha = 4
            };

            fRepository.Setup(x => x.VratiZalihuArtikla(1, fKonfiguracijaKase.ProdavnicaID)).Returns(zaliha);
            fRepository.Setup(x => x.VratiZalihuArtikla(2, fKonfiguracijaKase.ProdavnicaID)).Returns(zalihaNovogArtikla);
            var stavka = new StavkaRacuna()
            {
                Artikal = new Artikal()
                {
                    ID = 1
                }, Kolicina = 3
            };

            fViewModel.StavkaRacuna = stavka;
            fViewModel.Artikal      = new Artikal {
                ID = 2
            };
            fViewModel.Kolicina = 3;

            // Act
            fViewModel.PrihvatiKolicinu();

            // Assert
            zaliha.TrenutnaZaliha             = 5;
            zalihaNovogArtikla.TrenutnaZaliha = 1;
            fRepository.Verify(x => x.SacuvajZalihu(zaliha));
            fRepository.Verify(x => x.SacuvajZalihu(zalihaNovogArtikla));
            Assert.IsNull(fViewModel.Artikal);
            Assert.IsNull(fViewModel.StavkaRacuna);
        }
示例#19
0
 public PartialViewResult SacuvajZalihu(int idArtikla, Zaliha zaliha)
 {
     zaliha.ArtikalID = idArtikla;
     return(Vratizalihe(zaliha.ArtikalID));
 }