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); })); }
protected JsonResult Result <T>(HttpStatusCode status, InteractorResult <T> interactorResult) where T : class { var response = new { ActionSuccess = !interactorResult.Messages.Any(), Messages = interactorResult.Messages, Data = interactorResult.Data }; var result = new JsonResult(response) { StatusCode = (int)status }; return(result); }
protected JsonResult Result <T>(InteractorResult <T> interactorResult) where T : class { return(Result(HttpStatusCode.OK, interactorResult)); }