public static CreateFakeItem ( string>.Dictionary |
||
fields | string>.Dictionary | |
templateId | ID | |
database | Database | |
name | string | |
return | System.Item |
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); } } } }
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); } } }