Example #1
0
        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;
        }
Example #2
0
        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());
        }
Example #3
0
        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);
        }