Ejemplo n.º 1
0
        public async Task <ActionResult <UserDto> > CreateUserAsync(CreateUser request)
        {
            var entity = new User
            {
                Created          = DateTime.UtcNow,
                Name             = request.Name,
                Email            = request.Email.ToLower(),
                PhoneNumber      = request.PhoneNumber,
                Surname          = request.Surname,
                Password         = request.Password,
                IsAdministration = false,
            };

            await _userRepository.AddUserAsync(entity);

            if (!entity.IsAdministration)
            {
                var cartEntity = new ShoppingCart
                {
                    IsActive = true,
                    User     = entity
                };

                await _cartRepository.AddShoppingCartAsync(cartEntity);
            }



            var rq   = _httpContextAccessor.HttpContext.Request;
            var user = _mapper.Map <UserDto>(entity);

            return(new CreatedResult(new Uri($"{rq.Scheme}://{rq.Host}/api/users/{user.Id}"), user));
        }