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); } } }
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); } } } }
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 { } }