public static void CheckCorrectAssigning(this AppUserRole userRole, Item existingItem, Item newItem, string userId) { // if assigning not changed -> OK if (existingItem.AssignedUserId == newItem.AssignedUserId) { return; } // if user master or owner -> OK if (userRole.IsScrumMasterOrOwner()) { return; } // check if developer can assign item if (userRole.DevAssignOperations(existingItem, newItem, userId)) { return; } throw new ForbiddenResponseException("You dont have access to change assigning. Please, call your scrum-master or owner."); }