Example #1
0
        private static Site CreateSite([NotNull] DynamicSiteDefinitionBaseItem item, [NotNull] Site defaultSite)
        {
            try
            {
                if (item.HomeItem.Item == null)
                {
                    return(null);
                }
                var properties = new StringDictionary(defaultSite.Properties);

                //Required Properties
                properties["mode"]      = item.SiteEnabled ? "on" : "off";
                properties["name"]      = CleanCacheKeyName(item.Name);
                properties["hostName"]  = item.Hostname.Text;
                properties["startItem"] = string.Format("/{0}", item.HomeItem.Item.Name);
                properties["rootPath"]  = item.HomeItem.Item.Parent.Paths.FullPath;

                //Enhanced Properties
                if (!item.Language.Value.IsNullOrEmpty())
                {
                    properties["language"] = item.Language.Value;
                }

                if (!item.TargetHostName.Value.IsNullOrEmpty())
                {
                    properties["targetHostName"] = item.TargetHostName.Value;
                }

                if (!item.Port.Text.IsNullOrEmpty())
                {
                    properties["port"] = item.Port.Text;
                }

                if (!item.DatabaseName.Value.IsNullOrEmpty())
                {
                    properties["database"] = item.DatabaseName.Value;
                }

                if (!item.Inherit.Value.IsNullOrEmpty())
                {
                    properties["inherits"] = item.Inherit.Value;
                }

                properties["cacheHtml"]       = item.CacheHtml.Checked.ToString();
                properties["cacheMedia"]      = item.CacheMedia.Checked.ToString();
                properties["enableDebugger"]  = item.EnableDebugger.Checked.ToString();
                properties["enableAnalytics"] = item.EnableAnalytics.Checked.ToString();

                //Custom Properties
                if (item.Properties.ToStringDictionary.Count > 0)
                {
                    properties.AddRange(item.Properties.ToStringDictionary);
                }

                var newSite = new Site(CleanCacheKeyName(item.Name), properties);
                return(newSite);
            }
            catch (Exception e)
            {
                Log.Error(String.Format("Error Creating Dynamic Site Definition: {0}\r\n{1}", e.Message, e.StackTrace), e);
                return(null);
            }
        }
        private static Site CreateSite([NotNull] DynamicSiteDefinitionBaseItem item, [NotNull] Site defaultSite)
        {
            try
            {
                if (item.HomeItem.Item == null) return null;
                var properties = new StringDictionary(defaultSite.Properties);

                //Required Properties
                properties["mode"] = item.SiteEnabled ? "on" : "off";
                properties["name"] = CleanCacheKeyName(item.Name);
                properties["hostName"] = item.Hostname.Text;
                properties["startItem"] = string.Format("/{0}", item.HomeItem.Item.Name);
                properties["rootPath"] = item.HomeItem.Item.Parent.Paths.FullPath;
                
                //Enhanced Properties
                if (!item.Language.Value.IsNullOrEmpty())
                    properties["language"] = item.Language.Value;

                if (!item.TargetHostName.Value.IsNullOrEmpty())
                    properties["targetHostName"] = item.TargetHostName.Value;

                if (!item.Port.Text.IsNullOrEmpty())
                    properties["port"] = item.Port.Text;

                if (!item.DatabaseName.Value.IsNullOrEmpty())
                    properties["database"] = item.DatabaseName.Value;

                if (!item.Inherit.Value.IsNullOrEmpty())
                    properties["inherits"] = item.Inherit.Value;

                properties["cacheHtml"] = item.CacheHtml.Checked.ToString();
                properties["cacheMedia"] = item.CacheMedia.Checked.ToString();
                properties["enableDebugger"] = item.EnableDebugger.Checked.ToString();
                properties["enableAnalytics"] = item.EnableAnalytics.Checked.ToString();
                
                //Custom Properties
                if (item.Properties.ToStringDictionary.Count> 0)
                    properties.AddRange(item.Properties.ToStringDictionary);
                
                var newSite = new Site(CleanCacheKeyName(item.Name), properties);
                return newSite;
            }
            catch (Exception e)
            {
                Log.Error(String.Format("Error Creating Dynamic Site Definition: {0}\r\n{1}",e.Message,e.StackTrace),e);
                return null;
            }

        }