示例#1
0
        public ActionResult Edit(string id)
        {
            int artiklId = Convert.ToInt32(id);

            using (var context = new ProdavnicaContext())
            {
                Artikl          artikl   = context.Artikls.Where(a => a.ArtiklId == artiklId).FirstOrDefault();
                ArtiklViewModel artiklVm = new ArtiklViewModel()
                {
                    ArtiklId    = artikl.ArtiklId,
                    Naziv       = artikl.Naziv,
                    Cijena      = artikl.Cijena,
                    Kolicina    = artikl.Kolicina,
                    Opis        = artikl.Opis,
                    DobavljacId = artikl.DobavljacId,
                    Slika       = artikl.Slika
                };

                ViewBag.Dobavljaci = context.Dobavljacs.Select(d => new SelectListItem() //
                {
                    Text  = d.Naziv,
                    Value = "" + d.DobavljacId
                }).ToList();

                return(View(artiklVm));
            }
        }
示例#2
0
        public JsonResult ListKorisnik(int jtStartIndex = 0, int jtPageSize = 0, string jtSorting = null)
        {
            try
            {
                using (var context = new ProdavnicaContext())
                {
                    var korisnici = context.Korisniks.Select(k => new
                    {
                        k.KorisnikId,
                        k.Ime,
                        k.Prezime,
                        k.Adresa,
                        k.Pol,
                        k.DatumRodjenja,
                        k.Username,
                        k.Password
                    }).ToList();

                    var count   = korisnici.Count();
                    var records = korisnici.OrderBy(jtSorting).Skip(jtStartIndex).Take(jtPageSize).ToList();

                    //Return result to jTable
                    return(Json(new { Result = "OK", Records = records, TotalRecordCount = count }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { Result = "ERROR", Message = ex.Message }));
            }
        }
示例#3
0
        public JsonResult Create(UlogaViewModel ulogaViewModel)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(Json(new { Result = "ERROR", Message = "Form is not valid! Please correct it and try again." }));
                }
                using (var context = new ProdavnicaContext())
                {
                    Uloga uloga = new Uloga
                    {
                        UlogaID = ulogaViewModel.UlogaID,
                        Naziv   = ulogaViewModel.Naziv
                    };
                    context.Ulogas.Add(uloga);
                    context.SaveChanges();

                    return(Json(new { Result = "OK", Record = uloga }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { Result = "ERROR", Message = ex.Message }));
            }
        }
示例#4
0
        public JsonResult Edit(KorisnikUlogaViewModel korisnikUlogaViewModel)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(Json(new { Result = "ERROR", Message = "Form is not valid! Please correct it and try again." }));
                }

                using (var context = new ProdavnicaContext())
                {
                    var nekiKorisnik = context.Korisniks.Find(korisnikUlogaViewModel.KorisnikID);
                    var nekaUloga    = context.Ulogas.Find(korisnikUlogaViewModel.UlogaID);

                    var ima = nekiKorisnik.KorisnikUlogas.Any(u => u.UlogaID == nekaUloga.UlogaID && korisnikUlogaViewModel.KorisnikUlogaID != u.KorisnikUlogaID);

                    if (ima)
                    {
                        return(Json(new { Result = "ERROR", Message = "Korisniku je vec dodjeljena ta uloga" }));
                    }

                    KorisnikUloga korisnikUloga = context.KorisnikUlogas.Find(korisnikUlogaViewModel.KorisnikUlogaID);
                    korisnikUloga.KorisnikID = korisnikUlogaViewModel.KorisnikID;
                    korisnikUloga.UlogaID    = korisnikUlogaViewModel.UlogaID;
                    context.SaveChanges();
                }

                return(Json(new { Result = "OK" }));
            }
            catch (Exception ex)
            {
                return(Json(new { Result = "ERROR", Message = ex.Message }));
            }
        }
 public JsonResult List(int jtStartIndex = 0, int jtPageSize = 0, string jtSorting = null)
 {
     try
     {
         using (var context = new ProdavnicaContext())
         {
             var dobavljaci = context.Dobavljacs.Select(o => new
             {
                 o.DobavljacID,
                 o.Naziv
             });
             var count   = dobavljaci.Count();
             var records = dobavljaci.OrderBy(jtSorting).Skip(jtStartIndex).Take(jtPageSize).ToList();
             //Return result to jTable
             return(Json(new
             {
                 Result = "OK",
                 Records = records,
                 TotalRecordCount = count
             }));
         }
     }
     catch (Exception ex)
     {
         return(Json(new { Result = "ERROR", Message = ex.Message }));
     }
 }
 public KupovinaController(ProdavnicaContext _db, UserManager <ApplicationUser> _um,
                           KorpaServis _kServis)
 {
     db      = _db;
     um      = _um;
     kServis = _kServis;
 }
示例#7
0
 public JsonResult List(int jtStartIndex = 0, int jtPageSize = 0, string jtSorting = null)
 {
     try
     {
         using (var context = new ProdavnicaContext())
         {
             var korisnikUloge = context.KorisnikUlogas
                                 .Select(o => new KorisnikUlogaViewModel
             {
                 KorisnikID      = o.KorisnikID,
                 KorisnikUlogaID = o.KorisnikUlogaID,
                 UlogaID         = o.UlogaID
             });
             var count   = korisnikUloge.Count();
             var records = korisnikUloge.OrderBy(jtSorting).Skip(jtStartIndex).Take(jtPageSize).ToList();
             //Return result to jTable
             return(Json(new
             {
                 Result = "OK",
                 Records = records,
                 TotalRecordCount = count
             }));
         }
     }
     catch (Exception ex)
     {
         return(Json(new { Result = "ERROR", Message = ex.Message }));
     }
 }
示例#8
0
        public JsonResult Create(KorisnikViewModel korisnikViewModel)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(Json(new { Result = "ERROR", Message = "Form is not valid! Please correct it and try again." }));
                }
                using (var context = new ProdavnicaContext())
                {
                    Korisnik korisnik = new Korisnik
                    {
                        Prezime       = korisnikViewModel.Prezime,
                        Ime           = korisnikViewModel.Ime,
                        Pol           = korisnikViewModel.Pol,
                        Adresa        = korisnikViewModel.Adresa,
                        DatumRodjenja = korisnikViewModel.DatumRodjenja,
                        KorisnikID    = korisnikViewModel.KorisnikID,
                        Username      = korisnikViewModel.Username,
                        Password      = Encryptor.MD5Hash(korisnikViewModel.Password)
                    };
                    context.Korisniks.Add(korisnik);
                    context.SaveChanges();

                    return(Json(new { Result = "OK", Record = korisnik }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { Result = "ERROR", Message = ex.Message }));
            }
        }
示例#9
0
 public JsonResult List(int jtStartIndex = 0, int jtPageSize = 0, string jtSorting = null)
 {
     try
     {
         using (var context = new ProdavnicaContext())
         {
             var dobavljaci = context.Korisniks
                              .Select(o => new KorisnikViewModel
             {
                 KorisnikID    = o.KorisnikID,
                 Adresa        = o.Adresa,
                 DatumRodjenja = o.DatumRodjenja,
                 Prezime       = o.Prezime,
                 Ime           = o.Ime,
                 Pol           = o.Pol,
                 Password      = o.Password,
                 Username      = o.Username
             });
             var count   = dobavljaci.Count();
             var records = dobavljaci.OrderBy(jtSorting).Skip(jtStartIndex).Take(jtPageSize).ToList();
             //Return result to jTable
             return(Json(new
             {
                 Result = "OK",
                 Records = records,
                 TotalRecordCount = count
             }));
         }
     }
     catch (Exception ex)
     {
         return(Json(new { Result = "ERROR", Message = ex.Message }));
     }
 }
 public ActionResult IzmijeniSifru(KorisnikIzmijeniSifruViewModel korisnikIzmijeniSifruViewModel)
 {
     using (var context = new ProdavnicaContext())
     {
         if (ModelState.IsValid)
         {
             var korisnik = context.Korisniks.Find(korisnikIzmijeniSifruViewModel.KorisnikID);
             if (korisnik.Password != korisnikIzmijeniSifruViewModel.NovaSifra)
             {
                 korisnik.Password = korisnikIzmijeniSifruViewModel.NovaSifra;
                 context.SaveChanges();
                 return(View(korisnikIzmijeniSifruViewModel));
             }
             else
             {
                 ModelState.AddModelError("", "Greska pri unosu sifre!");
                 return(View(korisnikIzmijeniSifruViewModel));
             }
         }
         else
         {
             return(View(korisnikIzmijeniSifruViewModel));
         }
     }
 }
示例#11
0
        public JsonResult Edit(KorisnikViewModel korisnikViewModel)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(Json(new { Result = "ERROR", Message = "Form is not valid! Please correct it and try again." }));
                }

                using (var context = new ProdavnicaContext())
                {
                    Korisnik korisnik = context.Korisniks.Find(korisnikViewModel.KorisnikID);
                    korisnik.Ime           = korisnikViewModel.Ime;
                    korisnik.Prezime       = korisnikViewModel.Prezime;
                    korisnik.Adresa        = korisnikViewModel.Adresa;
                    korisnik.Pol           = korisnikViewModel.Pol;
                    korisnik.DatumRodjenja = korisnikViewModel.DatumRodjenja;
                    korisnik.Username      = korisnikViewModel.Username;
                    korisnik.Password      = korisnikViewModel.Password;
                    context.SaveChanges();
                }

                return(Json(new { Result = "OK" }));
            }
            catch (Exception ex)
            {
                return(Json(new { Result = "ERROR", Message = ex.Message }));
            }
        }
示例#12
0
        public JsonResult UpdateUloga(UlogaViewModel ulogaVM)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(Json(new { Result = "ERROR", Message = "Form is not valid! Please correct it and try again." }));
                }

                using (var context = new ProdavnicaContext())
                {
                    Uloga ulogaUpdate = context.Ulogas.Find(ulogaVM.UlogaId);

                    ulogaUpdate.UlogaId = ulogaVM.UlogaId;
                    ulogaUpdate.Naziv   = ulogaVM.Naziv;

                    context.SaveChanges();
                }
                return(Json(new { Result = "OK" }));
            }
            catch (Exception ex)
            {
                return(Json(new { Result = "ERROR", Message = ex.Message }));
            }
        }
示例#13
0
        public JsonResult Update(Dobavljac dobavljac)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(Json(new { Result = "ERROR", Message = "Form is not valid! Please correct it and try again." }));
                }

                using (var context = new ProdavnicaContext())
                {
                    Dobavljac dobavljacUpdate = context.Dobavljacs.Find(dobavljac.DobavljacId);

                    dobavljacUpdate.DobavljacId = dobavljac.DobavljacId;
                    dobavljacUpdate.Naziv       = dobavljac.Naziv;

                    context.SaveChanges();
                }
                return(Json(new { Result = "OK" }));
            }
            catch (Exception ex)
            {
                return(Json(new { Result = "ERROR", Message = ex.Message }));
            }
        }
示例#14
0
        public JsonResult ListUloga(int jtStartIndex = 0, int jtPageSize = 0, string jtSorting = null)
        {
            try
            {
                using (var context = new ProdavnicaContext())
                {
                    var uloge = context.Ulogas.Select(u => new
                    {
                        u.UlogaId,
                        u.Naziv
                    }).ToList();

                    var count   = uloge.Count();
                    var records = uloge.OrderBy(jtSorting).Skip(jtStartIndex).Take(jtPageSize).ToList();



                    //Return result to jTable
                    return(Json(new { Result = "OK", Records = records, TotalRecordCount = count }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { Result = "ERROR", Message = ex.Message }));
            }
        }
示例#15
0
        public ActionResult Edit(int id)
        {
            using (var context = new ProdavnicaContext())
            {
                var a = context.Artikls.Find(id);

                var artiklViewModel = new ArtiklViewModel()
                {
                    ArtiklID    = a.ArtiklID,
                    Cijena      = a.Cijena,
                    DobavljacID = a.DobavljacID,
                    Kolicina    = a.Kolicina,
                    Naziv       = a.Naziv,
                    Opis        = a.Opis,
                    Slika       = a.Slika
                };

                ViewBag.Dobavljaci = context.Dobavljacs.Select(d =>
                                                               new SelectListItem()
                {
                    Text  = d.Naziv,
                    Value = "" + d.DobavljacID
                }).ToList();

                return(View(artiklViewModel));
            }
        }
        public JsonResult Create(DobavljacViewModel dobavljac)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(Json(new { Result = "ERROR", Message = "Form is not valid! Please correct it and try again." }));
                }
                using (var context = new ProdavnicaContext())
                {
                    Dobavljac d = new Dobavljac
                    {
                        Naziv = dobavljac.Naziv
                    };
                    context.Dobavljacs.Add(d);
                    context.SaveChanges();

                    return(Json(new { Result = "OK", Record = d }));
                }
            }
            catch (Exception ex)
            {
                return(Json(new { Result = "ERROR", Message = ex.Message }));
            }
        }
示例#17
0
        public ActionResult PromijeniSifru(PromijeniSifruViewModel promijeniSifruVM)
        {
            using (var context = new ProdavnicaContext())
            {
                if (ModelState.IsValid)
                {
                    //return Json(new { Result = "ERROR", Message = "Form is not valid! Please correct it and try again." });
                    var korisnik = context.Korisniks.Find(promijeniSifruVM.KorisnikId);
                    if (korisnik.Password != promijeniSifruVM.NewPassword)
                    {
                        korisnik.Password = promijeniSifruVM.NewPassword;
                        context.SaveChanges();

                        return(RedirectToAction("UlogujSe", "Login"));
                    }
                    else
                    {
                        ModelState.AddModelError("", "Greska!");
                        return(View(promijeniSifruVM));
                    }
                }
                else
                {
                    //ModelState.AddModelError("", "Greska");
                    return(View(promijeniSifruVM));
                }
            }
        }
        public JsonResult UpdateKorisnikUloga(KorisnikUloga kUloga)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(Json(new { Result = "ERROR", Message = "Form is not valid! Please correct it and try again." }));
                }

                using (var context = new ProdavnicaContext())
                {
                    var korisnik = context.Korisniks.Find(kUloga.KorisnikId);                                                               //u korisnik trazim kuloga.korisnikId
                    var ima      = korisnik.KorisnikUlogas.Any(k => k.UlogaId == kUloga.UlogaId && k.KorisnikUlogaId != k.KorisnikUlogaId); //ako postoji ta uloga u ulogama
                    if (ima)
                    {
                        return(Json(new { Result = "ERROR", Message = "Uloga vec postoji za izabranog korisnika!" }));
                    }

                    KorisnikUloga kUlogaUpdate = context.KorisnikUlogas.Find(kUloga.KorisnikUlogaId);

                    kUlogaUpdate.KorisnikUlogaId = kUloga.KorisnikUlogaId;
                    kUlogaUpdate.KorisnikId      = kUloga.KorisnikId;
                    kUlogaUpdate.UlogaId         = kUloga.UlogaId;

                    context.SaveChanges();
                }
                return(Json(new { Result = "OK" }));
            }
            catch (Exception ex)
            {
                return(Json(new { Result = "ERROR", Message = ex.Message }));
            }
        }
示例#19
0
 public ActionResult Delete(int id)
 {
     using (var context = new ProdavnicaContext())
     {
         context.Artikls.Remove(context.Artikls.Find(id));
         context.SaveChanges();
     }
     return(RedirectToAction("Index"));
 }
示例#20
0
        public JsonResult Create(List <KupljeniArtikliViewModel> kupljeneStavke)
        {
            using (var context = new ProdavnicaContext())
            {
                if (!ModelState.IsValid)
                {
                    return(Json(new { Success = false, Message = "Pokusaj ponovo!" }));
                }

                if (kupljeneStavke == null)
                {
                    return(Json(new { Success = false, Message = "Pokusaj ponovo!" }));
                }

                if (kupljeneStavke.Any(k => k.Kolicina == 0 || k.ArtiklID == 0 || k.Kolicina < 0 || k.ArtiklID < 0))
                {
                    return(Json(new { Success = false, Message = "Pokusaj ponovo!" }));
                }

                if (kupljeneStavke.Any(k => k.Kolicina > context.Artikls.Find(k.ArtiklID).Kolicina))
                {
                    return(Json(new { Success = false, Message = "Pokusaj ponovo!" }));
                }


                var racun = new Racun()
                {
                    DatumIzdavanja = DateTime.Today
                };

                var korisnik = context.Korisniks.FirstOrDefault(k => k.Username == User.Identity.Name);
                racun.KorisnikID = korisnik.KorisnikID;
                var zadnjiRacun = context.Racuns.Where(r => r.DatumIzdavanja == racun.DatumIzdavanja).Count();
                racun.BrojRacuna = zadnjiRacun + 1;

                var ukupanIznos = kupljeneStavke.Sum(k => k.Kolicina * context.Artikls.Find(k.ArtiklID).Cijena);
                racun.UkupanIznos = ukupanIznos;

                foreach (var item in kupljeneStavke)
                {
                    Stavka stavka = new Stavka();
                    stavka.ArtikalID = item.ArtiklID;
                    stavka.Kolicina  = item.Kolicina;
                    stavka.Cijena    = context.Artikls.Find(item.ArtiklID).Cijena;
                    racun.Stavkas.Add(stavka);

                    context.Artikls.Find(item.ArtiklID).Kolicina -= (int)stavka.Kolicina;
                }

                context.Racuns.Add(racun);

                context.SaveChanges();

                return(Json(new { Success = true }));
            }
        }
示例#21
0
 public UnitOfWork(ProdavnicaContext context)
 {
     this.context    = context;
     Materijali      = new MaterijalRepository(context);
     VrsteMaterijala = new VrstaMaterijalaRepository(context);
     Racuni          = new RacunRepository(context);
     StavkeRacuna    = new StavkaRacunaRepository(context);
     Korisnici       = new KorisnikRepository(context);
     Role            = new RolaRepository(context);
 }
        public IEnumerable <ValidationResult> Validate(ValidationContext validationContext)
        {
            using (var context = new ProdavnicaContext())
            {
                bool postojiUsernameUBazi = context.Korisniks.Any(k => k.Username == Username);

                if (postojiUsernameUBazi)
                {
                    yield return(new ValidationResult("Greska", new[] { nameof(Username) }));
                }
            }
        }
示例#23
0
        public ActionResult Delete(string id)
        {
            var artiklID = Convert.ToInt32(id);

            using (var context = new ProdavnicaContext())
            {
                context.Artikls.Remove(context.Artikls.Find(artiklID));
                context.SaveChanges();

                return(RedirectToAction("Index"));
            }
        }
示例#24
0
 public RegisterModel(
     UserManager <ApplicationUser> userManager,
     SignInManager <ApplicationUser> signInManager,
     ILogger <RegisterModel> logger,
     IEmailSender emailSender, ProdavnicaContext _db)
 {
     _userManager   = userManager;
     _signInManager = signInManager;
     _logger        = logger;
     _emailSender   = emailSender;
     db             = _db;
 }
示例#25
0
        public IEnumerable <ValidationResult> Validate(ValidationContext validationContext)   //okida svaki put kad ima ismodelvalid
        {
            using (var context = new ProdavnicaContext())
            {
                bool zauzetUsername = context.Korisniks.Any(k => k.Username == Username);

                if (zauzetUsername)
                {
                    yield return(new ValidationResult("Greska", new[] { nameof(Username) }));
                }
            }
        }
示例#26
0
 public ActionResult Create()
 {
     using (var context = new ProdavnicaContext())
     {
         ViewBag.Dobavljaci = context.Dobavljacs.Select(d =>
                                                        new SelectListItem()
         {
             Text  = d.Naziv,
             Value = "" + d.DobavljacID
         }).ToList();
         return(View());
     }
 }
示例#27
0
 public ActionResult PromijeniSifru()
 {
     using (var context = new ProdavnicaContext())
     {
         var korisnik        = context.Korisniks.FirstOrDefault(k => k.Username == User.Identity.Name);
         var izmijeniSifruVM = new PromijeniSifruViewModel()
         {
             KorisnikId = korisnik.KorisnikId,
             Username   = korisnik.Username,
             Password   = korisnik.Password
         };
         return(View(izmijeniSifruVM));
     }
 }
 public ActionResult IzmijeniSifru()
 {
     using (var context = new ProdavnicaContext())
     {
         var korisnik          = context.Korisniks.FirstOrDefault(k => k.Username == User.Identity.Name);
         var korisnikViewModel = new KorisnikIzmijeniSifruViewModel()
         {
             KorisnikID    = korisnik.KorisnikID,
             KorisnickoIme = korisnik.Username,
             StaraSifra    = korisnik.Password
         };
         return(View(korisnikViewModel));
     }
 }
示例#29
0
        public ActionResult Create(List <KupljeniArtikliViewModel> listaKupljenihStavki)  //isti naziv kao naziv niza u js - listaKupljenihStavki
        {
            using (var context = new ProdavnicaContext())
            {
                if (!ModelState.IsValid)
                {
                    return(Json(new { Success = false, Message = "Greska" }));
                }
                if (listaKupljenihStavki == null)
                {
                    return(Json(new { Success = false, Message = "Greska" }));
                }
                if (listaKupljenihStavki.Any(k => k.Kolicina == 0 || k.ArtiklId == 0 || k.Kolicina < 0))
                {
                    return(Json(new { Success = false, Message = "Greska" }));
                }
                if (listaKupljenihStavki.Any(k => k.Kolicina > context.Artikls.Find(k.ArtiklId).Kolicina))
                {
                    return(Json(new { Success = false, Message = "Greska" }));
                }

                Racun racun = new Racun()
                {
                    DatumIzdavanja = DateTime.Now
                };

                var korisnik = context.Korisniks.FirstOrDefault(k => k.Username == User.Identity.Name);  //trazim ulogovanog
                racun.KorisnikId = korisnik.KorisnikId;
                var zadnjiRacun = context.Racuns.Where(r => r.DatumIzdavanja == racun.DatumIzdavanja).Count();
                racun.BrojRacuna = zadnjiRacun + 1;
                var ukupanIznos = listaKupljenihStavki.Sum(k => k.Kolicina * context.Artikls.Find(k.ArtiklId).Cijena);
                racun.UkupanIznos = ukupanIznos;

                foreach (var item in listaKupljenihStavki)
                {
                    Stavka stavka = new Stavka();
                    stavka.ArtiklId = item.ArtiklId;
                    stavka.Kolicina = item.Kolicina;
                    stavka.Cijena   = context.Artikls.Find(item.ArtiklId).Cijena; //nema u VM
                    racun.Stavkas.Add(stavka);                                    //dodajem stavke na racun

                    context.Artikls.Find(item.ArtiklId).Kolicina -= (int)stavka.Kolicina;
                }
                context.Racuns.Add(racun);
                context.SaveChanges();

                return(Json(new { Success = true }));
            }
        }
示例#30
0
        public ActionResult Create()
        {
            using (var context = new ProdavnicaContext())
            {
                var artikliNaStanju = context.Artikls.Where(a => a.Kolicina > 0).Select(a => new ArtiklNaStanjuViewModel()
                {
                    ArtiklId = a.ArtiklId,
                    Naziv    = a.Naziv,
                    Cijena   = a.Cijena,
                    Kolicina = a.Kolicina
                }).ToList();

                return(View(artikliNaStanju));
            }
        }