Пример #1
0
        public async Task <IActionResult> Register(RegisterViewModel model)
        {
            var salt  = HashingPasswords.GenerateSalt();
            var pw    = HashingPasswords.GenerateHashArgon2(model.Lozinka, salt);
            var uloga = nameof(TipKorisnikaEnum.Korisnik);

            var korisnik = new Models.Korisnik()
            {
                PasswordHash  = pw,
                PasswordSalt  = salt,
                Uloga         = uloga,
                KorisnickoIme = model.KorisnickoIme,
                Ime           = model.Ime,
                Prezime       = model.Prezime,
                Banovan       = false
            };

            _korisnikRepo.Add(korisnik);
            _korisnikRepo.SaveChanges();

            var identity = CreateNewIdentity(model.KorisnickoIme, uloga, korisnik.KorisnikId.ToString());

            var principal = new ClaimsPrincipal(identity);
            await Authentication.Login(HttpContext, principal);

            return(RedirectToAction("Index", "Home"));
        }
Пример #2
0
        public ActionResult Sort2()
        {
            Projekat.Models.Korisnik korisnik = new Models.Korisnik();
            korisnik     = Baza.GetUser(LoggedIn);
            ViewBag.User = korisnik;

            int status = Int32.Parse(Request.Params["sort"]);

            if (korisnik.Uloga_Korisnika == Models.Korisnik.Uloga.Musterija)
            {
                if (status == 1)
                {
                    IEnumerable <Models.Voznja> voznje = new List <Models.Voznja>();
                    IEnumerable <Models.Voznja> help   = new List <Models.Voznja>();

                    voznje = Baza.GetVoznjeMusterija(LoggedIn);
                    help   = voznje.OrderByDescending(x => x.Datum_Vreme).ToList();

                    ViewBag.Voznje = help;



                    List <Models.Komentar> komentari = new List <Models.Komentar>();
                    komentari         = Baza.GetKomentareZaVoznje();
                    ViewBag.Komentari = komentari;

                    return(View("Index"));
                }
            }
            return(View("Index"));
        }
Пример #3
0
        public ActionResult Filtriraj2()
        {
            Projekat.Models.Korisnik korisnik = new Models.Korisnik();
            korisnik     = Baza.GetUser(LoggedIn);
            ViewBag.User = korisnik;

            int status = Int32.Parse(Request.Params["status"]);


            if (korisnik.Uloga_Korisnika == Models.Korisnik.Uloga.Musterija)
            {
                IEnumerable <Models.Voznja> voznje = new List <Models.Voznja>();
                voznje = Baza.GetVoznjeMusterija(korisnik.Korisnicko_Ime);
                List <Models.Voznja> voznje2 = new List <Models.Voznja>();

                foreach (Voznja v in voznje)
                {
                    if ((int)v.Status_Voznje == status)
                    {
                        voznje2.Add(v);
                    }
                }

                ViewBag.Voznje = voznje2;


                List <Models.Komentar> komentari = new List <Models.Komentar>();
                komentari         = Baza.GetKomentareZaVoznje();
                ViewBag.Komentari = komentari;
            }
            return(View("Index"));
        }
Пример #4
0
        public ActionResult Index()
        {
            if (LoggedIn != null)
            {
                Projekat.Models.Korisnik korisnik = new Models.Korisnik();
                korisnik     = Baza.GetUser(LoggedIn);
                ViewBag.User = korisnik;

                if (korisnik.Uloga_Korisnika == Models.Korisnik.Uloga.Musterija)
                {
                    IEnumerable <Models.Voznja> voznje = new List <Models.Voznja>();
                    voznje         = Baza.GetVoznjeMusterija(LoggedIn);
                    ViewBag.Voznje = voznje;
                    List <Models.Komentar> komentari = new List <Models.Komentar>();
                    komentari         = Baza.GetKomentareZaVoznje();
                    ViewBag.Komentari = komentari;
                }

                if (korisnik.Uloga_Korisnika == Models.Korisnik.Uloga.Dispecer)
                {
                    IEnumerable <Models.Voznja> voznje = new List <Models.Voznja>();
                    voznje         = Baza.GetVoznjeDispecer(LoggedIn);
                    ViewBag.Voznje = voznje;

                    List <Models.Voznja> voznjesve  = new List <Models.Voznja>();
                    List <Models.Voznja> voznjesvee = new List <Models.Voznja>();

                    voznjesve = Baza.GetVoznjeSve();
                    // voznjesvee = voznjesve.OrderByDescending(x => x.Datum_Vreme).ToList();
                    ViewBag.VoznjeSve = voznjesve;

                    List <Models.Komentar> komentari = new List <Models.Komentar>();
                    komentari         = Baza.GetKomentareZaVoznje();
                    ViewBag.Komentari = komentari;



                    //var newList = people.OrderBy(x => x.LastName)
                }

                if (korisnik.Uloga_Korisnika == Models.Korisnik.Uloga.Vozac)
                {
                    IEnumerable <Models.Voznja> voznje = new List <Models.Voznja>();
                    voznje         = Baza.GetVoznjeVozac(LoggedIn);
                    ViewBag.Voznje = voznje;

                    List <Models.Voznja> voznjesve = new List <Models.Voznja>();
                    voznjesve         = Baza.GetVoznjeSveKreirane();
                    ViewBag.VoznjeSve = voznjesve;

                    List <Models.Komentar> komentari = new List <Models.Komentar>();
                    komentari         = Baza.GetKomentareZaVoznje();
                    ViewBag.Komentari = komentari;
                }
            }



            return(View());
        }
Пример #5
0
 public IActionResult SnimiKorisnika(KorisnikDodajVM vm)
 {
     if (vm.Id > 0)
     {
         var foundLogin = _db.Login.Where(a => a.Id == vm.LoginID).FirstOrDefault();
         foundLogin.UserName = vm.Username; foundLogin.Password = vm.Password;
         _db.SaveChanges();
         var foundUser = _db.Korsinik.Where(a => a.Id == vm.Id).FirstOrDefault();
         foundUser.Ime       = vm.Ime; foundUser.LoginID = vm.LoginID; foundUser.LoginRolaId = vm.LoginRolaId;
         foundUser.PhotoRuta = _db.Photos.Where(a => a.Id == vm.PhotoRutaId).Select(s => s.PhotoRoute).FirstOrDefault(); foundUser.DatumZaposlenja = vm.DatumZaposlenja; foundUser.Prezime = vm.Prezime;
         _db.VjestinaKorisnik.RemoveRange(_db.VjestinaKorisnik.Where(a => a.KorisnikID == vm.Id).ToList());
         _db.SaveChanges();
         foreach (var item in vm.VjestineId)
         {
             Models.VjestinaKorisnik local = new Models.VjestinaKorisnik()
             {
                 KorisnikID = vm.Id, VjestinaID = item
             };
             _db.VjestinaKorisnik.Add(local);
         }
         _db.SaveChanges();
         return(Redirect("/Korisnik/Prikazi"));
     }
     else
     {
         Models.Login localLogin = new Models.Login()
         {
             Password = vm.Password, UserName = vm.Username
         };
         _db.Login.Add(localLogin);
         _db.SaveChanges();
         Models.Korisnik localKorisnik = new Models.Korisnik()
         {
             Ime             = vm.Ime,
             DatumZaposlenja = vm.DatumZaposlenja,
             LoginID         = localLogin.Id,
             LoginRolaId     = vm.LoginRolaId,
             //PhotoRuta = FileUploadDelete.Upload(_hostingEnvironment, vm.Photo, "imgUpload"),
             PhotoRuta  = _db.Photos.Where(a => a.Id == vm.PhotoRutaId).Select(s => s.PhotoRoute).FirstOrDefault(),
             Prezime    = vm.Prezime,
             isZaposlen = true
         };
         _db.Korsinik.Add(localKorisnik);
         _db.SaveChanges();
         foreach (var item in vm.VjestineId)
         {
             Models.VjestinaKorisnik local = new Models.VjestinaKorisnik()
             {
                 KorisnikID = localKorisnik.Id, VjestinaID = item
             };
             _db.VjestinaKorisnik.Add(local);
         }
         _db.SaveChanges();
         return(Redirect("/Korisnik/Prikazi"));
     }
 }
Пример #6
0
        protected override async Task <AuthenticateResult> HandleAuthenticateAsync()
        {
            if (!Request.Headers.ContainsKey("Authorization"))
            {
                return(AuthenticateResult.Fail("Missing Authorization Header"));
            }

            Models.Korisnik user = null;
            try
            {
                var authHeader      = AuthenticationHeaderValue.Parse(Request.Headers["Authorization"]);
                var credentialBytes = Convert.FromBase64String(authHeader.Parameter);
                var credentials     = Encoding.UTF8.GetString(credentialBytes).Split(new[] { ':' }, 2);
                var username        = credentials[0];
                var password        = credentials[1];
                //user = _userService.Authentifikacija(username, password);
                user = _userService.Authentifikacija(username, password);
            }
            catch
            {
                return(AuthenticateResult.Fail("Invalid Authorization Header"));
            }

            if (user == null)
            {
                return(AuthenticateResult.Fail("Invalid Username or Password"));
            }

            var claims = new[] {
                new Claim(ClaimTypes.NameIdentifier, user.Id.ToString()),
                new Claim(ClaimTypes.Name, user.KorisnikoIme),
                new Claim(ClaimTypes.Role, user.Uloga.Naziv),
            };
            var identity  = new ClaimsIdentity(claims, Scheme.Name);
            var principal = new ClaimsPrincipal(identity);
            var ticket    = new AuthenticationTicket(principal, Scheme.Name);

            return(AuthenticateResult.Success(ticket));
        }
Пример #7
0
        public ActionResult Filtriraj4()
        {
            Projekat.Models.Korisnik korisnik = new Models.Korisnik();
            korisnik     = Baza.GetUser(LoggedIn);
            ViewBag.User = korisnik;

            int status = Int32.Parse(Request.Params["status"]);


            if (korisnik.Uloga_Korisnika == Models.Korisnik.Uloga.Dispecer)
            {
                IEnumerable <Models.Voznja> voznje = new List <Models.Voznja>();
                voznje = Baza.GetVoznjeSve();
                List <Models.Voznja> voznje2 = new List <Models.Voznja>();

                // var newList = people.OrderBy(x => x.LastName)
                foreach (Voznja v in voznje)
                {
                    if ((int)v.Status_Voznje == status)
                    {
                        voznje2.Add(v);
                    }
                }

                ViewBag.VoznjeSve = voznje2;


                IEnumerable <Models.Voznja> voznjee = new List <Models.Voznja>();
                voznjee        = Baza.GetVoznjeDispecer(LoggedIn);
                ViewBag.Voznje = voznjee;

                List <Models.Komentar> komentari = new List <Models.Komentar>();
                komentari         = Baza.GetKomentareZaVoznje();
                ViewBag.Komentari = komentari;
            }
            return(View("Index"));
        }