Ejemplo n.º 1
0
 public async Task <Either <ActionResult, Unit> > RemoveUserReleaseRole(Guid userReleaseRoleId)
 {
     return(await _contentPersistenceHelper
            .CheckEntityExists <UserReleaseRole>(userReleaseRoleId)
            .OnSuccess(async userReleaseRole =>
     {
         return await _contentPersistenceHelper
         .CheckEntityExists <Release>(query => query
                                      .Include(r => r.Publication)
                                      .Where(r => r.Id == userReleaseRole.ReleaseId)
                                      )
         .OnSuccess(async release =>
         {
             return await _userService
             .CheckCanUpdateReleaseRole(release.Publication, userReleaseRole.Role)
             .OnSuccessVoid(async() =>
             {
                 await _userReleaseRoleRepository.Remove(userReleaseRole,
                                                         deletedById: _userService.GetUserId());
             });
         });
     }));
 }