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")); } }
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)); }
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 }) } })); }
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)); } }
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")); }
public ActionResult Logout() { Autentifikacija.PokreniNovuSesiju(null, HttpContext, true); return(RedirectToAction("Index")); }
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))); }