Пример #1
0
        public static void SitecoreContentImport(DataTable table, string language, string displayName)
        {
            var _sourceLanguage = LanguageManager.GetLanguage(language);
            var _masterDb       = ScHelpers.GetDatabase(Constants.DatabaseNames.Master);

            foreach (DataRow row in table.Rows)
            {
                string text = row["ID"].ToString();
                if (string.IsNullOrEmpty(text))
                {
                    return;
                }
                Item item = _masterDb.GetItem(text, _sourceLanguage);
                if (item == null)
                {
                    return;
                }
                for (int i = 3; i < table.Columns.Count; i++)
                {
                    string fieldName = table.Columns[i].ColumnName;
                    Field  val       = item.Fields.Where(x => x.Name.Equals(fieldName)).FirstOrDefault();
                    if (val != null)
                    {
                        string value = row[val.Name].ToString();
                        using (SecurityDisabler val2 = new SecurityDisabler())
                        {
                            try
                            {
                                item.Editing.BeginEdit();
                                val.Value = value;
                                item.Editing.EndEdit();
                            }
                            finally
                            {
                                val2?.Dispose();
                            }
                        }
                    }
                    if (!string.IsNullOrEmpty(displayName) && displayName.ToLower().Equals("true"))
                    {
                        using (SecurityDisabler val3 = new SecurityDisabler())
                        {
                            try
                            {
                                item.Editing.BeginEdit();
                                item.Appearance.DisplayName = row["Name"].ToString();
                                item.Editing.EndEdit();
                            }
                            finally
                            {
                                val3?.Dispose();
                            }
                        }
                    }
                }
            }
        }
Пример #2
0
        public static List <Item> GetItemsByTemplate(Item parentItem, ID templateID, bool checkBaseTemplates = false)
        {
            List <Item> objList = new List <Item>();

            if (parentItem != null && ScHelpers.IsValidID(templateID))
            {
                List <ID>    idList       = new List <ID>();
                TemplateItem templateItem = (TemplateItem)ScHelpers.Databases.masterDb.GetItem(templateID);
                objList = !checkBaseTemplates ? ((IEnumerable <Item>)parentItem.Axes.GetDescendants()).Where <Item>((Func <Item, bool>)(x => x.TemplateID == templateID)).ToList <Item>() : ((IEnumerable <Item>)parentItem.Axes.GetDescendants()).Where <Item>((Func <Item, bool>)(x =>
                {
                    if (x.TemplateID == templateID)
                    {
                        return(true);
                    }
                    return(x.Template != null && ((IEnumerable <TemplateItem>)x.Template.BaseTemplates).Any <TemplateItem>((Func <TemplateItem, bool>)(b => b.ID == templateID)));
                })).ToList <Item>();
            }
            return(objList);
        }
Пример #3
0
        public static Item GetItem(string itemPath, Language language = null, string databaseName = "")
        {
            Item     obj      = (Item)null;
            Database database = string.IsNullOrEmpty(databaseName) ? ScHelpers.GetDatabase(Constants.DatabaseNames.Master) : ScHelpers.GetDatabase(databaseName);

            if (database != null)
            {
                if (language == (Language)null)
                {
                    language = ScHelpers.DefaultLanguage;
                }
                if (language != (Language)null)
                {
                    using (new SecurityDisabler())
                    {
                        using (new LanguageSwitcher(language.Name))
                            obj = database.GetItem(itemPath, language);
                    }
                }
            }
            return(obj);
        }