Esempio n. 1
0
        public async Task <ActionResult <UserResponse> > PostUser(DTO.User input)
        {
            // Check if the user already exists
            var userExists = await _db.Users
                             .Where(u => u.EmailAddress == input.EmailAddress)
                             .FirstOrDefaultAsync();

            if (userExists != null)
            {
                //Email Address already in use
                return(Conflict(input));
            }

            var user = new Data.User
            {
                Name         = input.Name,
                EmailAddress = input.EmailAddress,
                Role         = input.Role,
            };

            _db.Users.Add(user);
            await _db.SaveChangesAsync();

            var result = user.MapUserResponse();

            return(CreatedAtAction(nameof(GetUser), new { email = result.EmailAddress }, result));
        }