public IActionResult Login([FromBody] AutentifikacijaLoginPostVM x)
        {
            var k = _dbContext.Kupac.SingleOrDefault(s => s.KorisnickoIme == x.username && s.Lozinka == x.password);

            if (k == null)
            {
                return(Unauthorized());
            }

            string tokenString = TokenGenerator.Generate(5);

            _dbContext.Add(new AutentifikacijaToken
            {
                KorisnickiNalogId    = k.Id,
                VrijemeEvidentiranja = DateTime.Now,
                Vrijednost           = tokenString
            });
            _dbContext.SaveChanges();
            return(Ok(new AutentifikcijaLoginResultVM
            {
                poruka = "ispravan login",
                tokenString = tokenString,
                username = k.KorisnickoIme,
                ime = k.Ime,
                prezime = k.Prezime
            }));
        }
        public ActionResult <AutentifikacijaResultVM> LoginCheck([FromBody] AutentifikacijaLoginPostVM input)
        {
            string token = Guid.NewGuid().ToString();

            AutentifikacijaResultVM model = _db.Korisnik
                                            .Where(w => w.KorisnickiNalog.KorisnickoIme == input.Username && w.KorisnickiNalog.Lozinka == input.Password)
                                            .Select(s => new AutentifikacijaResultVM
            {
                ime = s.Ime,
                korisnickiNalogId = s.KorisnickiNalogId,
                prezime           = s.Prezime,
                username          = s.KorisnickiNalog.KorisnickoIme,
                password          = s.KorisnickiNalog.Lozinka,
                token             = token,
            }).SingleOrDefault();


            if (model != null)
            {
                _db.AutorizacijskiToken.Add(new AutorizacijskiToken
                {
                    Vrijednost           = model.token,
                    KorisnickiNalogId    = model.korisnickiNalogId.Value,
                    VrijemeEvidentiranja = DateTime.Now,
                    deviceInfo           = "Mobile app - " + input.deviceInfo,
                    IpAdresa             = HttpContext.Connection.RemoteIpAddress + ":" + HttpContext.Connection.RemotePort
                });
                _db.SaveChanges();
            }

            return(model);
        }
        public ActionResult <AutentifikacijaResultVM> LoginCheck([FromBody] AutentifikacijaLoginPostVM korisnik)
        {
            AutentifikacijaResultVM model = _db.Korisnici
                                            .Where(w => w.Username == korisnik.username && w.Password == korisnik.password)
                                            .Select(s => new AutentifikacijaResultVM
            {
                username = s.Username, email = s.Mail, korisnikId = s.KorisnikId
            }).SingleOrDefault();


            return(model);
        }
        public ActionResult <AutentifikacijaResultVM> LoginCheck([FromBody] AutentifikacijaLoginPostVM input)
        {
            string token = Guid.NewGuid().ToString();

            AutentifikacijaResultVM model = _db.KorisnickiNalozis
                                            .Where(w => w.KorisnickoIme == input.Username && w.Lozinka == input.Password && w.isDeleted == false && w.isAktivanNalog == true)
                                            .Select(s => new AutentifikacijaResultVM
            {
                osobaId              = s.OsobaId,
                ime                  = _db.Osobas.Where(x => x.Id == s.OsobaId).First().Ime,
                korisnickiNalogId    = s.Id,
                prezime              = _db.Osobas.Where(x => x.Id == s.OsobaId).First().Prezime,
                username             = s.KorisnickoIme,
                token                = token,
                isAdministrator      = _db.Osobas.Where(x => x.Id == s.OsobaId).First().isAdministrator,
                isBlagajnik          = _db.Osobas.Where(x => x.Id == s.OsobaId).First().isBlagajnik,
                isClanKluba          = _db.Osobas.Where(x => x.Id == s.OsobaId).First().isClanKluba,
                isSekretar           = _db.Osobas.Where(x => x.Id == s.OsobaId).First().isSekretar,
                isTrener             = _db.Osobas.Where(x => x.Id == s.OsobaId).First().isTrener,
                isKnjigovodja        = _db.Osobas.Where(x => x.Id == s.OsobaId).First().isKnjigovodja,
                isClanUpravnogOdbora = _db.Osobas.Where(x => x.Id == s.OsobaId).First().isClanUpravnogOdbora,
                isAktivanNalog       = s.isAktivanNalog,

                isAktivnaOsoba = _db.Osobas.Where(x => x.Id == s.OsobaId).First().isAktivnaOsoba,
            }).SingleOrDefault();


            if (model != null && (model.isClanKluba == true || model.isTrener == true || model.isBlagajnik == true))
            {
                _db.AutorizacijskiTokens.Add(new AutorizacijskiToken
                {
                    Vrijednost           = model.token,
                    KorisnickiNalogId    = model.korisnickiNalogId.Value,
                    VrijemeEvidentiranja = DateTime.Now,
                    deviceInfo           = "Mobile app - " + input.deviceInfo,
                    IpAdresa             = HttpContext.Connection.RemoteIpAddress + ":" + HttpContext.Connection.RemotePort
                });
                _db.SaveChanges();
                int tokenId = _db.AutorizacijskiTokens.ToList().OrderByDescending(x => x.Id).FirstOrDefault().Id;
                model.tokenId = tokenId;
            }

            return(model);
        }
 public IActionResult LoginJson([FromBody] AutentifikacijaLoginPostVM x)
 {
     return(LoginAkcija(x));
 }
 public IActionResult LoginForm([FromForm] AutentifikacijaLoginPostVM x)
 {
     return(LoginAkcija(x));
 }