public void CreateUserItem(IUser p_User, IItem p_ParentItem, ITemplateItem p_Template, IDatabase p_Database) { IItem item = p_Database.GetItem(Path + "/" + Domain + "/" + p_User.Name) ?? p_ParentItem.AddItem(p_User.Name, p_Template); RunEditFieldPipeline(item, p_User); }
private IItem GetItem(IDatabase p_Database, string p_Path) { // TODO : Coder ça moins croche string[] path = p_Path.Split('/'); string p_CurrentPath = path[0]; IItem parentItem = p_Database.GetItem(p_CurrentPath); ITemplateItem folderTemplate = p_Database.GetTemplate(UserSynchronizerConstants.FOLDER_TEMPLATE_ID); for (int i = 1; i < path.Count(); i++) { p_CurrentPath = p_CurrentPath + '/' + path[i]; IItem currentItem = p_Database.GetItem(p_CurrentPath); if (currentItem == null) { currentItem = parentItem.AddItem(path[i], folderTemplate); } parentItem = currentItem; } return(p_Database.GetItem(p_Path)); }
public static bool IsAncestorOrSelf(this ITemplateItem template, ID templateId) { if (template.ID == templateId) { return(true); } if ((template.BaseTemplates == null) || (!template.BaseTemplates.Any())) { return(false); } foreach (var baseTemplate in template.BaseTemplates) { if (baseTemplate.IsAncestorOrSelf(templateId)) { return(true); } } return(false); }
public void Synchronize() { IDomain domain = Factory.GetDomain(Domain); IEnumerable <IUser> users = domain.GetUsers(); if (users.Any()) { using (new Sitecore.SecurityModel.SecurityDisabler()) { IDatabase database = Factory.GetDatabase(Database); IItem parentItem = GetItem(database, Path + "/" + Domain); ITemplateItem template = database.GetTemplate(TemplateId); foreach (IUser user in users) { CreateUserItem(user, parentItem, template, database); } } } }
public IItem AddItem(string p_ItemName, ITemplateItem p_Template) { return(new SitecoreItem(Item.Add(p_ItemName, p_Template.TemplateItem))); }
public static IntrinsicFunctions.Ref Ref(this ITemplateItem item) { return(new IntrinsicFunctions.Ref(item.LogicalId)); }