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; } }