Пример #1
0
        public static bool LoginUser(string username, string password)
        {
            ClientLoginDto clog = new ClientLoginDto {
                KIme_Mail = username, Sifra = password
            };

            try
            {
                SesijaDto sesija = Api.LoginUser(clog);
                MSettings.CurrentSession = new Session()
                {
                    SessionID = sesija.IdSesije
                };

                KorisnikFullDto korisnik = Api.GetUserFullInfo(sesija.IdKorisnika);
                if (korisnik.IdTipaNaloga == (int)User.UserAccountType.Student)
                {
                    MUtility.ShowError("Prijavljivanje sa studentskog naloga je onemoguceno na ovoj aplikaciji!");
                    Api.LogoutUser(MSettings.CurrentSession.SessionID);
                    return(false);
                }
                MSettings.CurrentSession.LoggedUser = MUtility.GenerateUserFromDTO(korisnik);
                return(true);
            }
            catch (Exception ex)
            {
                MSettings.CurrentSession = null;
                MUtility.ShowException(ex);
                return(false);
            }
        }
Пример #2
0
        private void PozoviApiFunkciju()
        {
            ClientLoginDto clog = new ClientLoginDto
            {
                KIme_Mail = FindViewById <TextView>(Resource.Id.usernameText).Text,
                Sifra     = FindViewById <TextView>(Resource.Id.passwordText).Text
            };

            try
            {
                SesijaDto sesija = Api.Api.LoginUser(clog);
                MSettings.CurrentSession = new Session()
                {
                    SessionID = sesija.IdSesije
                };

                KorisnikFullDto korisnik = Api.Api.GetUserFullInfo(sesija.IdKorisnika);
                if (korisnik.IdTipaNaloga == (int)User.UserAccountType.Student)
                {
                    //if (!Api.LogoutUser(MSettings.CurrentSession.SessionID))
                    //    throw new Exception("Neuspesno ciscenje logovanja");
                    var intent = new Intent(this, typeof(MainSwipePage));
                    intent.AddFlags(ActivityFlags.ClearTop | ActivityFlags.NewTask);
                    StartActivity(intent);

                    alert.Dismiss();

                    MSettings.CurrentSession.LoggedUser = MUtility.User_From_KorisnikFullDto(korisnik);

                    if (check.Checked)
                    {
                        ZapamtiKorisnika(clog.KIme_Mail, clog.Sifra);
                    }

                    this.Finish();
                }
                else
                {
                    alert.Dismiss();
                    MSettings.CurrentSession = null;
                    //Toast.MakeText(this, "Ovo nije korisnicki nalog!", ToastLength.Short).Show();
                    RunOnUiThread(() => Toast.MakeText(this, "Ovo nije korisnicki nalog!", ToastLength.Short).Show());
                }
            }
            catch (Exception ex)
            {
                alert.Dismiss();
                MSettings.CurrentSession = null;
                //Toast.MakeText(this, ex.Message, ToastLength.Short).Show();
                RunOnUiThread(() => Toast.MakeText(this, "Nepravilno korisnicko ime ili lozinka!", ToastLength.Short).Show());
            }
        }
        public static SesijaDto PrijavaKorisnika(ClientLoginDto cdto)
        {
            ISession s = SesijeProvajder.Sesija;

            List <Korisnik> korisnici = s.Query <Korisnik>().Select(k => k).ToList();

            /*
             * List<Korisnik> ko = (from k in korisnici
             *  where k.KorisnickoIme == cdto.KIme_Mail
             || k.Email == cdto.KIme_Mail
             || select k).ToList();
             ||
             ||if (ko.Count != 1)
             || return null;
             ||
             ||if (ko[0].Sifra != cdto.Sifra)
             || return null;
             ||
             ||if (ko[0].Obrisan)
             || return null;
             ||
             ||if (!ko[0].AktivanNalog)
             || return null;
             */

            Korisnik ko = korisnici.Find(x => x.KorisnickoIme == cdto.KIme_Mail ||
                                         x.Email == cdto.KIme_Mail);

            if (ko == null)
            {
                return(null);
            }

            if (ko.Obrisan)
            {
                return(null);
            }

            if (!ko.AktivanNalog)
            {
                return(null);
            }

            if (ko.Sifra != cdto.Sifra)
            {
                return(null);
            }

            LoginSesija sesija = new LoginSesija()
            {
                KorisnikSesije      = ko,
                IdSesije            = Guid.NewGuid().ToString(),
                DatumPrijavljivanja = DateTime.Now,
                ValidnaDo           = DateTime.Now.AddYears(1)
            };

            s.Save(sesija);
            s.Flush();

            SesijaDto sdto = new SesijaDto()
            {
                IdSesije            = sesija.IdSesije,
                IdKorisnika         = sesija.KorisnikSesije.IdKorisnika,
                DatumPrijavljivanja = sesija.DatumPrijavljivanja,
                ValidnaDo           = sesija.ValidnaDo
            };

            return(sdto);
        }