private UserProjectAssignment(IUser user, IProject project, UserRole role, ExtendedUserRoles extendedUserRoles) { Project = project; _user = user; _session = _user.Session; UserRole = role; IsTemplateEditor = extendedUserRoles.HasFlag(ExtendedUserRoles.TemplateEditor); IsTranslationEditor = extendedUserRoles.HasFlag(ExtendedUserRoles.TranslationEditor); _isInitialized = true; }
internal static IUserProjectAssignment Create(IUser user, IProject project, UserRole role, ExtendedUserRoles extendedUserRoles) { var assignment = new UserProjectAssignment(user, project, role, extendedUserRoles); assignment.Commit(); user.Projects.InvalidateCache(); project.Users.InvalidateCache(); return(assignment); }
public IUserProjectAssignment AddOrSet(IProject project, UserRole role, ExtendedUserRoles extendedRoles) { return(UserProjectAssignment.Create(_user, project, role, extendedRoles)); }