public Model.Klijent UpdateProfile(KlijentInsertRequest request) { int KlijentId = Security.BasicAuthenticationHandler.PrijavljeniKlijent.KlijentID; var entity = db.Klijenti.Where(x => x.KlijentID == KlijentId).FirstOrDefault(); //db.Klijenti.Attach(entity); //db.Klijenti.Update(entity); if (!string.IsNullOrEmpty(request.LozinkaHash)) { if (request.LozinkaHash != request.LozinkaProvjera) { throw new System.Exception("Lozinke se ne slažu"); } entity.LozinkaSalt = GenerateSalt(); entity.LozinkaHash = GenerateHash(entity.LozinkaSalt, request.LozinkaHash); } entity.KorisnickoIme = request.KorisnickoIme; db.SaveChanges(); return(mapper.Map <Model.Klijent>(entity)); }
async Task Registracija() { KlijentInsertRequest request = null; bool goodreq = true; if (datumrodjenja == null || SelectedSpol == null || email == null || ime == null || prezime == null || korisnickoime == null || lozinka == null || lozinkaprovjera == null || _SelectedGrad == null) { await App.Current.MainPage.DisplayAlert("Obavijest", "Niste popunili sva polja", "OK"); goodreq = false; } if (goodreq == true) { request = new KlijentInsertRequest { DatumRodenja = datumrodjenja, SpolID = SelectedSpol.SpolID, Email = email, Ime = ime, Prezime = prezime, KorisnickoIme = korisnickoime, LozinkaHash = lozinka, LozinkaProvjera = lozinkaprovjera, GradID = SelectedGrad.Id, UlogaId = 2, }; } Klijent novikorisnik = null; if (request != null) { bool greska = false; var hasNumber = new Regex(@"[0-9]+"); var hasUpperChar = new Regex(@"[A-Z]+"); var hasMinimum8Chars = new Regex(@".{8,}"); if (!hasNumber.IsMatch(request.LozinkaHash) || !hasUpperChar.IsMatch(request.LozinkaHash) || !hasMinimum8Chars.IsMatch(request.LozinkaHash)) { await App.Current.MainPage.DisplayAlert("Obavijest", "Lozinka mora imati brojeve,velika slova i minimum 8 karaktera", "OK"); greska = true; } if (request.LozinkaHash != request.LozinkaProvjera) { await App.Current.MainPage.DisplayAlert("Obavijest", "Lozinke nisu iste ", "OK"); greska = true; } var korisnici = await _service.get <List <Klijent> >(null); foreach (var k in korisnici) { if (k.KorisnickoIme == request.KorisnickoIme) { await App.Current.MainPage.DisplayAlert("Obavijest", "Korisnicko ime već postoji", "OK"); greska = true; break; } } foreach (var k in korisnici) { if (k.Email == request.Email) { await App.Current.MainPage.DisplayAlert("Obavijest", "Email je već iskorišten", "OK"); greska = true; break; } } if (greska != true) { novikorisnik = await _service.Insert <Klijent>(request); } } if (novikorisnik != null) { await App.Current.MainPage.DisplayAlert("Obavijest", "Uspjesno ste se registrovali", "OK"); APIService.PrijavljeniKorisnik = null; APIService.username = null; APIService.password = null; Application.Current.MainPage = new LoginPage(); } else { await App.Current.MainPage.DisplayAlert("Obavijest", "Registracija nije uspjela", "OK"); } }
private async void btnSnimi_Click(object sender, EventArgs e) { if (this.ValidateChildren()) { var request = new KlijentInsertRequest(); request.Ime = textIme.Text; request.Prezime = textPrezime.Text; request.KorisnickoIme = textKorisnickoIme.Text; request.Email = textEmail.Text; //request.DatumRodenja = DateTime.Now; request.LozinkaHash = textPassword.Text; request.LozinkaProvjera = textPasswordPotvrda.Text; request.DatumRodenja = dateDatum.Value; request.GradID = (cmbGradovi.SelectedItem as Model.Grad).Id; request.SpolID = (cmbSpol.SelectedItem as Model.Spol).SpolID; request.UlogaId = (cmbUloga.SelectedItem as Model.Uloga).UlogaId; var klijenti = await service.get <List <Klijent> >(null); if (id.HasValue) { var klijent = await service.getbyId <Klijent>(id); bool greska = false; bool greska2 = false; foreach (var k in klijenti) { if (k.Email == textEmail.Text && k.Email != klijent.Email) { greska = true; break; } if (k.KorisnickoIme == textKorisnickoIme.Text && k.KorisnickoIme != klijent.KorisnickoIme) { greska2 = true; break; } } if (greska == true) { MessageBox.Show("Email je vec iskorišten"); return; } if (greska2 == true) { MessageBox.Show("Korisnicko ime je vec iskorišteno"); return; } await service.Update <Model.Klijent>(id, request); MessageBox.Show("Operacija uspjesna"); Close(); } else { bool greska = false; bool greska2 = false; foreach (var k in klijenti) { if (k.Email == textEmail.Text) { greska = true; break; } if (k.KorisnickoIme == textKorisnickoIme.Text) { greska2 = true; break; } } if (greska == true) { MessageBox.Show("Email je vec iskorišten"); return; } if (greska2 == true) { MessageBox.Show("Korisnicko ime je vec iskorišteno"); return; } await service.Insert <Model.Klijent>(request); MessageBox.Show("Operacija uspjesna"); Close(); } } }
async Task Snimi() { int id = APIService.PrijavljeniKorisnik.KlijentID; Klijent korisnikrequest = await _service.getbyId <Klijent>(id); if (!string.IsNullOrEmpty(lozinka) && !string.IsNullOrEmpty(lozinkaprovjera)) { if (string.IsNullOrEmpty(korisnickoime)) { korisnickoime = korisnikrequest.KorisnickoIme; } var request = new KlijentInsertRequest { KlijentID = korisnikrequest.KlijentID, DatumRodenja = korisnikrequest.DatumRodenja, SpolID = korisnikrequest.SpolID, Email = korisnikrequest.Email, Ime = korisnikrequest.Ime, Prezime = korisnikrequest.Prezime, KorisnickoIme = korisnickoime, LozinkaHash = lozinka, LozinkaProvjera = lozinkaprovjera, GradID = korisnikrequest.GradID, UlogaId = 2, }; if (lozinka != lozinkaprovjera) { await App.Current.MainPage.DisplayAlert("Obavijest", "Lozinke nisu iste", "OK"); return; } var korisnici = await _service.get <List <Klijent> >(null); foreach (var k in korisnici) { if (korisnickoime == k.KorisnickoIme && korisnickoime != korisnikrequest.KorisnickoIme) { await App.Current.MainPage.DisplayAlert("Obavijest", "Korisnicko ime koje ste unijeli vec postoji", "OK"); return; } } var hasNumber = new Regex(@"[0-9]+"); var hasUpperChar = new Regex(@"[A-Z]+"); var hasMinimum8Chars = new Regex(@".{8,}"); if (!hasNumber.IsMatch(lozinka) || !hasUpperChar.IsMatch(lozinka) || !hasMinimum8Chars.IsMatch(Lozinka)) { await App.Current.MainPage.DisplayAlert("Obavijest", "Lozinka mora imati brojeve,velika slova i minimum 8 karaktera", "OK"); return; } if (!hasNumber.IsMatch(lozinkaprovjera) || !hasUpperChar.IsMatch(lozinkaprovjera) || !hasMinimum8Chars.IsMatch(lozinkaprovjera)) { await App.Current.MainPage.DisplayAlert("Obavijest", "Lozinka mora imati brojeve,velika slova i minimum 8 karaktera", "OK"); return; } if (lozinkaprovjera == lozinka) { await App.Current.MainPage.DisplayAlert("Obavijest", "Nisu iste lozinke", "OK"); return; } await _service.UpdateProfie <Klijent>(request, "UpdateProfile"); APIService.password = lozinka; APIService.username = korisnickoime; await App.Current.MainPage.DisplayAlert("Obavijest", "Uspjesno ste promjenili lozinku", "OK"); } else { var request = new KlijentInsertRequest { KlijentID = korisnikrequest.KlijentID, DatumRodenja = korisnikrequest.DatumRodenja, SpolID = korisnikrequest.SpolID, Email = korisnikrequest.Email, Ime = korisnikrequest.Ime, Prezime = korisnikrequest.Prezime, KorisnickoIme = korisnickoime, GradID = korisnikrequest.GradID, UlogaId = 2, }; if (string.IsNullOrEmpty(korisnickoime)) { await App.Current.MainPage.DisplayAlert("Obavijest", "Korisnicko ime mora sadrzavati barem jedan karakter", "OK"); return; } var korisnici = await _service.get <List <Klijent> >(null); foreach (var k in korisnici) { if (korisnickoime == k.KorisnickoIme && korisnickoime != korisnikrequest.KorisnickoIme) { await App.Current.MainPage.DisplayAlert("Obavijest", "Korisnicko ime koje ste unijeli vec postoji", "OK"); return; } } await _service.Update <Klijent>(id, request); APIService.username = korisnickoime; await App.Current.MainPage.DisplayAlert("Obavijest", "Uspjesno ste promijenili korisnicko ime", "OK"); } Application.Current.MainPage = new MainPage(); }