Пример #1
0
        public IActionResult Login(LoginViewModel model)
        {
            if (String.IsNullOrEmpty(model.username) || String.IsNullOrEmpty(model.password))
            {
                return(View(model));
            }

            string sqlKveri = "SELECT idKorisnika, tipKorisnika from korisnici where username like @user and password like @pass";

            SqlConnection conn = new SqlConnection("server=DESKTOP-0G31M9N;database=zamgerDB-new;Trusted_Connection=true");

            SqlCommand command = new SqlCommand(sqlKveri, conn);

            var userParam = new SqlParameter("user", System.Data.SqlDbType.NVarChar);

            userParam.Value = model.username;
            var passParam = new SqlParameter("pass", System.Data.SqlDbType.NVarChar);

            passParam.Value = model.password;

            command.Parameters.Add(userParam);
            command.Parameters.Add(passParam);
            try
            {
                conn.Open();
                var result = command.ExecuteReader();
                if (!result.HasRows)
                {
                    conn.Close();
                    ModelState.AddModelError("", "username ili password nisu tačni");
                    return(View(model));
                }
                else
                {
                    result.Read();
                    int          idKorisnika  = result.GetInt32(0);
                    TipKorisnika tipKorisnika = (TipKorisnika)result.GetInt32(1);

                    Autentifikacija.PokreniNovuSesiju(idKorisnika, HttpContext, tipKorisnika);

                    if (tipKorisnika == TipKorisnika.StudentskaSluzba)
                    {
                        return(RedirectToAction("Dashboard", new RouteValueDictionary(
                                                    new { controller = "Studentska", action = "Dashboard" })));
                    }
                    else if (tipKorisnika == TipKorisnika.Student)
                    {
                        return(RedirectToAction("Dashboard", new RouteValueDictionary(
                                                    new { controller = "Student", action = "Dashboard" })));
                    }
                    else
                    {
                        return(RedirectToAction("Dashboard", new RouteValueDictionary(
                                                    new { controller = "NastavnoOsoblje", action = "Dashboard" })));
                    }
                }
            }
            catch (Exception)
            {
                return(RedirectToAction("OdjaviSe"));
            }
        }
Пример #2
0
        public IActionResult PrikazArtikala(string sortOrder, int page = 1, string pretragaString = null)
        {
            ViewBag.NazivSortParm  = String.IsNullOrEmpty(sortOrder) ? "Naziv_desc" : "";
            ViewBag.CijenaSortParm = sortOrder == "Cijena" ? "Cijena_desc" : "Cijena";


            Nalog trenutniNalog = Autentifikacija.GetLogiraniNalog(HttpContext);

            Data.Models.Klijent klijent = db.Klijenti.FirstOrDefault(x => x.NalogID == trenutniNalog.id);

            ViewData["brojArtikala"] = db.NarudzbaStavke.Where(x => x.Narudzba.KlijentID == klijent.id).Sum(q => q.Kolicina);



            ShopPrikazArtikalaVM model = new ShopPrikazArtikalaVM();

            if (string.IsNullOrEmpty(pretragaString))
            {
                model.rows = db.Artikli.Include(x => x.PodKategorija)
                             .Where(s => s.Kolicina > 0)
                             .Select(x => new ShopPrikazArtikalaVM.Row()
                {
                    ArtikalID        = x.id,
                    Naziv            = x.Naziv,
                    Cijena           = x.Cijena,
                    Kolicina         = x.Kolicina,
                    Fajl             = db.Fajlovi.FirstOrDefault(w => w.Id == db.ArtikliFajlovi.FirstOrDefault(k => k.ArtikalID == x.id).FajlID),
                    OdabranaKolicina = 1,
                    Podkategorija    = x.PodKategorija.Naziv
                }).OrderBy(x => x.ArtikalID).Skip((page - 1) * PageSize).Take(PageSize).ToList();

                model.PagingInfo = new Web.ViewModels.PagingInfo()
                {
                    CurrentPage  = page,
                    ItemsPerPage = PageSize,
                    TotalItems   = db.Artikli.Count()
                };
            }
            else
            {
                model.rows = db.Artikli
                             .Include(x => x.PodKategorija)
                             .Where(s => s.Kolicina > 0)
                             .Select(x => new ShopPrikazArtikalaVM.Row()
                {
                    ArtikalID        = x.id,
                    Naziv            = x.Naziv,
                    Cijena           = x.Cijena,
                    Kolicina         = x.Kolicina,
                    Fajl             = db.Fajlovi.FirstOrDefault(w => w.Id == db.ArtikliFajlovi.FirstOrDefault(k => k.ArtikalID == x.id).FajlID),
                    OdabranaKolicina = 1,
                    Podkategorija    = x.PodKategorija.Naziv
                }).Where(x => x.Podkategorija.ToLower().Contains(pretragaString.ToLower()) || x.Naziv.ToLower().Contains(pretragaString.ToLower())).ToList();

                model.PagingInfo = new Web.ViewModels.PagingInfo()
                {
                    CurrentPage  = page,
                    ItemsPerPage = PageSize,
                    TotalItems   = db.Artikli.Where(x => x.PodKategorija.Naziv.ToLower().Contains(pretragaString.ToLower()) || x.Naziv.ToLower().Contains(pretragaString.ToLower())).Count()
                };
            }

            switch (sortOrder)
            {
            case "Naziv_desc":
                model.rows = model.rows.OrderByDescending(x => x.Naziv);
                break;

            case "Cijena":
                model.rows = model.rows.OrderBy(x => x.Cijena);
                break;

            case "Cijena_desc":
                model.rows = model.rows.OrderByDescending(x => x.Cijena);
                break;

            default:
                model.rows = model.rows.OrderBy(x => x.Naziv);
                break;
            }
            return(View(model));
        }
Пример #3
0
        private IQueryable <OsobaVMs.OsobaQuickDetailsVM> GetOsobaQuickDetailsVMQuery(int id)
        {
            string randomLozinka = Autentifikacija.GenerateRandomPassword();

            return(_db.Osobe.AsNoTracking().Where(w => w.OsobaId == id).Select(s => new OsobaVMs.OsobaQuickDetailsVM()
            {
                OsobaId = s.OsobaId,
                Ime = s.Ime,
                Prezime = s.Prezime,
                DatumRodjenja = s.DatumRodjenja,
                MjestoRodjenjaId = s.MjestoRodjenjaId,
                MjestoRodjenjaNaziv = s.MjestoRodjenja.Naziv,
                Spol = s.Spol,
                Email = s.Email,
                MjestoBoravkaId = s.MjestoBoravkaId,
                MjestoBoravkaNaziv = s.MjestoBoravka.Naziv,
                Adresa = s.Adresa,
                BrojMobitela = s.BrojMobitela,
                BrojTelefona = s.BrojTelefona,
                KakoSteSaznaliZaNas = s.KakoSteSaznaliZaNas,
                PodatciOFirmi = s.PodatciOFirmi,
                NazivFirme = s.NazivFirme,
                AdresaFirme = s.AdresaFirme,
                GradFirmeId = s.GradFirmeId,
                GradFirmeNaziv = s.GradFirma.Naziv,
                BrojTelefonaFirme = s.BrojTelefonaFirme,
                EmailFirme = s.EmailFirme,

                ZaposlenikCreateVM = new ZaposlenikVMs.ZaposlenikCreateVM()
                {
                    OsobaId = s.OsobaId,
                    OsobaNaziv = s.Ime + " " + s.Prezime,
                    ZaposlenikVM = _db.Zaposlenici.Where(w => w.ZaposlenikId == s.OsobaId).Select(x => new ZaposlenikVMs.ZaposlenikVM()
                    {
                        ZaposlenikId = x.ZaposlenikId,
                        StepenObrazovanja = x.StepenObrazovanja,
                        BrojRacuna = x.BrojRacuna,
                        BrojLicneKarte = x.BrojLicneKarte
                    }).FirstOrDefault()
                },
                KandidatCreateVM = new KandidatVMs.KandidatCreateVM()
                {
                    OsobaId = s.OsobaId,
                    OsobaNaziv = s.Ime + " " + s.Prezime,
                    KandidatVM = _db.Kandidati.Where(w => w.KandidatId == s.OsobaId).Select(x => new KandidatVMs.KandidatVM()
                    {
                        KandidatId = x.KandidatId,
                        Biljeske = x.Biljeske,
                        DatumUpisa = x.DatumUpisa
                    }).FirstOrDefault()
                },
                KorisnickiNalog = s.KorisnickiNalog != null,
                KorisnickiNalogVM = s.KorisnickiNalog != null ? new KorisnickiNalogVM()
                {
                    KorisnickiNalogId = s.KorisnickiNalog.KorisnickiNalogId,
                    KorisnickoIme = s.KorisnickiNalog.KorisnickoIme,
                    UlogaKorisnika = s.KorisnickiNalog.UlogaKorisnika,
                    Aktivan = s.KorisnickiNalog.Aktivan,
                } : new KorisnickiNalogVM()
                {
                    OsobaId = s.OsobaId,
                    UlogaKorisnika = s.Zaposlenik != null ? UlogeKorisnika.AdministrativniRadnik : UlogeKorisnika.Kandidat,
                    KorisnickoIme = s.Ime + " " + s.Prezime,
                    Lozinka = randomLozinka,
                    Aktivan = true,
                    SendEmail = true,
                    EmailBody = MyEmailHelper.GetKorisnickiPodatciCreateEmailBody(new Osoba()
                    {
                        Ime = s.Ime,
                        Prezime = s.Prezime,
                        Spol = s.Spol
                    })
                }
            }));
        }
Пример #4
0
        public IActionResult UvidKorpe()
        {
            Nalog trenutniNalog = Autentifikacija.GetLogiraniNalog(HttpContext);

            Data.Models.Klijent klijent = db.Klijenti.FirstOrDefault(x => x.NalogID == trenutniNalog.id);

            ViewData["brojArtikala"] = db.NarudzbaStavke.Where(x => x.Narudzba.KlijentID == klijent.id).Sum(q => q.Kolicina);


            Narudzba postojecaNarudzba = db.Narudzbe
                                         .Where(s => s.KlijentID == klijent.id)
                                         .FirstOrDefault();


            if (postojecaNarudzba != null)
            {
                List <NarudzbaStavke> sviArtikli = db.NarudzbaStavke
                                                   .Include(s => s.Artikal)
                                                   .Where(s => s.NarudzbaID == postojecaNarudzba.id)
                                                   .ToList();

                decimal UkupanIznos = 0;


                foreach (var x in sviArtikli)
                {
                    UkupanIznos += x.Kolicina * x.Artikal.Cijena;
                }
                ShopUvidKorpeVM model = new ShopUvidKorpeVM();

                model.NarudzbaID  = postojecaNarudzba.id;
                model.UkupanIznos = UkupanIznos;
                model.ZeliDostavu = postojecaNarudzba.ZeliDostavu;
                model.rows        = db.NarudzbaStavke
                                    .Include(x => x.Artikal)
                                    .Include(x => x.Narudzba)
                                    .Include(x => x.Artikal.PodKategorija)
                                    .Where(s => s.NarudzbaID == postojecaNarudzba.id)
                                    .Select(x => new ShopUvidKorpeVM.Row()
                {
                    NarudzbaStavkeID = x.id,
                    ArtikalID        = x.ArtikalID,
                    Naziv            = x.Artikal.Naziv,
                    Cijena           = x.Artikal.Cijena,
                    Kolicina         = x.Artikal.Kolicina,
                    Fajl             = db.Fajlovi.FirstOrDefault(w => w.Id == db.ArtikliFajlovi.FirstOrDefault(k => k.ArtikalID == x.id).FajlID),
                    OdabranaKolicina = x.Kolicina,
                    Podkategorija    = x.Artikal.PodKategorija.Naziv,
                }).OrderBy(x => x.ArtikalID).ToList();



                return(View(model));
            }
            else
            {
                ShopUvidKorpeVM model = new ShopUvidKorpeVM();
                model.NarudzbaID = 0;
                return(View(model));
            }
        }
Пример #5
0
        public IActionResult StaviUKorpu(int ArtikalID, int Kolicina)
        {
            Nalog trenutniNalog = Autentifikacija.GetLogiraniNalog(HttpContext);

            Data.Models.Klijent klijent = db.Klijenti.FirstOrDefault(x => x.NalogID == trenutniNalog.id);

            ViewData["brojArtikala"] = db.NarudzbaStavke.Where(x => x.Narudzba.KlijentID == klijent.id).Sum(q => q.Kolicina);



            Narudzba postojecaNarudzba = db.Narudzbe
                                         .Where(s => s.KlijentID == klijent.id)
                                         .FirstOrDefault();

            if (postojecaNarudzba == null)
            {
                Narudzba novaNarudzba = new Narudzba
                {
                    KlijentID   = klijent.id,
                    ZeliDostavu = false,
                };

                db.Narudzbe.Add(novaNarudzba);

                NarudzbaStavke novaNarudzbaStavke = new NarudzbaStavke
                {
                    ArtikalID  = ArtikalID,
                    Kolicina   = Kolicina,
                    NarudzbaID = novaNarudzba.id
                };
                db.NarudzbaStavke.Add(novaNarudzbaStavke);
            }
            else
            {
                NarudzbaStavke DaLiVecPostoji = this.db.NarudzbaStavke
                                                .FirstOrDefault(x => x.ArtikalID == ArtikalID && x.NarudzbaID == postojecaNarudzba.id);



                if (DaLiVecPostoji != null)
                {
                    DaLiVecPostoji.Kolicina += Kolicina;

                    db.SaveChanges();
                    return(RedirectToAction("PrikazArtikala"));
                }
                else
                {
                    NarudzbaStavke novaNarudzbaStavke = new NarudzbaStavke
                    {
                        ArtikalID  = ArtikalID,
                        Kolicina   = Kolicina,
                        NarudzbaID = postojecaNarudzba.id
                    };
                    db.NarudzbaStavke.Add(novaNarudzbaStavke);
                }
            }

            db.SaveChanges();


            return(RedirectToAction("PrikazArtikala"));
        }
Пример #6
0
 public ActionResult Logout()
 {
     Autentifikacija.PokreniNovuSesiju(null, HttpContext, true);
     return(RedirectToAction("Index"));
 }
Пример #7
0
        public ActionResult Index(string username, string password)
        {
            LoginEvidencija evidencija = new LoginEvidencija();

            evidencija.RadnikId    = null; evidencija.MenadzmentId = null; evidencija.StudentId = null;
            evidencija.DatumLogina = DateTime.Now;

            using (MojContext ctx = new MojContext())
            {
                var user = ctx.Radnik.Where(x => x.Username == username).Where(x => x.Password == password).FirstOrDefault();
                if (user != null)
                {
                    Korisnik k = new Korisnik();
                    k.Id                = user.Id;
                    k.Ime               = user.Ime;
                    k.Prezime           = user.Prezime;
                    k.username          = user.Username;
                    k.password          = user.Password;
                    k.rola              = "radnik";
                    evidencija.RadnikId = user.Id;
                    Autentifikacija.PokreniNovuSesiju(k, HttpContext, true);
                    ctx.LoginEvidencija.Add(evidencija);
                    ctx.SaveChanges();
                    return(RedirectToAction("Index", "Workers"));
                }
                else
                {
                    var student = ctx.Student.Where(x => x.BrojIndeksa == username).Where(x => x.Password == password).FirstOrDefault();
                    if (student != null)
                    {
                        Korisnik k = new Korisnik();
                        k.Id                 = student.Id;
                        k.Ime                = student.Ime;
                        k.Prezime            = student.Prezime;
                        k.username           = student.BrojIndeksa;
                        k.password           = student.Password;
                        k.rola               = "student";
                        evidencija.StudentId = student.Id;
                        Autentifikacija.PokreniNovuSesiju(k, HttpContext, true);
                        ctx.LoginEvidencija.Add(evidencija);
                        ctx.SaveChanges();
                        return(RedirectToAction("StudentBoard", "Profile"));
                    }
                    var menadzment = ctx.Menadzment.Where(x => x.Username == username).Where(x => x.Password == password).FirstOrDefault();
                    if (menadzment != null)
                    {
                        Korisnik k = new Korisnik();
                        k.Id       = menadzment.Id;
                        k.Ime      = menadzment.Ime;
                        k.Prezime  = menadzment.Prezime;
                        k.username = menadzment.Username;
                        k.password = menadzment.Password;
                        k.rola     = "menadzment";
                        evidencija.MenadzmentId = menadzment.Id;
                        Autentifikacija.PokreniNovuSesiju(k, HttpContext, true);
                        ctx.LoginEvidencija.Add(evidencija);
                        ctx.SaveChanges();
                        return(RedirectToAction("MenadzmentBoard", "Menadzment"));
                    }
                }
            }

            return(View("Login"));
        }
 public IActionResult Odjava()
 {
     Autentifikacija.OcistiSesiju(httpContext.HttpContext);
     return(RedirectToAction(nameof(Prijava)));
 }