public async Task <IActionResult> RegisterUser([FromBody] AddUserRequest request)
        {
            try
            {
                var validationResult = new RegistrationRequestValidator().ValidateRequest(request);
                if (validationResult != null)
                {
                    return(ValidationProblem(validationResult));
                }

                var result = await _service.AddUser(request.ToUserMap());

                return(Ok(result));
            }
            catch (UserAlreadyExistsException)
            {
                return(StatusCode((int)HttpStatusCode.Conflict, $"User With Username: '******' Already Exists!"));
            }
            catch (Exception ex)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, ex.ToString()));
            }
        }