public void Execute(UserDto request)
        {
            var cases = new List <int> {
                5, 8, 9, 16, 17, 18, 20, 23
            };

            _validator.Validate(request);


            var user = new User
            {
                FirstName = request.FirstName,
                LastName  = request.LastName,
                Username  = request.Username,
                Email     = request.Email,
                Password  = request.Password
            };

            _context.Users.Add(user);
            _context.SaveChanges();

            foreach (var i in cases)
            {
                var userUseCases = new UserUseCase
                {
                    UseCaseId = i,
                    UserId    = user.Id
                };
                _context.Add(userUseCases);
            }
            _context.SaveChanges();
        }
Beispiel #2
0
        public async Task <IActionResult> CreateUser([FromBody] CreateUser request)
        {
            _logger.LogDebug($"Received request to Create User with username: {request?.Username}");
            var validationResult = _createValidator.Validate(request);

            if (!validationResult.IsValid)
            {
                var errorMessage = string.Join(",", validationResult.Errors.Select(err => err.ErrorMessage));
                _logger.LogWarning($"CreateUser request failed validation | Reason : {errorMessage}");
                return(BadRequest(errorMessage));
            }
            else
            {
                var mediatorRequest  = new CreateUserRequest(request?.Username);
                var mediatorResponse = await _mediator.Send(mediatorRequest);

                if (mediatorResponse.Success)
                {
                    var user = mediatorResponse.Value;
                    _logger.LogInformation($"Created User with username: {user.Username}");
                    return(Created($"users/{user.Id}", user));
                }
                else
                {
                    var errorMessage = mediatorResponse.Message;
                    _logger.LogWarning($"Unable to create User with username: {mediatorRequest.Username} | Reason : {errorMessage}");
                    return(BadRequest(errorMessage));
                }
            }
        }
        private void btnCreate_Click(object sender, EventArgs e)
        {
            CreateUser u = new CreateUser()
            {
                NomJoueur              = txtUsername.Text,
                Courriel               = txtEmail.Text,
                Prenom                 = txtFirstName.Text,
                Nom                    = txtLastName.Text,
                TypeUtilisateur        = (TypeUtilisateur)comboUserType.SelectedItem,
                MotDePasse             = txtPassword.Text,
                MotDePasseConfirmation = txtPasswordConfirmation.Text
            };

            var result = createUserValidator.Validate(u);

            if (!result.IsValid)
            {
                MessageBox.Show(string.Join("\n", result.Errors.ToList()), "Errors", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                return;
            }
            else
            {
                string resultat = CompteJoueursCRUD.CreerJoueur(u.NomJoueur, u.Courriel, u.Prenom, u.Nom, (int)u.TypeUtilisateur, u.MotDePasse);
                if (resultat == "SUCCESS")
                {
                    MessageBox.Show("The user has been created", "Success!", MessageBoxButtons.OK, MessageBoxIcon.None);
                    this.Close();
                }
                else
                {
                    MessageBox.Show("An error has occured with the creation of the user", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                }
            }
        }
        public async Task ReturnSuccessForValidData()
        {
            var repoMock  = CreateRepositoryMock();
            var validator = new CreateUserValidator(repoMock);

            var request = GetRequest();

            var result = await validator.Validate(request);

            Assert.True(result.IsSuccessful);
        }
        public void PositiveCreateUserValidatorTest()
        {
            var ufwMock  = GetMockedUfw();
            var user     = GetNewUser();
            var settings = GetMockedAppSettings();

            var validator        = new CreateUserValidator(ufwMock.Object, Helper.GetValidationLocalizer(), settings, null);
            var validationResult = validator.Validate(user);

            Assert.True(validationResult.IsValid);
        }
        public async Task ReturnFailureForMissingPassword()
        {
            var repoMock  = CreateRepositoryMock();
            var validator = new CreateUserValidator(repoMock);

            var request = GetRequest(password: "");

            var result = await validator.Validate(request);

            Assert.False(result.IsSuccessful);
            Assert.Equal(ValidatorErrors.Users.UserPasswordRequired, result.Error);
        }
        public async Task ReturnFailureForDuplicatedName()
        {
            var repoMock  = CreateRepositoryMock(isDuplicatedName: true);
            var validator = new CreateUserValidator(repoMock);

            var request = GetRequest();

            var result = await validator.Validate(request);

            Assert.False(result.IsSuccessful);
            Assert.Equal(ValidatorErrors.Users.DuplicatedUserName, result.Error);
        }
Beispiel #8
0
        public CreateUserResultMessage Handle(CreateUserMessage message)
        {
            var result = _validator.Validate(message);

            if (result.IsValid)
            {
                _userRepo.Create(message);
            }

            return(new CreateUserResultMessage
            {
                Success = result.IsValid,
                ValidationResult = result
            });
        }
Beispiel #9
0
        public void When_all_fields_are_valid_Then_validation_should_succeed()
        {
            var validationResult = _validator.Validate(_request);

            Assert.True(validationResult.IsValid);
        }