public static KorisnikFullDto KorisnikToFullDto(Korisnik k)
        {
            KorisnikFullDto korisnik = new KorisnikFullDto();

            korisnik.KorisnickoIme     = k.KorisnickoIme;
            korisnik.Email             = k.Email;
            korisnik.Ime               = k.Ime;
            korisnik.Prezime           = k.Prezime;
            korisnik.DatumRodjenja     = k.DatumRodjenja;
            korisnik.DatumRegistracije = k.DatumRegistracije;
            korisnik.BrojTelefona      = k.BrojTelefona;
            if (k.BrojIndeksa != null)
            {
                korisnik.BrojIndeksa = k.BrojIndeksa;
            }
            if (k.DatumVaziDo != null)
            {
                korisnik.DatumVaziDo = k.DatumVaziDo;
            }
            korisnik.AktivanNalog = k.AktivanNalog;
            korisnik.IdTipaNaloga = k.TipNaloga.IdTip;
            if (k.StudiraFakultet != null)
            {
                korisnik.IdFakulteta = k.StudiraFakultet.IdFakultet;
            }
            if (k.Objava != null)
            {
                korisnik.IdObjave = k.Objava.IdObjave;
            }
            if (k.IdKorisnika != 0)
            {
                korisnik.IdKorisnika = k.IdKorisnika;
            }
            return(korisnik);
        }
Пример #2
0
        public static User User_From_KorisnikFullDto(KorisnikFullDto korisnik)
        {
            User u = new User();

            u.AccountType = (User.UserAccountType)korisnik.IdTipaNaloga;
            u.Birthday    = korisnik.DatumRodjenja;
            if (korisnik.Email != null)
            {
                u.Email = korisnik.Email;
            }
            u.FirstName        = korisnik.Ime;
            u.LastName         = korisnik.Prezime;
            u.PhoneNumber      = korisnik.BrojTelefona;
            u.RegistrationDate = korisnik.DatumRegistracije;
            u.UserID           = korisnik.IdKorisnika;
            if (korisnik.KorisnickoIme != null)
            {
                u.Username = korisnik.KorisnickoIme;
            }

            u.IdFakulteta = (int)korisnik.IdFakulteta;
            u.BrojIdexa   = korisnik.BrojIndeksa;

            return(u);
        }
Пример #3
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);
            }
        }
Пример #4
0
        public static User GenerateUserFromDTO(KorisnikFullDto korisnik, bool loadImage = true)
        {
            User u = new User();

            u.UserID           = korisnik.IdKorisnika;
            u.Username         = korisnik.KorisnickoIme;
            u.Email            = korisnik.Email;
            u.FirstName        = korisnik.Ime;
            u.LastName         = korisnik.Prezime;
            u.Birthday         = korisnik.DatumRodjenja;
            u.RegistrationDate = korisnik.DatumRegistracije;
            u.PhoneNumber      = korisnik.BrojTelefona;
            u.ActiveAccount    = korisnik.AktivanNalog;
            u.AccountType      = (User.UserAccountType)korisnik.IdTipaNaloga;
            u.ActiveAccount    = korisnik.AktivanNalog;

            if (loadImage)
            {
                u.ProfilePicture = Api.GetUserImage(u.UserID);
            }
            if (u.AccountType == User.UserAccountType.Student)
            {
                u.ValidUntil = (DateTime)korisnik.DatumVaziDo;
                u.Index      = korisnik.BrojIndeksa;
                u.Faculty    = Faculty.Faculties.Find(x => x.FacultyID == korisnik.IdFakulteta);
            }
            return(u);
        }
Пример #5
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());
            }
        }
        //Korisnici koje admin sme da vidi - svi sem obrisanih
        public static List <KorisnikFullDto> VratiKorisnikeAdmin()
        {
            ISession        s         = SesijeProvajder.Sesija;
            List <Korisnik> korisnici = s.Query <Korisnik>().Select(x => x).ToList();

            korisnici.RemoveAll(x => x.Obrisan);

            List <KorisnikFullDto> rezultat = new List <KorisnikFullDto>();

            foreach (var VARIABLE in korisnici)
            {
                KorisnikFullDto k = KorisnikToFullDto(VARIABLE);
                rezultat.Add(k);
            }
            return(rezultat);
        }
Пример #7
0
 public static void LoadUserCard(int cardId)
 {
     try
     {
         KorisnikFullDto korisnik = Api.GetUserFullInfo(cardId);
         if (korisnik.IdTipaNaloga != (int)User.UserAccountType.Student)
         {
             throw new Exception("Nalog nije studentski");
         }
         LoadedCardUser = MUtility.GenerateUserFromDTO(korisnik);
         KorisnikStanjeDto stanje = Api.UserMealsCount(LoadedCardUser.UserID);
         LoadedCardUser.BreakfastCount = stanje.BrojDorucka;
         LoadedCardUser.LunchCount     = stanje.BrojRuckova;
         LoadedCardUser.DinnerCount    = stanje.BrojVecera;
     }
     catch (Exception ex)
     {
         MUtility.ShowException(ex);
     }
 }