public Data.Model.Users Insert(UserInsertUpdateRequest request) { var entity = _mapper.Map <Database.Users>(request); if (request.Username == null || request.Password == null || request.PasswordConfirmation == null) { throw new Exception("Username or Password or Password Confirmation is empty!"); } if (request.Password != request.PasswordConfirmation) { throw new Exception("Passwords are not matching"); } entity.PasswordSalt = GenerateSalt(); entity.PasswordHash = GenerateHash(entity.PasswordSalt, request.Password); entity.DateCreated = DateTime.Now; _context.Users.Add(entity); _context.SaveChanges(); var obj = _context.Users.Include(u => u.Role).Where(u => u.UserID == entity.UserID).SingleOrDefault(); var model = _mapper.Map <Data.Model.Users>(obj); model.RoleName = obj.Role.RoleName; return(model); }
public Data.Model.Users Update(int id, UserInsertUpdateRequest request) { var entity = _context.Users.Find(id); _context.Users.Attach(entity); _context.Users.Update(entity); entity.FirstName = request.FirstName; entity.LastName = request.LastName; entity.PhoneNumber = request.PhoneNumber; entity.Email = request.Email; entity.Username = request.Username; if (request.CityID > 0) { entity.CityID = request.CityID; } if (request.CarBrandID != null) { entity.CarBrandID = request.CarBrandID; } if (request.CarModelID != null) { entity.CarModelID = request.CarModelID; } entity.DateOfBirth = request.DateOfBirth; if (!string.IsNullOrEmpty(request.Password)) { entity.PasswordSalt = GenerateSalt(); entity.PasswordHash = GenerateHash(entity.PasswordSalt, request.Password); } _context.SaveChanges(); var obj = _context.Users.Include(u => u.Role).Where(u => u.UserID == entity.UserID).SingleOrDefault(); var model = _mapper.Map <Data.Model.Users>(obj); model.RoleName = obj.Role.RoleName; return(model); }
private async void btnSave_Click(object sender, EventArgs e) { if (ValidateChildren()) { var request = new UserInsertUpdateRequest() { FirstName = txtName.Text, LastName = txtLastName.Text, DateOfBirth = dateTimePicker.Value, CityID = int.Parse(cmbCities.SelectedValue.ToString()), Email = txtEmail.Text, PhoneNumber = txtPhoneNumber.Text, Username = txtUsername.Text, Password = txtPassword.Text, PasswordConfirmation = txtPasswordConfirmation.Text, RoleID = 1 }; var model = await _userService.Insert <Data.Model.Users>(request); CarServiceUpsertRequest csRequest = new CarServiceUpsertRequest() { CarServiceName = txtCarServiceName.Text, Street = txtStreet.Text, CityID = model.CityID, PhoneNumber = model.PhoneNumber, UserID = model.UserID, Owner = model.FirstName + " " + model.LastName }; var modelCS = await _carService.Insert <Data.Model.CarService>(csRequest); if (model != null && modelCS != null) { MessageBox.Show("Uspješno ste registrovali vaš auto servis. Logirajte se da bi pristupili u menu auto servisa.", "Information", MessageBoxButtons.OK, MessageBoxIcon.Information); } //frmLogin frm = new frmLogin(); //frm.Show(); this.Hide(); } }
public Users Update(int id, UserInsertUpdateRequest request) { return(_service.Update(id, request)); }
public Users Insert([FromBody] UserInsertUpdateRequest request) { return(_service.Insert(request)); }
async Task Register() { if (CityModel == null) { await Application.Current.MainPage.DisplayAlert("Greška", "Odaberi grad!", "Ok"); return; } if (CarModel == null) { await Application.Current.MainPage.DisplayAlert("Greška", "Odaberi model automobila!", "Ok"); return; } if (Password != PasswordConfirmation) { await Application.Current.MainPage.DisplayAlert("Greška", "Lozinke se ne podudaraju!", "Unesite ponovo"); return; } var listUsers = await _usersService.Get <List <Data.Model.Users> >(null); if (Username != null) { foreach (var item in listUsers) { if (Username == item.Username) { await Application.Current.MainPage.DisplayAlert("Greška", "Korisničko ime već postoji.", "Pokušajte ponovo"); return; } } } //Name if (string.IsNullOrWhiteSpace(FirstName) || FirstName.Length < 3) { await Application.Current.MainPage.DisplayAlert("Greška", "Ime je obavezno polje!Minimalna dužina mora biti 3 karaktera", "Ok"); return; } if (char.IsLower(FirstName[0])) { await Application.Current.MainPage.DisplayAlert("Greška", "Prvo slovo imena mora biti veliko!", "Ok"); return; } bool containsInt = FirstName.Any(char.IsDigit); if (containsInt) { await Application.Current.MainPage.DisplayAlert("Greška", "Brojevi u imenu nisu dozovljeni!", "Ok"); return; } //Last name if (string.IsNullOrWhiteSpace(LastName) || LastName.Length < 3) { await Application.Current.MainPage.DisplayAlert("Greška", "Prezime je obavezno polje!Minimalna dužina mora biti 3 karaktera", "Ok"); return; } if (char.IsLower(LastName[0])) { await Application.Current.MainPage.DisplayAlert("Greška", "Prvo slovo prezimena mora biti veliko!", "Ok"); return; } bool containsInta = LastName.Any(char.IsDigit); if (containsInta) { await Application.Current.MainPage.DisplayAlert("Greška", "Brojevi u prezimenu nisu dozovljeni!", "Ok"); return; } //Email if (string.IsNullOrWhiteSpace(Email)) { await Application.Current.MainPage.DisplayAlert("Greška", "Email je obavezno polje!", "Ok"); return; } if (!Regex.IsMatch(Email, @"([a-z]+)([\\.]?)([a-z]*)([@])(yahoo|outlook|gmail|hotmail|fit|edu.fit)(.ba|.com|.org)")) { await Application.Current.MainPage.DisplayAlert("Greška", "Email mora biti u formatu: nešto@(gmail,hotmail,fit,edu.fit,outlook,yahoo).(ba,com,org)", "Ok"); return; } //PhoneNumber if (string.IsNullOrWhiteSpace(PhoneNumber)) { await Application.Current.MainPage.DisplayAlert("Greška", "Broj telefona je obavezno polje!", "Ok"); return; } if (!Regex.IsMatch(PhoneNumber, @"(06[0-9])([/])([0-9]){3}([-])([0-9]){3}$")) { await Application.Current.MainPage.DisplayAlert("Greška", "Broj telefona mora biti u formatu: 06X/XXX-XXX", "Ok"); return; } //Username if (string.IsNullOrWhiteSpace(Username) || Username.Length < 3) { await Application.Current.MainPage.DisplayAlert("Greška", "Korisničko ime je obavezno polje!Minimalna dužina mora biti 3 karaktera", "Ok"); return; } if (string.IsNullOrWhiteSpace(Password)) { await Application.Current.MainPage.DisplayAlert("Greška", "Unesi lozinku!", "Ok"); return; } if (string.IsNullOrWhiteSpace(PasswordConfirmation)) { await Application.Current.MainPage.DisplayAlert("Greška", "Unesi potvrdu lozinke!", "Ok"); return; } var request = new UserInsertUpdateRequest() { FirstName = FirstName, LastName = LastName, DateOfBirth = DateOfBirth, Email = Email, PhoneNumber = PhoneNumber, Username = Username, Password = Password, PasswordConfirmation = PasswordConfirmation, CityID = CityModel.CityID, CarBrandID = CarModel.CarBrandID, CarModelID = CarModel.CarModelID, RoleID = 2 }; var modelUser = _usersService.Insert <Data.Model.Users>(request); if (modelUser != null) { await Application.Current.MainPage.DisplayAlert("Uspješno ste napravili profil.", "Sada se prijavite.", "Ok"); await Application.Current.MainPage.Navigation.PushModalAsync(new LoginPage()); } }
public async Task SaveChanges() { if (NewPassword != NewPasswordConfirmation) { await Application.Current.MainPage.DisplayAlert("Greška", "Nove Lozinke se ne podudaraju!", "Unesite ponovo"); return; } var listUsers = await _usersService.Get <List <Data.Model.Users> >(null); if (Username != null) { foreach (var item in listUsers) { if (Username == item.Username && item.UserID != APIService.UserID) { await Application.Current.MainPage.DisplayAlert("Greška", "Korisničko ime već postoji.", "Pokušajte ponovo"); return; } } } //Name if (string.IsNullOrWhiteSpace(FirstName) || FirstName.Length < 3) { await Application.Current.MainPage.DisplayAlert("Greška", "Ime je obavezno polje!Minimalna dužina mora biti 3 karaktera", "Ok"); return; } if (char.IsLower(FirstName[0])) { await Application.Current.MainPage.DisplayAlert("Greška", "Prvo slovo imena mora biti veliko!", "Ok"); return; } bool containsInt = FirstName.Any(char.IsDigit); if (containsInt) { await Application.Current.MainPage.DisplayAlert("Greška", "Brojevi u imenu nisu dozovljeni!", "Ok"); return; } //Last name if (string.IsNullOrWhiteSpace(LastName) || LastName.Length < 3) { await Application.Current.MainPage.DisplayAlert("Greška", "Prezime je obavezno polje!Minimalna dužina mora biti 3 karaktera", "Ok"); return; } if (char.IsLower(LastName[0])) { await Application.Current.MainPage.DisplayAlert("Greška", "Prvo slovo prezimena mora biti veliko!", "Ok"); return; } bool containsInta = LastName.Any(char.IsDigit); if (containsInta) { await Application.Current.MainPage.DisplayAlert("Greška", "Brojevi u prezimenu nisu dozovljeni!", "Ok"); return; } //Email if (string.IsNullOrWhiteSpace(Email)) { await Application.Current.MainPage.DisplayAlert("Greška", "Email je obavezno polje!", "Ok"); return; } if (!Regex.IsMatch(Email, @"([a-z]+)([\\.]?)([a-z]*)([@])(yahoo|outlook|gmail|hotmail|fit|edu.fit)(.ba|.com|.org)")) { await Application.Current.MainPage.DisplayAlert("Greška", "Email mora biti u formatu: nešto@(gmail,hotmail,fit,edu.fit,outlook,yahoo).(ba,com,org)", "Ok"); return; } //PhoneNumber if (string.IsNullOrWhiteSpace(PhoneNumber)) { await Application.Current.MainPage.DisplayAlert("Greška", "Broj telefona je obavezno polje!", "Ok"); return; } if (!Regex.IsMatch(PhoneNumber, @"(06[0-9])([/])([0-9]){3}([-])([0-9]){3}$")) { await Application.Current.MainPage.DisplayAlert("Greška", "Broj telefona mora biti u formatu: 06X/XXX-XXX", "Ok"); return; } //Username if (string.IsNullOrWhiteSpace(Username) || Username.Length < 3) { await Application.Current.MainPage.DisplayAlert("Greška", "Korisničko ime je obavezno polje!Minimalna dužina mora biti 3 karaktera", "Ok"); return; } var request = new UserInsertUpdateRequest() { FirstName = FirstName, LastName = LastName, DateOfBirth = DateOfBirth, Email = Email, PhoneNumber = PhoneNumber, Username = Username, //CityID = CityModel.CityID, //CarBrandID = CarModel.CarBrandID, //CarModelID = CarModel.CarModelID, RoleID = 2 }; if (CityModel != null) { request.CityID = CityModel.CityID; } if (CarModel != null) { request.CarModelID = CarModel.CarModelID; request.CarBrandID = CarModel.CarBrandID; } if (!string.IsNullOrEmpty(NewPassword)) { request.Password = NewPassword; request.PasswordConfirmation = NewPasswordConfirmation; } var modelUserUpdated = await _usersService.Update <Data.Model.Users>(APIService.UserID, request); if (modelUserUpdated != null) { await Application.Current.MainPage.DisplayAlert("Uspješno", "Izmijene uspješno napravljenje. Prijavite se ponovo da bi se podaci osvježili.", "OK"); await Application.Current.MainPage.Navigation.PushModalAsync(new LoginPage()); } }