Пример #1
0
        public OutputDtoAddUser Create(InputDtoAddUser inputDtoAddUser)
        {
            //DTO --> Domain
            var userFromDto = _userFactory.CreateUserFromValues(inputDtoAddUser.Name, inputDtoAddUser.Password, inputDtoAddUser.Email, "user");
            //Repository demande un element du domain

            var usersInDb = _userRepository.Query();

            foreach (var user in usersInDb)
            {
                if (user.Email == userFromDto.Email || user.Name == userFromDto.Name)
                {
                    throw new Exception("User already in database");
                }
            }
            //On crée l'utilisateur
            var userInDb = _userRepository.Create(userFromDto);

            //Domain -> DTO
            return(new OutputDtoAddUser
            {
                Id = userInDb.Id,
                Name = userInDb.Name,
                Role = userInDb.Role,
                Email = userInDb.Email,
                Password = userInDb.Password
            });
        }
        public void Create_InputDtoAddUser_ThrowsAlreadyInDBException()
        {
            var input = new InputDtoAddUser("name", "password", "email");

            _userFactory.CreateUserFromValues(input.Name, input.Password, input.Email, "user").Returns(new User(input.Name, input.Password, input.Email, "user"));
            _userRepository.Query().Returns(getUserList());

            var exception = Assert.Throws <Exception>(() => _userService.Create(input));

            Assert.AreEqual("User already in database", exception.Message);
        }
        public ActionResult <OutputDtoAuthenticateUser> Post(
            [FromBody] InputDtoAddUser user)
        {
            try
            {
                var response = _userService.Create(user);

                return(Ok(response));
            }
            catch (DuplicateSqlPrimaryException e)
            {
                return(BadRequest(new { message = e.Message }));
            }
        }
Пример #4
0
        public OutputDtoAuthenticateUser Create(InputDtoAddUser user)
        {
            var userFromDb = _userRepository.Create(new User
            {
                Firstname         = user.Firstname,
                Lastname          = user.Lastname,
                Birthdate         = user.Birthdate,
                Email             = user.Email,
                EncryptedPassword = _passwordEncryption.HashPassword(new User(), user.PasswordUser),
                Gender            = user.Gender[0]
            });

            var token = GenerateJwtToken(userFromDb);

            return(new OutputDtoAuthenticateUser(userFromDb, token));
        }
        public void Create_InputDtoAddUser_AreSame()
        {
            var input = new InputDtoAddUser("nameUser", "password", "emailUser");

            _userFactory.CreateUserFromValues(input.Name, input.Password, input.Email, "user").Returns(new User(input.Name, input.Password, input.Email, "user"));
            var iuser = _userFactory.CreateUserFromValues(input.Name, input.Password, input.Email, "user");

            _userRepository.Query().Returns(getUserList());
            _userRepository.Create(iuser).Returns(new User(input.Name, input.Password, input.Email, "user"));

            var res = _userService.Create(input);

            var expected = new OutputDtoAddUser("nameUser", "password", "emailUser", "user");

            Assert.AreEqual(expected, res);
        }