public KorisnikEditRequest GetKorisnikEdit(int id) { var entity = _context.Korisnik.Find(id); if (entity != null) { KorisnikEditRequest k = _mapper.Map <KorisnikEditRequest>(entity); return(k); } else { return(null); } }
public KorisnikEditRequest Update(KorisnikEditRequest model, int id) { if (model.Sifra == model.SifraPonovo) { var user = _context.Korisnik.FirstOrDefault(x => x.KorisnickoIme == model.KorisnickoIme); if (user != null) { if (_context.Korisnik.Where(x => x.KorisnickoIme == model.KorisnickoIme).Any()) { model.Response = "Korisničko ime je zauzeto"; return(model); } user.Ime = model.Ime; user.Prezime = model.Prezime; user.BrojTelefona = model.BrojTelefona; user.Email = model.Email; user.KorisnickoIme = model.KorisnickoIme; var newHash = GenerateHash(user.SifraSalt, model.Sifra); if (newHash == user.SifraHash) { user.SifraSalt = GenerateSalt(); user.SifraHash = GenerateHash(user.SifraSalt, model.Sifra); _context.Set <Korisnik>().Attach(user); _context.Set <Korisnik>().Update(user); _context.SaveChanges(); } } return(model); } else { return(null); } }
async Task Register() { if (!Postojeci) { if (Ime == null || Ime.Length < 3) { await Application.Current.MainPage.DisplayAlert("Greška", "Ime nije pravilno uneseno!", "Ok"); return; } if (Prezime == null || Prezime.Length < 3) { await Application.Current.MainPage.DisplayAlert("Greška", "Prezime nije pravilno uneseno!", "Ok"); return; } Regex regex = new Regex(@"^\d+$"); if (!regex.Match(JMBG).Success || JMBG.Length != 13) { await Application.Current.MainPage.DisplayAlert("Greška", "JMBG nije pravilno unesen!", "Ok"); return; } bool isPhone = Regex.IsMatch(BrojTelefona, @"\(?\d{3}\)?-? *\d{3}-? *-?\d{4}"); if (isPhone || BrojTelefona.Length < 8) { await Application.Current.MainPage.DisplayAlert("Greška", "Telefon je neispravno unesen!", "Ok"); return; } if (DatumRodjenja != null) { if (DatumRodjenja > DateTime.Today) { await Application.Current.MainPage.DisplayAlert("Greška", "Datum je neispravno unesen!", "Ok"); return; } } bool isEmail = Regex.IsMatch(Email, @"\A(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\Z", RegexOptions.IgnoreCase); if (!isEmail || Email.Length < 6) { await Application.Current.MainPage.DisplayAlert("Greška", "E-Mail je neispravno unesen!", "Ok"); return; } if (KorisnickoIme == null || KorisnickoIme.Length < 3) { await Application.Current.MainPage.DisplayAlert("Greška", "Korisnicko Ime nije pravilno uneseno!", "Ok"); return; } if (Sifra == null || Sifra.Length < 6) { await Application.Current.MainPage.DisplayAlert("Greška", "Šifra mora biti duža od 6 karaktera!", "Ok"); return; } if (SifraPonovo == Sifra && Sifra != null) { KorisnikInsertRequest request = new KorisnikInsertRequest { Ime = Ime, Prezime = Prezime, Jmbg = JMBG, KorisnickoIme = KorisnickoIme, IsAdmin = false, Sifra = Sifra, Role = 3, Email = Email, BrojTelefona = BrojTelefona, DatumRodjenja = DatumRodjenja }; request = await service.Register <KorisnikInsertRequest>(request); if (request.Response == null) { Application.Current.MainPage = new LoginPage(); } else { await Application.Current.MainPage.DisplayAlert("Greška", request.Response, "OK"); } return; } else { await Application.Current.MainPage.DisplayAlert("Greška", "Šifre nisu iste", "Ok"); return; } } else { if (Ime == null || Ime.Length < 3) { await Application.Current.MainPage.DisplayAlert("Greška", "Ime nije pravilno uneseno!", "Ok"); return; } if (Prezime == null || Prezime.Length < 3) { await Application.Current.MainPage.DisplayAlert("Greška", "Prezime nije pravilno uneseno!", "Ok"); return; } Regex regex = new Regex(@"^\d+$"); if (!regex.Match(JMBG).Success || JMBG.Length != 13) { await Application.Current.MainPage.DisplayAlert("Greška", "JMBG nije pravilno unesen!", "Ok"); return; } bool isPhone = Regex.IsMatch(BrojTelefona, @"\(?\d{3}\)?-? *\d{3}-? *-?\d{4}"); if (isPhone || BrojTelefona.Length < 8) { await Application.Current.MainPage.DisplayAlert("Greška", "Telefon je neispravno unesen!", "Ok"); return; } if (DatumRodjenja != null) { if (DatumRodjenja > DateTime.Today) { await Application.Current.MainPage.DisplayAlert("Greška", "Datum je neispravno unesen!", "Ok"); return; } } bool isEmail = Regex.IsMatch(Email, @"\A(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\Z", RegexOptions.IgnoreCase); if (!isEmail || Email.Length < 6) { await Application.Current.MainPage.DisplayAlert("Greška", "E-Mail je neispravno unesen!", "Ok"); return; } if (KorisnickoIme == null || KorisnickoIme.Length < 3) { await Application.Current.MainPage.DisplayAlert("Greška", "Korisnicko Ime nije pravilno uneseno!", "Ok"); return; } if (Sifra == null || Sifra.Length < 6) { await Application.Current.MainPage.DisplayAlert("Greška", "Šifra mora biti duža od 6 karaktera!", "Ok"); return; } if (SifraPonovo == Sifra && Sifra != null) { KorisnikEditRequest request = new KorisnikEditRequest { KorisnikId = KorisnikId, Ime = Ime, Prezime = Prezime, Jmbg = JMBG, KorisnickoIme = KorisnickoIme, Sifra = Sifra, Email = Email, BrojTelefona = BrojTelefona, DatumRodjenja = DatumRodjenja }; await service.Update <KorisnikEditRequest>(KorisnikId, request); KorisnikModel k = new KorisnikModel { Ime = Ime, Prezime = Prezime, KorisnickoIme = KorisnickoIme }; Application.Current.MainPage = new PocetnaPage(k); } } }
public KorisnikEditRequest Update(KorisnikEditRequest Model, int id) { return(_korisnikService.Update(Model, id)); }
private async void btn_Save_Click(object sender, EventArgs e) { bool valid = true; if (tb_Ime.Text == null || tb_Ime.Text.Length < 3) { MessageBox.Show("Ime nije pravilno uneseno", "Greška", MessageBoxButtons.OK); valid = false; } if (tb_Prezime.Text == null || tb_Prezime.Text.Length < 3) { MessageBox.Show("Prezime nije pravilno uneseno", "Greška", MessageBoxButtons.OK); valid = false; } Regex regex = new Regex(@"^\d+$"); if (!regex.Match(tb_JMBG.Text).Success || tb_JMBG.Text.Length != 13) { MessageBox.Show("JMBG nije pravilno unesen", "Greška", MessageBoxButtons.OK); valid = false; } bool isPhone = Regex.IsMatch(tb_Telefon.Text, @"\(?\d{3}\)?-? *\d{3}-? *-?\d{4}"); if (isPhone || tb_Telefon.Text.Length < 8) { MessageBox.Show("Telefon nije pravilno unesen", "Greška", MessageBoxButtons.OK); valid = false; } if (tb_Datum.Text != null) { if (Convert.ToDateTime(tb_Datum.Text) > DateTime.Today) { MessageBox.Show("Datum nije pravilno unesen", "Greška", MessageBoxButtons.OK); valid = false; } } bool isEmail = Regex.IsMatch(tb_Email.Text, @"\A(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?)\Z", RegexOptions.IgnoreCase); if (!isEmail || tb_Email.Text.Length < 6) { MessageBox.Show("E-Mail nije pravilno unesen", "Greška", MessageBoxButtons.OK); valid = false; } if (tb_Username.Text == null || tb_Username.Text.Length < 3) { MessageBox.Show("Korisničko ime nije pravilno uneseno", "Greška", MessageBoxButtons.OK); valid = false; } if (tb_Password.Text == null || tb_Password.Text.Length < 6) { MessageBox.Show("Šifra nije pravilno unesena", "Greška", MessageBoxButtons.OK); valid = false; } if (tb_Password.Text != tb_Passwordrepeat.Text) { MessageBox.Show("Šifre se ne poklapaju", "Greška", MessageBoxButtons.OK); valid = false; } if (valid) { if (cb_Uloga.Visible == false) { if (_KorisnikId > 0 && _Role > 0) { KorisnikEditRequest request = new KorisnikEditRequest { Ime = tb_Ime.Text, Prezime = tb_Prezime.Text, Jmbg = tb_JMBG.Text, Sifra = tb_Password.Text, Email = tb_Email.Text, BrojTelefona = tb_Telefon.Text, DatumRodjenja = Convert.ToDateTime(tb_Datum.Text), KorisnickoIme = tb_Username.Text, KorisnikId = _KorisnikId, SifraPonovo = tb_Passwordrepeat.Text }; request = await _KorisnikService.Update <KorisnikEditRequest>(_KorisnikId, request); if (request.Response == string.Empty) { Close(); } else { MessageBox.Show(request.Response); } } } else if (_Role == 0 && cb_Uloga.SelectedIndex > 0) { KorisnikInsertRequest request = new KorisnikInsertRequest { Ime = tb_Ime.Text, Prezime = tb_Prezime.Text, Jmbg = tb_JMBG.Text, Sifra = tb_Password.Text, Email = tb_Email.Text, BrojTelefona = tb_Telefon.Text, DatumRodjenja = Convert.ToDateTime(tb_Datum.Text), KorisnickoIme = tb_Username.Text, Role = cb_Uloga.SelectedIndex }; request = await _KorisnikService.Register <KorisnikInsertRequest>(request); if (request.Response == null) { Close(); } else { MessageBox.Show(request.Response); } } } }