public async Task <IResult> AddAsync(User user) { user.Password = _hashService.CreateHash(user.Password); var validationResult = _userValidator.Validate(user); if (!validationResult.IsValid) { var firstErrorMessage = validationResult.Errors.Select(failure => failure.ErrorMessage).FirstOrDefault(); return(new ErrorResult(firstErrorMessage)); } await _userDal.AddAsnyc(user); return(new SuccessResult(ResultMessages.UserAdded)); }