CreateFakeItem() public static method

public static CreateFakeItem ( string>.Dictionary fields, ID templateId, Database database, string name = "ItemName" ) : System.Item
fields string>.Dictionary
templateId ID
database Database
name string
return System.Item
Beispiel #1
0
        public T GetRenderingParameters <T>(NameValueCollection parameters, ID renderParametersTemplateId) where T : class
        {
            var item = Utilities.CreateFakeItem(null, renderParametersTemplateId, SitecoreContext.Database, "renderingParameters");

            using (new SecurityDisabler())
            {
                using (new EventDisabler())
                {
                    using (new VersionCountDisabler())
                    {
                        item.Editing.BeginEdit();

                        foreach (var key in parameters.AllKeys)
                        {
                            item[key] = parameters[key];
                        }

                        T obj = item.GlassCast <T>(this.SitecoreContext);

                        item.Editing.EndEdit();
                        item.Delete(); //added for clean up
                        return(obj);
                    }
                }
            }
        }
Beispiel #2
0
        public T GetRenderingParameters <T>(NameValueCollection parameters, ID renderParametersTemplateId) where T : class
        {
            var item = Utilities.CreateFakeItem(null, renderParametersTemplateId, SitecoreContext.Database, "renderingParameters");

            using (new SecurityDisabler())
            {
                using (new EventDisabler())
                {
                    using (new VersionCountDisabler())
                    {
                        if (parameters != null)
                        {
                            item.Editing.BeginEdit();
                            item.RuntimeSettings.Temporary = true;
                            foreach (var key in parameters.AllKeys)
                            {
                                var fld = item.Fields[key];
                                if (fld != null)
                                {
                                    fld.SetValue(parameters[key], true);
                                }
                            }
                        }


                        T obj = SitecoreContext.Cast <T>(item);

                        item.Editing.CancelEdit();
                        item.Delete(); //added for clean up
                        return(obj);
                    }
                }
            }
        }
        public virtual T CreateModel <T>(NameValueCollection parameters, ID renderParametersTemplateId) where T : class
        {
            var item = Utilities.CreateFakeItem(null, renderParametersTemplateId, _sitecoreService.Database, "renderingParameters");

            using (new SecurityDisabler())
            {
                using (new EventDisabler())
                {
                    if (parameters != null)
                    {
                        item.Editing.BeginEdit();
                        item.RuntimeSettings.Temporary = true;
                        foreach (var key in parameters.AllKeys)
                        {
                            var fld = item.Fields[key];
                            if (fld != null)
                            {
                                fld.SetValue(parameters[key], true);
                            }
                        }
                    }

                    var options = new GetItemByItemOptions
                    {
                        Item = item,
                        //this must be only reference properties to force the fake item to be read before it is deleted
                        //it isn't possible lazy load the top level
                        Lazy         = LazyLoading.OnlyReferenced,
                        VersionCount = false
                    };
                    T obj = _sitecoreService.GetItem <T>(options);

                    item.Editing.CancelEdit();

                    if (_sitecoreService.Config.DeleteRenderingParameterItems)
                    {
                        item.Delete(); //added for clean up
                    }

                    return(obj);
                }
            }
        }