private async void btnSaveUser_Click(object sender, EventArgs e) { if (this.ValidateChildren()) { var request = new UsersInsertRequest() { Email = txtEmail.Text, FirstName = txtName.Text, LastName = txtLastName.Text, PasswordHash = txtPassword.Text, PasswordSalt = txtPassConfirmation.Text, PhoneNumber = txtPhoneNumber.Text, Username = txtUsername.Text, TypeOfUserId = Convert.ToInt32(numTypeOfUser.Value), Status = cbActive.Checked }; if (_userID.HasValue) { await _userService.Update <User>(_userID, request); } else { await _userService.Insert <User>(request); } MessageBox.Show("Operation successfully performed!"); this.Close(); } }
public Model.Users Update(int id, UsersInsertRequest request) { if (!string.IsNullOrWhiteSpace(request.Password)) //check pass, if passe exist { if (request.Password != request.PasswordConfirmation) //check similarity { throw new Exception("Password is not the same!"); } } var entity = _context.Users.Find(id); entity.PasswordSalt = GenerateSalt(); entity.PasswordHash = GenerateHash(entity.PasswordSalt, request.Password); foreach (var userTypes in request.UserTypes) { _context.UsersUserTypes.Add(new Database.UsersUserTypes() { UserId = entity.Id, UserTypeId = userTypes, ModifiedDate = DateTime.Now, IsActive = true }); } _context.Users.Attach(entity); _context.Users.Update(entity); _mapper.Map(request, entity); _context.SaveChanges(); _context.SaveChanges(); //save it return(_mapper.Map <Model.Users>(entity)); //return our model, than go to controller }
public Model.Users Insert(UsersInsertRequest request) { var entity = _mapper.Map <Database.Users>(request); if (request.Password != request.PasswordConfirmation) { throw new UserException("Passwords don't match!"); } entity.PasswordSalt = GenerateSalt(); entity.PasswordHash = GenerateHash(entity.PasswordSalt, request.Password); _context.Users.Add(entity); _context.SaveChanges(); foreach (var userTypes in request.UserTypes) { _context.UsersUserTypes.Add(new Database.UsersUserTypes() { UserId = entity.Id, UserTypeId = userTypes, ModifiedDate = DateTime.Now, IsActive = true }); } _context.SaveChanges(); return(_mapper.Map <Model.Users>(entity)); }
//public Model.User Update(int id, UsersInsertRequest request) //{ // var entity = _rentSiteContext.User.Find(id); // _mapper.Map(request, entity); // _rentSiteContext.SaveChanges(); // if (!string.IsNullOrWhiteSpace(request.PasswordHash)) // { // if (request.PasswordHash != request.PasswordSalt) // { // throw new Exception("Passwords must be equale!"); // } // } // _rentSiteContext.SaveChanges(); // return _mapper.Map<Model.User>(entity); //} public Model.User Update(int id, UsersInsertRequest request) //napravljena izmjena nad update i u recommenderu isto { var entity = _rentSiteContext.User.Find(id); _mapper.Map(request, entity); if (!string.IsNullOrWhiteSpace(request.PasswordHash) && !string.IsNullOrWhiteSpace(request.PasswordSalt)) { entity.PasswordSalt = GenerateSalt(); entity.PasswordHash = GenerateHash(entity.PasswordSalt, request.PasswordSalt); } else { throw new Exception("Can not change!"); } _rentSiteContext.SaveChanges(); if (!string.IsNullOrWhiteSpace(request.PasswordHash)) { if (request.PasswordHash != request.PasswordSalt) { throw new Exception("Passwords must be equale!"); } } _rentSiteContext.SaveChanges(); return(_mapper.Map <Model.User>(entity)); }
public Model.Users InsertAdmin(UsersInsertRequest request) { var entity = _mapper.Map <Database.Users>(request); if (request.Password != request.PasswordConfirmation) { throw new UserException("Passwords do not match"); } if (CheckUsernameExists(request.Username)) { throw new UserException("Username is already taken."); } if (CheckEmailExists(request.Email)) { throw new UserException("Email is already taken."); } entity.PasswordSalt = GenerateSalt(); entity.PasswordHash = GenerateHash(entity.PasswordSalt, request.Password); entity.RoleId = _context.Roles.Where(x => x.Name == "Administrator").FirstOrDefault().Id; entity.DateRegistered = DateTime.Now; _context.Users.Add(entity); _context.SaveChanges(); return(_mapper.Map <Model.Users>(entity)); }
public Model.User Insert(UsersInsertRequest request) { var entity = _mapper.Map <User>(request); if (request.PasswordHash != request.PasswordSalt) { throw new Exception("Passwords must be equale!"); } entity.PasswordSalt = GenerateSalt(); entity.PasswordHash = GenerateHash(entity.PasswordSalt, request.PasswordSalt); entity.TypeOfUserId = request.TypeOfUserId; _rentSiteContext.User.Add(entity); _rentSiteContext.SaveChanges(); return(_mapper.Map <Model.User>(entity)); }
public async Task Register() { try { List <int> userTypes = new List <int>(); userTypes.Add((int)eNatureBeauty.Model.Enums.UserTypes.User); UserAddressesUpsertRequest userAddressesUpserRequest = new UserAddressesUpsertRequest { AddressName = Address, City = City, Country = Country, }; var address = await _addressesService.Insert <Model.UserAddresses>(userAddressesUpserRequest); UsersInsertRequest request = new UsersInsertRequest { Email = Email, FirstName = FirstName, LastName = LastName, Password = Password, PasswordConfirmation = PasswordConf, Status = true, Telephone = Telephone, UserName = UserName, UserTypes = userTypes, UserAddressId = address.Id }; var user = await _service.Insert <Model.Users>(request); Global.LoggedUser = user; Application.Current.MainPage = new MainPage(user); await Application.Current.MainPage.DisplayAlert("Success", "Welcome new User!", "OK"); } catch { await Application.Current.MainPage.DisplayAlert("Error", "Error", "OK"); } }
public async Task SaveUserProfil() { try { var gettedUser = Global.LoggedUser; var forUserAddress = await _usersService.GetById <Model.Users>(gettedUser.Id); var userInts = new List <int>(); if (gettedUser.UserTypes == null) { userInts.Add((int)Model.Enums.UserTypes.User); } else { foreach (var item in gettedUser.UserTypes) { userInts.Add(item.UserTypeId); } } if (forUserAddress.UserAddressId == null) { forUserAddress.UserAddressId = 1; } UsersInsertRequest request = new UsersInsertRequest(); request.Id = gettedUser.Id; request.Email = gettedUser.Email; request.Status = true; request.FirstName = gettedUser.FirstName; request.LastName = gettedUser.LastName; request.Password = Password; request.PasswordConfirmation = PasswordConf; request.Telephone = gettedUser.Telephone; request.UserName = gettedUser.UserName; request.UserTypes = userInts; request.UserAddressId = forUserAddress.UserAddressId; if (request != null) { if (!User.FirstName.Equals("")) { request.FirstName = User.FirstName; } if (!User.LastName.Equals("")) { request.LastName = User.LastName; } if (!User.Telephone.Equals("")) { request.Telephone = User.Telephone; } await _usersService.Update <Model.Users>(request.Id, request); var glob = await _usersService.GetById <Model.Users>(request.Id); Global.LoggedUser = glob; await Application.Current.MainPage.DisplayAlert("Success", "Successfuly edited! ", "OK"); } else { await Application.Current.MainPage.DisplayAlert("Error", "Cannot save right now, try later!", "OK"); } } catch (Exception ex) { await Application.Current.MainPage.DisplayAlert("Error", ex.Message, "OK"); } }
private async void btnSave_Click(object sender, EventArgs e) { if (!checkPhonenumber(txtTelephone.Text)) { MessageBox.Show("Telephone number contains letters!"); return; } if (ValidateChildren()) { List <int> usertypes = new List <int>(); if (_token) { usertypes.Add((int)UserTypes.User); } else { usertypes = cblUserTypes.CheckedItems.Cast <Model.UserTypes>().Select(x => x.Id).ToList(); } var request = new UsersInsertRequest() { Email = txtEmail.Text, FirstName = txtFirstName.Text, LastName = txtLastName.Text, UserName = txtUserName.Text, Telephone = txtTelephone.Text, Password = txtPassword.Text, PasswordConfirmation = txtPasswordConfirmation.Text, Status = cbStatus.Checked, UserTypes = usertypes }; if (_user == null) { try { await _service.Insert <Model.Users>(request); MessageBox.Show("Succesfully added!"); this.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } else { request.Id = _user.Id; try { await _service.Update <Model.Users>(_user.Id, request); MessageBox.Show("Succesfully updated!"); this.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }
public Model.User Update(int id, UsersInsertRequest request) { return(_userService.Update(id, request)); }
public Model.User Insert(UsersInsertRequest request) { return(_userService.Insert(request)); }