public async Task <ActionResult> RemoveCollaborator(string id, string userId) { var item = await _itemDbCommand.FindAsync(id); if (item == null) { return(HttpNotFound()); } if (!LogonUser.IsEntitledToEditItemCollaborators(item)) { return(new HttpStatusCodeResult(HttpStatusCode.Unauthorized)); } var deleteCollaborator = item.Collaborators.FirstOrDefault(x => x.Id == userId); if (deleteCollaborator == null) { throw new InvalidOperationException(); } await _itemDbCommand.RemoveCollaboratorAsync(item, deleteCollaborator); return(new HttpStatusCodeResult(HttpStatusCode.OK)); }