/* * This work is licensed under the Creative Commons Attribution 2.5 License. * To view a copy of this license, visit http://creativecommons.org/licenses/by/2.5/ * or send a letter to Creative Commons, 543 Howard Street, 5th Floor, * San Francisco, California, 94105, USA. * * Original developer: David Betz * */ using System; using System.Configuration; using System.Linq; using System.Web; using General; using Minima.Data.Context; using Minima.Data.Entities; using Minima.Helpers; namespace Minima { public static class MinimaConfiguration { public static Boolean EnableTracingViaSerialization { get { String value = ConfigurationFacade.ApplicationSettings("EnableTracingViaSerialization"); Boolean booleanValue; if (!String.IsNullOrEmpty(value)) { if (Boolean.TryParse(value, out booleanValue)) { if (booleanValue) { return true; } } } return false; } } public static Boolean ForceSpecifiedPath { get { String value = ConfigurationFacade.ApplicationSettings("ForceSpecifiedPath"); Boolean booleanValue; if (!String.IsNullOrEmpty(value)) { if (Boolean.TryParse(value, out booleanValue)) { if (booleanValue) { return true; } } } return false; } } public static Boolean IncludeSiteNameInCommentNotificationSubject { get { String value = ConfigurationFacade.ApplicationSettings("IncludeSiteNameInCommentNotificationSubject"); Boolean booleanValue; if (!String.IsNullOrEmpty(value)) { if (Boolean.TryParse(value, out booleanValue)) { if (booleanValue) { return true; } } } return false; } } public static String SupportImageFullWebPath { get { return Domain + UrlHelper.FixWebPath(SupportImageWebRelativePath); } } public static String MaterialsRelativePath { get { String value = ConfigurationFacade.ApplicationSettings("MaterialsRelativePath"); if (String.IsNullOrEmpty(value)) { throw new ArgumentNullException("MaterialsRelativePath is required."); } return UrlHelper.FixWebPath(value); } } public static String DefaultMaterialsPhysicalPath { get { String value = ConfigurationFacade.ApplicationSettings("DefaultMaterialsPhysicalPath"); if (String.IsNullOrEmpty(value)) { throw new ArgumentNullException("DefaultMaterialsPhysicalPath is required."); } return value; } } public static String SupportImageWebRelativePath { get { String value = ConfigurationFacade.ApplicationSettings("SupportImageWebRelativePath"); if (String.IsNullOrEmpty(value)) { throw new ArgumentNullException("SupportImageWebRelativePath is required."); } return UrlHelper.FixWebPath(value); } } public static String SupportImagePhysicalLocation { get { String value = ConfigurationFacade.ApplicationSettings("SupportImagePhysicalLocation"); if (String.IsNullOrEmpty(value)) { throw new ArgumentNullException("SupportImagePhysicalLocation is required."); } return value; } } public static String DatabaseConfiguration { get { return ConfigurationFacade.ConnectionString("Minima"); } } public static String SiteName { get { return ConfigurationFacade.ApplicationSettings("SiteName"); } } public static String BlankLabelMessage { get { String value = ConfigurationFacade.ApplicationSettings("BlankLabelMessage"); if (String.IsNullOrEmpty(value)) { return "

There are no entries with this label.

"; } return String.Format("

{0}

", value); } } public static String Domain { get { using (MinimaLINQDataContext db = new MinimaLINQDataContext(MinimaConfiguration.DatabaseConfiguration)) { var b = db.Blogs.Single(p => p.BlogId == MinimaConfiguration.BlogId); return UrlHelper.FixWebPath(b.BlogPrimaryUrl) + "/"; } } } public static Int32 BlogId { get { return Convert.ToInt32(ConfigurationFacade.ApplicationSettings("BlogId")); } } public static Int32 BlogEntriesToShow { get { try { return Convert.ToInt32(ConfigurationFacade.ApplicationSettings("BlogEntriesToShow")); } catch { return 7; } } } public static Int32 BlogEntriesToShowInFeed { get { try { return Convert.ToInt32(ConfigurationFacade.ApplicationSettings("BlogEntriesToShowInFeed")); } catch { return 7; } } } public static Int32 RecentEntriesToShow { get { try { return Convert.ToInt32(ConfigurationFacade.ApplicationSettings("RecentEntriesToShow")); } catch { return 10; } } } } }