Пример #1
0
        public async void SetPreferences()
        {
            var result = await _service.Get <List <Model.Korisnici> >(null);

            var resultUA = await _ua.Get <List <Model.UserActivity> >(null);

            Model.Korisnici    korisnik = null;
            Model.UserActivity user     = null;
            foreach (var item in result)
            {
                if (APIService.Username == item.KorisnickoIme)
                {
                    korisnik = item;
                }
            }
            if (korisnik != null)
            {
                foreach (var item in resultUA)
                {
                    if (korisnik.KorisnikId == item.KorisnikId)
                    {
                        user = item;
                    }
                }
                if (user != null)
                {
                    user.IsApartman  = APIService.Apartments;
                    user.IsAtrakcija = APIService.Atraction;
                    user.IsHotel     = APIService.Hotels;
                    user.IsKafic     = APIService.Coffeeshops;
                    user.IsNightClub = APIService.Nightclubs;
                    user.IsRestoran  = APIService.Food;

                    await _ua.Update <Model.UserActivity>(user.KorisnikId, user);
                }
                else
                {
                    var request = new UserActivityUpsertRequest
                    {
                        KorisnikId                    = korisnik.KorisnikId,
                        BrojPrijavljivanja            = 1,
                        BrojNeuspjesnihPrijavljivanja = 0,
                        Datum       = DateTime.Now,
                        Razlog      = "",
                        Onemogucen  = false,
                        IsApartman  = APIService.Apartments,
                        IsAtrakcija = APIService.Atraction,
                        IsHotel     = APIService.Hotels,
                        IsNightClub = APIService.Nightclubs,
                        IsKafic     = APIService.Coffeeshops,
                        IsRestoran  = APIService.Food
                    };
                    await _ua.Insert <Model.UserActivity>(request);
                }
            }
        }
Пример #2
0
        async Task Login()
        {
            IsBusy = true;
            APIService.Username = Username;
            APIService.Password = Password;
            var resultUA = await _uaservice.Get <List <Model.UserActivity> >(null);

            var result = await _service.Get <List <Model.Korisnici> >(null);

            Model.Korisnici korisnik   = new Model.Korisnici();
            bool            pronadjen  = false;
            bool            pronadjen2 = false;

            Model.UserActivity userActivity = null;
            bool udaljen = false;

            bool takeThis = false;

            if (udaljen == true)
            {
                await Application.Current.MainPage.DisplayAlert("You don't have permissions to access the application", "No access", "OK");
            }
            foreach (var temp in result)
            {
                if (temp.KorisnickoIme == Username)
                {
                    korisnik  = temp;
                    pronadjen = true;

                    hash = GenerateHash(korisnik.LozinkaSalt, Password);
                    if (temp.LozinkaHash == hash)
                    {
                        pronadjen2 = true;
                    }
                }
            }
            foreach (var item in resultUA)
            {
                if (item.KorisnikId == korisnik.KorisnikId)
                {
                    userActivity = item;
                    if (item.BrojNeuspjesnihPrijavljivanja >= 3)
                    {
                        item.Onemogucen = true;
                        udaljen         = true;
                    }
                }
            }
            if (pronadjen2 == true && pronadjen == true && udaljen == false)
            {
                try
                {
                    APIService.Username = Username;
                    APIService.Password = Password;
                    if (userActivity != null)
                    {
                        userActivity.BrojPrijavljivanja += 1;
                    }
                    await _service.Get <dynamic>(null);

                    Application.Current.MainPage = new UserPreferenceContentPage();
                    takeThis = true;
                }
                catch (Exception ex)
                {
                    //  MessageBox.Show(ex.Message, "Authentifikacija", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    await Application.Current.MainPage.DisplayAlert("Error", ex.Message, "OK");
                }
            }
            else if (pronadjen == true && udaljen == false)
            {
                if (userActivity != null)
                {
                    userActivity.BrojNeuspjesnihPrijavljivanja += 1;
                }
                takeThis = false;
                await Application.Current.MainPage.DisplayAlert("Try again", "Please enter correct username and/or password !", "OK");
            }
            else
            {
                //  MessageBox.Show("Molimo vas unesite ispravno korisničko ime i/ili lozinku", "Pokušajte ponovo", MessageBoxButtons.OK, MessageBoxIcon.Error);
                await Application.Current.MainPage.DisplayAlert("Try again", "Please enter correct username and/or password !", "OK");
            }
            try
            {
                if (userActivity != null)
                {
                    var request = new UserActivityUpsertRequest
                    {
                        KorisnikId                    = userActivity.KorisnikId,
                        BrojPrijavljivanja            = userActivity.BrojPrijavljivanja,
                        BrojNeuspjesnihPrijavljivanja = userActivity.BrojNeuspjesnihPrijavljivanja,
                        Datum       = DateTime.Now,
                        Razlog      = "",
                        Onemogucen  = false,
                        IsApartman  = userActivity.IsApartman,
                        IsAtrakcija = userActivity.IsAtrakcija,
                        IsHotel     = userActivity.IsHotel,
                        IsKafic     = userActivity.IsKafic,
                        IsNightClub = userActivity.IsNightClub,
                        IsRestoran  = userActivity.IsRestoran,
                    };
                    await _uaservice.Update <Model.UserActivity>(userActivity.KorisnikId, request);
                }
                else
                {
                    if (takeThis)
                    {
                        var request = new UserActivityUpsertRequest
                        {
                            KorisnikId                    = korisnik.KorisnikId,
                            BrojPrijavljivanja            = 1,
                            BrojNeuspjesnihPrijavljivanja = 0,
                            Datum      = DateTime.Now,
                            Razlog     = "",
                            Onemogucen = false
                        };
                        await _uaservice.Insert <Model.UserActivity>(request);
                    }
                    else
                    {
                        var request = new UserActivityUpsertRequest
                        {
                            KorisnikId                    = korisnik.KorisnikId,
                            BrojPrijavljivanja            = 0,
                            BrojNeuspjesnihPrijavljivanja = 1,
                            Datum      = DateTime.Now,
                            Razlog     = "",
                            Onemogucen = false
                        };
                        await _uaservice.Insert <Model.UserActivity>(request);
                    }
                }
            }
            catch
            {
            }
        }
        private async void btnSnimi_Click(object sender, EventArgs e)
        {
            var korid  = (Model.Korisnici)cmbOdaberiKorisnika.SelectedItem;
            var result = await _uaservice.Get <List <Model.UserActivity> >(null);

            bool vracanjePermisija = false;

            if (btnSnimi.Text == "Vrati permisije")
            {
                vracanjePermisija = true;
            }
            Model.UserActivity user = null;
            if (korid.KorisnikId != 0)
            {
                foreach (var item in result)
                {
                    if (item.KorisnikId == korid.KorisnikId)
                    {
                        user = item;
                    }
                }
                if (user == null)
                {
                    var request = new UserActivityUpsertRequest
                    {
                        KorisnikId                    = korid.KorisnikId,
                        BrojPrijavljivanja            = 0,
                        BrojNeuspjesnihPrijavljivanja = 0,
                        Datum      = DateTime.Now,
                        Razlog     = richTextBox1.Text,
                        Onemogucen = true
                    };
                    await _uaservice.Insert <Model.UserActivity>(request);
                }
                else
                {
                    if (vracanjePermisija)
                    {
                        var request = new UserActivityUpsertRequest
                        {
                            KorisnikId                    = korid.KorisnikId,
                            BrojPrijavljivanja            = user.BrojPrijavljivanja,
                            BrojNeuspjesnihPrijavljivanja = user.BrojNeuspjesnihPrijavljivanja,
                            Datum      = DateTime.Now,
                            Razlog     = richTextBox1.Text,
                            Onemogucen = false
                        };
                        await _uaservice.Update <Model.UserActivity>(korisnik.KorisnikId, request);

                        MessageBox.Show("Uspješno ste unbanovali korisnika", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                    else
                    {
                        var request = new UserActivityUpsertRequest
                        {
                            KorisnikId                    = korid.KorisnikId,
                            BrojPrijavljivanja            = user.BrojPrijavljivanja,
                            BrojNeuspjesnihPrijavljivanja = user.BrojNeuspjesnihPrijavljivanja,
                            Datum      = DateTime.Now,
                            Razlog     = richTextBox1.Text,
                            Onemogucen = true
                        };
                        await _uaservice.Update <Model.UserActivity>(korisnik.KorisnikId, request);

                        MessageBox.Show("Uspješno ste banovali korisnika", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    }
                }
            }
        }
Пример #4
0
        private async void btnLogin_Click(object sender, EventArgs e)
        {
            var result = await _service.Get <List <Model.Korisnici> >(null);

            var resultUA = await _uaservice.Get <List <Model.UserActivity> >(null);

            Model.Korisnici korisnik   = new Model.Korisnici();
            bool            pronadjen  = false;
            bool            pronadjen2 = false;


            foreach (var temp in result)
            {
                if (temp.KorisnickoIme == txtUsername.Text)
                {
                    korisnik  = temp;
                    pronadjen = true;
                    hash      = GenerateHash(korisnik.LozinkaSalt, txtPassword.Text);
                    if (temp.LozinkaHash == hash)
                    {
                        pronadjen2 = true;
                    }
                }
            }
            Model.UserActivity userActivity = null;
            bool udaljen = false;

            foreach (var item in resultUA)
            {
                if (item.KorisnikId == korisnik.KorisnikId)
                {
                    userActivity = item;
                    if (item.BrojNeuspjesnihPrijavljivanja >= 3)
                    {
                        item.Onemogucen = true;
                        MessageBox.Show("Nemate pravo pristupa", "Authentifikacija", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        udaljen = true;
                    }
                }
            }
            bool takeThis = false;

            if (udaljen == true)
            {
                MessageBox.Show("Banovani ste sa sistema!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            if (pronadjen2 == true && pronadjen == true && udaljen == false)
            {
                try
                {
                    APIService.Username = txtUsername.Text;
                    APIService.Password = txtPassword.Text;
                    if (userActivity != null)
                    {
                        userActivity.BrojPrijavljivanja += 1;
                    }
                    await _service.Get <dynamic>(null);

                    frmMenu frmMenu = new frmMenu();
                    frmMenu.Show();
                    //this.Hide();
                    takeThis = true;
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, "Authentifikacija", MessageBoxButtons.OK, MessageBoxIcon.Error);
                    if (userActivity != null)
                    {
                        userActivity.BrojNeuspjesnihPrijavljivanja += 1;
                    }
                    takeThis = false;
                }
            }
            else if (pronadjen == true && udaljen == false)
            {
                if (userActivity != null)
                {
                    userActivity.BrojNeuspjesnihPrijavljivanja += 1;
                }
                takeThis = false;
                MessageBox.Show("Molimo vas unesite ispravno korisničko ime i/ili lozinku", "Pokušajte ponovo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                MessageBox.Show("Molimo vas unesite ispravno korisničko ime i/ili lozinku", "Pokušajte ponovo", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            try
            {
                if (userActivity != null)
                {
                    var request = new UserActivityUpsertRequest
                    {
                        KorisnikId                    = userActivity.KorisnikId,
                        BrojPrijavljivanja            = userActivity.BrojPrijavljivanja,
                        BrojNeuspjesnihPrijavljivanja = userActivity.BrojNeuspjesnihPrijavljivanja,
                        Datum                     = DateTime.Now,
                        Razlog                    = "",
                        Onemogucen                = false,
                        IsApartman                = userActivity.IsApartman,
                        IsAtrakcija               = userActivity.IsAtrakcija,
                        IsHotel                   = userActivity.IsHotel,
                        IsKafic                   = userActivity.IsKafic,
                        IsNightClub               = userActivity.IsNightClub,
                        IsRestoran                = userActivity.IsRestoran,
                        BrojApartmanaFavoriti     = userActivity.BrojApartmanaFavoriti,
                        BrojAtrakcijaFavoriti     = userActivity.BrojApartmanaFavoriti,
                        BrojHotelaFavoriti        = userActivity.BrojHotelaFavoriti,
                        BrojKaficaFavoriti        = userActivity.BrojKaficaFavoriti,
                        BrojNocnihKlubovaFavoriti = userActivity.BrojNocnihKlubovaFavoriti,
                        BrojRestoranaFavoriti     = userActivity.BrojRestoranaFavoriti,
                    };
                    //privremeno
                    request.BrojNeuspjesnihPrijavljivanja = 0;
                    await _uaservice.Update <Model.UserActivity>(userActivity.KorisnikId, request);
                }
                else
                {
                    if (takeThis)
                    {
                        var request = new UserActivityUpsertRequest
                        {
                            KorisnikId                    = korisnik.KorisnikId,
                            BrojPrijavljivanja            = 1,
                            BrojNeuspjesnihPrijavljivanja = 0,
                            Datum      = DateTime.Now,
                            Razlog     = "",
                            Onemogucen = false
                        };
                        await _uaservice.Insert <Model.UserActivity>(request);
                    }
                    else
                    {
                        var request = new UserActivityUpsertRequest
                        {
                            KorisnikId                    = korisnik.KorisnikId,
                            BrojPrijavljivanja            = 0,
                            BrojNeuspjesnihPrijavljivanja = 1,
                            Datum      = DateTime.Now,
                            Razlog     = "",
                            Onemogucen = false
                        };
                        await _uaservice.Insert <Model.UserActivity>(request);
                    }
                }
            }
            catch
            {
            }
        }