public async Task <InteractorResult <ApplicationUser> > Call(LoggedInRequest request)
 {
     return(await PerformCall(async() =>
     {
         ApplicationUser user = null;
         _unitOfWork.Worker(() =>
         {
             user = _userRepository.FindComplete(request.UserId);
         });
         return InteractorResult <ApplicationUser> .ForSuccess(user);
     }));
 }
예제 #2
0
        public InteractorResult <Monster> Call(CreateMonsterRequest request)
        {
            return(PerformCall(() =>
            {
                var monster = _monsterFactory.For(request);

                var monsterValidation = monster.Validate();
                if (!monsterValidation.IsValid)
                {
                    return InteractorResult <Monster> .ForFailure(monsterValidation.Messages);
                }

                var result = _monsterRepository.Add(monster);
                return InteractorResult <Monster> .ForSuccess(result);
            }));
        }