Beispiel #1
0
        public void CreateUser()
        {
            AsyncExecutionHelper.RunSync(async() => await _userStorage.CreateAsync(new User {
                Name = "Tom"
            }));

            Assert.AreEqual(true, true);
        }
Beispiel #2
0
        public async Task <UserDto> CreateAsync(UserDto userDto)
        {
            if (userDto == null)
            {
                throw new ArgumentNullException(nameof(userDto));
            }
            if (string.IsNullOrEmpty(userDto.Login))
            {
                throw new ArgumentNullException(nameof(userDto.Login));
            }

            var user = new User
            {
                Email       = userDto.Email,
                Login       = userDto.Login,
                FirstName   = userDto.FirstName ?? "Unknown",
                LastName    = userDto.LastName,
                Comment     = userDto.Comment,
                CreatedDate = DateTime.UtcNow,
                GenderId    = userDto.GenderId == default ? 4 : userDto.GenderId,
                BirthDay    = userDto.BirthDay
            };

            var userFromStorage = await _userStorage.GetUserByLoginAsync(user.Login);

            if (userFromStorage != null)
            {
                _logger.LogError($"User with current login {user.Login} is exist");
                throw new ValidationException($"User with current login {user.Login} is exist");
            }

            var insertedUserId = await _userStorage.CreateAsync(user);

            userDto.Id = insertedUserId;
            return(userDto);
        }