コード例 #1
0
        public Store GetStore(String domainName)
        {
            String key  = String.Format("GetStoreDomain-{0}", domainName);
            Store  site = null;

            StoreCache.TryGet(key, out site);
            if (site == null)
            {
                site = this.GetStoreByDomain(domainName);
                if (site != null)
                {
                    string layout      = String.Format("~/Views/Shared/Layouts/{0}.cshtml", !String.IsNullOrEmpty((String)site.Layout) ? (String)site.Layout : "_Layout1");
                    var    isFileExist = File.Exists(System.Web.HttpContext.Current.Server.MapPath(layout));
                    _defaultlayout = String.Format(_defaultlayout, ProjectAppSettings.GetWebConfigString("DefaultLayout", "_Layout1"));
                    if (!isFileExist)
                    {
                        Logger.Info(String.Format("Layout is not found.Default Layout {0} is used.Site Domain is {1} ", _defaultlayout, site.Domain));
                    }
                    String selectedLayout = isFileExist ? layout : _defaultlayout;

                    site.Layout = selectedLayout;
                    StoreCache.Set(key, site, MemoryCacheHelper.CacheAbsoluteExpirationPolicy(ProjectAppSettings.GetWebConfigInt("TooMuchTime_CacheAbsoluteExpiration_Minute", 100000)));
                }
            }
            return(site);
        }
コード例 #2
0
        public Store GetStoreByDomain(HttpContextBase request)
        {
            String siteStatus = ProjectAppSettings.GetWebConfigString("SiteStatus", "dev");
            String domainName = "FUELTECHNOLOGYAGE.COM";

            domainName = GeneralHelper.GetSiteDomain(request);
            if (siteStatus.IndexOf("live", StringComparison.InvariantCultureIgnoreCase) >= 0)
            {
                String key      = domainName;
                Store  storeObj = new Store();
                storeObj = (Store)MemoryCache.Default.Get(key);
                if (storeObj == null)
                {
                    storeObj = StoreService.GetStoreByDomain(domainName);

                    CacheItemPolicy policy = null;

                    policy                    = new CacheItemPolicy();
                    policy.Priority           = CacheItemPriority.Default;
                    policy.AbsoluteExpiration = DateTimeOffset.Now.AddSeconds(ProjectAppSettings.CacheLongSeconds);

                    MemoryCache.Default.Set(key, storeObj, policy);
                }
                return(storeObj);
            }
            else
            {
                String defaultSiteDomain = ProjectAppSettings.GetWebConfigString("DefaultSiteDomain",
                                                                                 "login.seatechnologyjobs.com");
                BaseLogger.Trace("Default Site Domain is used." + defaultSiteDomain + " for " + domainName);
                return(StoreService.GetStoreByDomain(defaultSiteDomain));
            }
        }
コード例 #3
0
        protected string GetCleanHtml(String source)
        {
            if (String.IsNullOrEmpty(source))
            {
                return(String.Empty);
            }

            source = HttpUtility.HtmlDecode(source);

            string path       = HttpContext.Server.MapPath("~/tags.config");
            var    myFile     = new System.IO.StreamReader(path);
            string myTags     = myFile.ReadToEnd();
            var    returnHtml = HtmlCleanHelper.SanitizeHtmlSoft(myTags, source);

            returnHtml = GeneralHelper.NofollowExternalLinks(returnHtml);

            var attributes = new List <String>();

            attributes.AddRange(ProjectAppSettings.GetWebConfigString("StyleUnWantedAttributes", "background:").Split(",".ToCharArray()).ToList());
            returnHtml = HtmlCleanHelper.CleanStyleAttributes(returnHtml, attributes);


            if (!string.IsNullOrEmpty(source) && string.IsNullOrEmpty(returnHtml))
            {
                return(source);
            }
            else
            {
                return(returnHtml);
            }
        }
コード例 #4
0
ファイル: StoreHelper.cs プロジェクト: vinhch/StoreManagement
        public Store GetStore(HttpRequest Request)
        {
            String domainName = "FUELTECHNOLOGYAGE.COM";

            domainName = Request.Url.Scheme + Uri.SchemeDelimiter + Request.Url.Host + (Request.Url.IsDefaultPort ? "" : ":" + Request.Url.Port);
            domainName = GeneralHelper.GetDomainPart(domainName);
            Logger.Info("Domain name=" + domainName);
            Store  site        = _storeRepository.GetStoreByDomain(domainName);
            string layout      = String.Format("~/Views/Shared/Layouts/{0}.cshtml", !String.IsNullOrEmpty((String)site.Layout) ? (String)site.Layout : "_Layout1");
            var    isFileExist = File.Exists(System.Web.HttpContext.Current.Server.MapPath(layout));

            defaultlayout = String.Format(defaultlayout, ProjectAppSettings.GetWebConfigString("DefaultLayout", "_Layout1"));
            if (!isFileExist)
            {
                Logger.Info(String.Format("Layout is not found.Default Layout {0} is used.Site Domain is {1} ", defaultlayout, site.Domain));
            }
            String selectedLayout = isFileExist ? layout : defaultlayout;

            site.Layout = selectedLayout;

            Logger.Info("Selected site=" + site);


            return(site);
        }
コード例 #5
0
        public FileContentResult RobotsText()
        {
            var    content    = "User-agent: *" + Environment.NewLine;
            String siteStatus = ProjectAppSettings.GetWebConfigString("SiteStatus", "dev");

            content += "Disallow: /" + Environment.NewLine;
            return(File(Encoding.UTF8.GetBytes(content), "text/plain"));
        }
コード例 #6
0
 protected String GetSettingValue(String key, String defaultValue)
 {
     var value = GetSettingValue(key);
     if (String.IsNullOrEmpty(value))
     {
         BaseLogger.Trace("Store Default Setting= " + StoreId + " Key=" + key + " defaultValue=" + defaultValue);
         return ProjectAppSettings.GetWebConfigString(key, defaultValue);
     }
     else
     {
         return value;
     }
 }
コード例 #7
0
        public static EmailAccount GetAdminEmailAccount()
        {
            var emailAccount = new EmailAccount();

            emailAccount.Username              = ProjectAppSettings.GetWebConfigString("AdminEmailAccount_Username");
            emailAccount.Email                 = ProjectAppSettings.GetWebConfigString("AdminEmailAccount_Email");
            emailAccount.DisplayName           = ProjectAppSettings.GetWebConfigString("AdminEmailAccount_DisplayName");
            emailAccount.Password              = ProjectAppSettings.GetWebConfigString("AdminEmailAccount_Password");
            emailAccount.Host                  = ProjectAppSettings.GetWebConfigString("AdminEmailAccount_Host");
            emailAccount.Port                  = ProjectAppSettings.GetWebConfigInt("AdminEmailAccount_Port");
            emailAccount.EnableSsl             = ProjectAppSettings.GetWebConfigBool("AdminEmailAccount_EnableSsl");
            emailAccount.UseDefaultCredentials = ProjectAppSettings.GetWebConfigBool("AdminEmailAccount_UseDefaultCredentials");

            return(emailAccount);
        }
コード例 #8
0
        public FileContentResult RobotsText()
        {
            var    content    = "User-agent: *" + Environment.NewLine;
            String siteStatus = ProjectAppSettings.GetWebConfigString("SiteStatus", "dev");


            //  if (string.Equals(siteStatus, "live", StringComparison.InvariantCultureIgnoreCase))
            if (siteStatus.IndexOf("live", StringComparison.InvariantCultureIgnoreCase) >= 0)
            {
                content += "Disallow: " + Environment.NewLine;
            }
            else
            {
                content += "Disallow: /" + Environment.NewLine;
                //content += "Disallow: /" + Environment.NewLine;
            }

            // content += siteStatus;

            return(File(Encoding.UTF8.GetBytes(content), "text/plain"));
        }
コード例 #9
0
        public override HttpResponseMessage Post(system_logging value)
        {
            //  Logger.Trace("Log Post is coming :"+value.log_application);
            if (ModelState.IsValid)
            {
                var logLevel       = (LogLevels)Enum.Parse(typeof(LogLevels), value.log_level);
                var logLevelConfig = (LogLevels)Enum.Parse(typeof(LogLevels), ProjectAppSettings.GetWebConfigString("LogRepositoryLogLevel"));
                if (logLevel <= logLevelConfig)
                {
                    LogRepository.Add(value);
                    LogRepository.Save();
                }

                HttpResponseMessage response = Request.CreateResponse(HttpStatusCode.Created, value);
                response.Headers.Location = new Uri(Url.Link("DefaultApi", new { id = value.Id }));
                return(response);
            }
            else
            {
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }
        }
コード例 #10
0
        public Store GetStoreByDomain(IStoreGeneralRepository storeService, HttpRequestBase request)
        {
            String siteStatus = ProjectAppSettings.GetWebConfigString("SiteStatus", "dev");
            Store  result     = null;

            if (siteStatus.IndexOf("live", StringComparison.InvariantCultureIgnoreCase) >= 0)
            {
                String domainName = "FUELTECHNOLOGYAGE.COM";
                domainName = request.Url.Scheme + Uri.SchemeDelimiter + request.Url.Host +
                             (request.Url.IsDefaultPort ? "" : ":" + request.Url.Port);
                domainName = GeneralHelper.GetDomainPart(domainName);
                result     = storeService.GetStore(domainName);
            }

            if (result == null)
            {
                String defaultSiteDomain = ProjectAppSettings.GetWebConfigString("DefaultSiteDomain", "login.seatechnologyjobs.com");
                result = storeService.GetStoreByDomain(defaultSiteDomain);
            }

            return(result);
        }