Exemple #1
0
        public async Task <User> Insert(UsersUpsertRequest request)
        {
            var entity = _mapper.Map <Infrastructure.Entities.User>(request);

            if (request.Password != request.ConfirmPassword)
            {
                throw new UserException("Passwords do not match");
            }

            entity.PasswordSalt = GenerateSalt();
            entity.PasswordHash = GenerateHash(entity.PasswordSalt, request.Password);

            _context.Users.Add(entity);
            await _context.SaveChangesAsync();

            request.Roles.ForEach((role) =>
            {
                Infrastructure.Entities.UserRole userRoles = new Infrastructure.Entities.UserRole();
                userRoles.UserId = entity.Id;
                userRoles.RoleId = role;
                _context.UserRoles.Add(userRoles);
            });


            await _context.SaveChangesAsync();

            return(_mapper.Map <Model.Models.User>(entity));
        }
Exemple #2
0
        public async Task <User> Update(int id, UsersUpsertRequest request)
        {
            var entity = _context.Users.Find(id);

            _context.Users.Attach(entity);
            _context.Users.Update(entity);

            if (!string.IsNullOrWhiteSpace(request.Password))
            {
                if (request.Password != request.ConfirmPassword)
                {
                    throw new Exception("Passwords do not match");
                }

                entity.PasswordSalt = GenerateSalt();
                entity.PasswordHash = GenerateHash(entity.PasswordSalt, request.Password);
            }

            _mapper.Map(request, entity);

            await _context.SaveChangesAsync();

            //request.Roles.ForEach((role) =>
            //{
            //    Infrastructure.Entities.UserRole userRoles = new Infrastructure.Entities.UserRole();
            //    userRoles.UserId = entity.Id;
            //    userRoles.RoleId = role;
            //    _context.UserRoles.Add(userRoles);
            //});

            //await _context.SaveChangesAsync();

            return(_mapper.Map <Model.Models.User>(entity));
        }
        private async void AddUserBtn_Click(object sender, System.EventArgs e)
        {
            if (!this.ValidateChildren())
            {
                return;
            }

            var userRoles = rolesCheckBoxList.CheckedItems.Cast <Model.Models.Role>().Select(role => role.Id).ToList();

            var request = new UsersUpsertRequest()
            {
                Archived        = userDisabledCheckBox.Checked,
                ConfirmPassword = confirmPasswordTextBox.Text,
                Password        = passwordTextBox.Text,
                Email           = emailTextBox.Text,
                FirstName       = firstNameTextBox.Text,
                LastName        = lastNameTextBox.Text,
                Roles           = userRoles,
                Username        = usernameTextBox.Text
            };

            Model.Models.User userEntity = null;

            if (!_userId.HasValue)
            {
                userEntity = await _usersService.Insert <Model.Models.User>(request);
            }
            else
            {
                userEntity = await _usersService.Update <Model.Models.User>(_userId.Value, request);
            }

            if (userEntity != null)
            {
                MessageBox.Show("Opration successfull!");
                this.Close();
            }
        }
 public async Task <Model.Models.User> Update(int id, [FromBody] UsersUpsertRequest request)
 {
     return(await _service.Update(id, request));
 }
 public async Task <Model.Models.User> Insert(UsersUpsertRequest request)
 {
     return(await _service.Insert(request));
 }