Пример #1
0
            public async Task <GoodFoodUserDto> Handle(RegisterUserCommand request,
                                                       CancellationToken cancellationToken)
            {
                if (string.IsNullOrEmpty(request.Username) || string.IsNullOrEmpty(request.Password))
                {
                    throw new RestException(HttpStatusCode.BadRequest, new { User_Password = "******" });
                }

                if (await _userAuth.IsUserExits(request.Username))
                {
                    throw new RestException(HttpStatusCode.BadRequest, new { Username = "******" });
                }

                var userFromDB = await _userAuth.Register(request.Username, request.Password);

                if (userFromDB == null)
                {
                    throw new RestException(HttpStatusCode.Unauthorized, new { User = "******" });
                }

                var user = new GoodFoodUserDto
                {
                    UserName = userFromDB.Username,
                    Token    = _jwtGenerator.CreateToken(userFromDB)
                };

                return(user);
            }