public async Task <ResultWrapper <UserOutDto> > GetUserById(int id)
        {
            userValid.ValidateUserEmail("*****@*****.**");
            var invalidId = userValid.ValidateGetUserById(id);

            if (invalidId.Count() > 0)
            {
                return(new ResultWrapper <UserOutDto>(null, invalidId));
            }

            var user = await _unitOfWork.UserRepo.GetAsync(id);

            if (user == null)
            {
                List <ErrorResult> errors = new List <ErrorResult>();
                errors.Add(new ErrorResult(1, "The user with id " + id + " does not exits."));
                return(new ResultWrapper <UserOutDto>(null, errors));
            }

            return(new ResultWrapper <UserOutDto>(Mapper.Map <UserOutDto>(user), null));
        }