Example #1
0
 public async Task <Either <ActionResult, List <MyReleaseViewModel> > > GetMyReleasesForReleaseStatusesAsync(
     params ReleaseStatus[] releaseStatuses)
 {
     return(await _userService
            .CheckCanAccessSystem()
            .OnSuccess(_ =>
     {
         return _userService
         .CheckCanViewAllReleases()
         .OnSuccess(() => _repository.GetAllReleasesForReleaseStatusesAsync(releaseStatuses))
         .OrElse(() =>
                 _repository.GetReleasesForReleaseStatusRelatedToUserAsync(_userService.GetUserId(),
                                                                           releaseStatuses));
     }));
 }