public void CopyFrom([NotNull] RenderingItem item) { Assert.ArgumentNotNull(item, nameof(item)); Cacheable = item.Cacheable; Conditions = item.Conditions; DataSource = item.DataSource; ItemId = item.ItemId; MultiVariateTests = item.MultiVariateTests; Name = item.Name + @" - " + "Copy"; Parameters = item.Parameters; UniqueId = Guid.NewGuid().Format(); VaryByData = item.VaryByData; VaryByDevice = item.VaryByDevice; VaryByLogin = item.VaryByLogin; VaryByParameters = item.VaryByParameters; VaryByQueryString = item.VaryByQueryString; VaryByUser = item.VaryByUser; Icon = item.Icon; DataSourceLocation = item.DataSourceLocation; DataSourceTemplate = item.DataSourceTemplate; FilePath = item.FilePath; ParameterTemplateId = item.ParameterTemplateId; ItemUri = item.ItemUri; ParameterDictionary.Parameters.Clear(); foreach (var parameter in item.ParameterDictionary.Parameters) { ParameterDictionary.Parameters[parameter.Key] = parameter.Value; } ParameterDictionary.Parameters["Id"] = Name; }
private string GetPlaceHolderName([NotNull] RenderingItem rendering, [NotNull] string placeHolders) { Debug.ArgumentNotNull(rendering, nameof(rendering)); Debug.ArgumentNotNull(placeHolders, nameof(placeHolders)); return(placeHolders.Replace("$Id", rendering.GetControlId()).Trim()); }
public void ChangeRendering([NotNull] RenderingItem newRenderingItem, [NotNull] Action completed) { Assert.ArgumentNotNull(completed, nameof(completed)); Assert.ArgumentNotNull(newRenderingItem, nameof(newRenderingItem)); Name = newRenderingItem.Name; ItemUri = newRenderingItem.ItemUri; ItemId = newRenderingItem.ItemId; hasParameters = true; Icon = newRenderingItem.Icon; ExecuteCompleted c = delegate(string response, ExecuteResult result) { if (!DataService.HandleExecute(response, result)) { return; } var root = response.ToXElement(); if (root == null) { return; } PlaceHolders = root.GetAttributeValue("placeholders"); DataSourceLocation = root.GetAttributeValue("dsl"); DataSourceTemplate = root.GetAttributeValue("dst"); FilePath = root.GetAttributeValue("path"); ParameterTemplateId = root.GetAttributeValue("templateid"); var id = GetControlId(); ParseTemplate(root); var idProperty = DynamicProperties.FirstOrDefault(p => string.Compare(p.Name, @"id", StringComparison.InvariantCultureIgnoreCase) == 0); if (idProperty != null && string.IsNullOrEmpty(idProperty.Value as string)) { idProperty.Value = id; } ReloadPropertyDescriptors(); RaiseParametersLoaded(); completed(); }; AppHost.Server.Layouts.GetRenderingParameters(newRenderingItem.ItemUri, c); }