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); })); }
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); })); }