Exemplo n.º 1
0
    } // End of the OnAuthorization method

    /// <summary>
    /// Handle a non https request
    /// </summary>
    /// <param name="filterContext">A reference to the context</param>
    protected override void HandleNonHttpsRequest(AuthorizationContext filterContext)
    {
        // Get the current domain
        Domain domain = Tools.GetCurrentDomain();

        // Get the host
        string host = filterContext.HttpContext.Request.Url.Host;

        // Get website settings
        KeyStringList websiteSettings = WebsiteSetting.GetAllFromCache();
        string redirectHttps = websiteSettings.Get("REDIRECT-HTTPS");

        if(redirectHttps.ToLower() == "true")
        {
            // Modify the url
            UriBuilder uriBuilder = new UriBuilder(filterContext.HttpContext.Request.Url);
            uriBuilder.Scheme = "https";
            uriBuilder.Host = domain.web_address.Contains("www.") == true && uriBuilder.Host.Contains("www.") == false ? "www." + uriBuilder.Host : uriBuilder.Host;
            uriBuilder.Port = 443;

            // Redirect to https (301)
            filterContext.HttpContext.Response.RedirectPermanent(uriBuilder.Uri.AbsoluteUri);
        }
        else if (domain.web_address.Contains("www.") == true && host.Contains("www.") == false)
        {
            // Modify the url
            UriBuilder uriBuilder = new UriBuilder(filterContext.HttpContext.Request.Url);
            uriBuilder.Host = domain.web_address.Contains("www.") == true && uriBuilder.Host.Contains("www.") == false ? "www." + uriBuilder.Host : uriBuilder.Host;

            // Redirect to www (301)
            filterContext.HttpContext.Response.RedirectPermanent(uriBuilder.Uri.AbsoluteUri);
        }

    } // End of the HandleNonHttpsRequest method
Exemplo n.º 2
0
        protected void Application_Start()
        {
            ApplicationStartTime = DateTime.Now;

            TelemetryConfiguration.Active.DisableTelemetry = true;
            //WebsiteSettingsManager.SettingChanged += WebsiteSettingsManager_SettingChanged;
            var applicationSetting = PortalDataAccess.GetApplicationSetting();

            //WebsiteSetting applicationSetting = null;
            if (applicationSetting == null)
            {
                applicationSetting = new WebsiteSetting();
                applicationSetting.SetDefaultClient();
            }

            WebsiteSettingsManager.Load(applicationSetting);

            AreaRegistration.RegisterAllAreas();
            //GlobalConfiguration.Configure(WebApiConfig.Register);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);

            //SqlDependency.Start(ApplicationSettingManager.SQLConnectionString);
        }
Exemplo n.º 3
0
        public IHttpActionResult PostWebsiteSetting(WebsiteSetting websiteSetting)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            db.WebsiteSettings.Add(websiteSetting);

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateException)
            {
                if (WebsiteSettingExists(websiteSetting.KeyName))
                {
                    return(Conflict());
                }
                else
                {
                    throw;
                }
            }

            return(CreatedAtRoute("DefaultApi", new { id = websiteSetting.KeyName }, websiteSetting));
        }
Exemplo n.º 4
0
        private async Task LoadGeoData()
        {
            try
            {
                GoWebsiteCache websiteCache = new GoWebsiteCache();
                Stopwatch      stopwatch    = Stopwatch.StartNew();

                HostingEnvironment.QueueBackgroundWorkItem(async(x) =>
                {
                    var settings = PortalDataAccess.GetApplicationSetting();
                    if (settings == null)
                    {
                        settings = new WebsiteSetting();
                        settings.SetDefaultClient();
                    }

                    WebsiteSettingsManager.Load(settings);
                });

                Log.Info($"Wating for all tasks to end {stopwatch.Elapsed}");

                Log.Info($"all tasks to end {stopwatch.Elapsed}");
            }
            catch (Exception ex)
            {
                Log.Error("Failed to load data");
                Log.Error(ex.ToString());
                throw;
            }
        }
Exemplo n.º 5
0
        public IHttpActionResult PutWebsiteSetting(string id, WebsiteSetting websiteSetting)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != websiteSetting.KeyName)
            {
                return(BadRequest());
            }

            db.Entry(websiteSetting).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!WebsiteSettingExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(StatusCode(HttpStatusCode.NoContent));
        }
    protected void SubmitButton_Click(object sender, EventArgs e)
    {
        Page.Validate("CategoryGrp");
        if (!Page.IsValid)
        {
            return;
        }

        try
        {
            using (RockyingDataClassesDataContext db = new RockyingDataClassesDataContext(Utility.ConnectionString))
            {
                WebsiteSetting rs = (from u in db.WebsiteSettings where u.KeyName == "NewsletterDesign" select u).SingleOrDefault();
                rs.KeyValue = KeyValueTextBox.Text.Trim();
                db.SubmitChanges();
                CacheManager.Remove("NewsletterDesign");
                message1.Text     = "Saved Successfuly";
                message1.Visible  = true;
                message1.Indicate = AlertType.Success;
            }
        }
        catch (Exception ex)
        {
            message1.Text     = "Unable to save NewsletterDesign";
            message1.Visible  = true;
            message1.Indicate = AlertType.Error;
            Trace.Write("Unable to save NewsletterDesign.");
            Trace.Write(ex.Message);
            Trace.Write(ex.StackTrace);
        }
    }
Exemplo n.º 7
0
        public ActionResult index(FormCollection collection)
        {
            // Get the current domain
            Domain currentDomain = Tools.GetCurrentDomain();
            ViewBag.CurrentDomain = currentDomain;

            // Get the data from the form
            string user_name = collection["txtUserName"];
            string password = collection["txtPassword"];

            // Get the administrator
            Administrator administrator = Administrator.GetOneByUserName(user_name);

            // Get the current language id for admins
            Int32 adminLanguageId = currentDomain.back_end_language;

            // Get translated texts
            KeyStringList translatedTexts = StaticText.GetAll(adminLanguageId, "id", "ASC");

            // Check if the user name exists and if the password is correct
            if (administrator != null && Administrator.ValidatePassword(user_name, password) == true 
                && Administrator.IsAuthorized(Administrator.GetAllAdminRoles(), administrator.admin_role) == true)
            {
                // Get website settings
                KeyStringList websiteSettings = WebsiteSetting.GetAllFromCache();
                string redirectHttps = websiteSettings.Get("REDIRECT-HTTPS");

                // Create the administrator cookie
                HttpCookie adminCookie = new HttpCookie("Administrator");
                adminCookie.Value = Tools.ProtectCookieValue(administrator.id.ToString(), "Administration");
                adminCookie.Expires = DateTime.UtcNow.AddDays(1);
                adminCookie.HttpOnly = true;
                adminCookie.Secure = redirectHttps.ToLower() == "true" ? true : false;
                Response.Cookies.Add(adminCookie);

                // Redirect the user to the default admin page
                return RedirectToAction("index", "admin_default");
            }
            else
            {
                // Create a new administrator
                Administrator admin = new Administrator();
                admin.admin_user_name = user_name;

                // Set the form data
                ViewBag.Administrator = admin;
                ViewBag.TranslatedTexts = translatedTexts;
                ViewBag.ErrorMessage = "&#149; " + translatedTexts.Get("error_login");

                // Return the index view
                return View("index");
            }

        } // End of the index method
Exemplo n.º 8
0
        public IHttpActionResult GetWebsiteSetting(string id)
        {
            WebsiteSetting websiteSetting = db.WebsiteSettings.Find(id);

            if (websiteSetting == null)
            {
                return(NotFound());
            }

            return(Ok(websiteSetting));
        }
Exemplo n.º 9
0
        private async Task <WebsiteSetting> GetSetting()
        {
            if (_cache.TryGetValue($"{CacheParam.Setting}{CultureInfo.CurrentCulture.Name}", out WebsiteSetting setting))
            {
                return(setting);
            }

            var    requestUrl = _configuration.GetApiUrl();
            var    apiService = _configuration.GetApiServiceInfo();
            string convention = typeof(WebsiteSetting).Namespace;

            var listSettings = await _settingService.GetWebsiteSettingsAsync(apiService.TenantId, CultureInfo.CurrentCulture.Name);

            var settings = listSettings.Items.Select(x => new Setting
            {
                Key = x.Key,
                ConcurrencyStamp = x.ConcurrencyStamp,
                DisplayName      = x.DisplayName,
                GroupId          = x.GroupId,
                LanguageId       = x.LanguageId,
                Value            = x.Value
            }).ToList();

            var websiteSetting = new WebsiteSetting();

            if (settings == null)
            {
                return(websiteSetting);
            }

            websiteSetting.Brand             = Common.GetSettingValue(settings, string.Format("{0}.Brand", convention));
            websiteSetting.Favicon           = Common.GetSettingValue(settings, string.Format("{0}.Favicon", convention));
            websiteSetting.Instruction       = Common.GetSettingValue(settings, string.Format("{0}.Instruction", convention));
            websiteSetting.IpBlocking        = Common.GetSettingValue(settings, string.Format("{0}.IpBlocking", convention));
            websiteSetting.MetaDescription   = Common.GetSettingValue(settings, string.Format("{0}.MetaDescription", convention));
            websiteSetting.MetaTitle         = Common.GetSettingValue(settings, string.Format("{0}.MetaTitle", convention));
            websiteSetting.Logo              = Common.GetSettingValue(settings, string.Format("{0}.Logo", convention));
            websiteSetting.MetaKeyword       = Common.GetSettingValue(settings, string.Format("{0}.MetaKeyword", convention));
            websiteSetting.Fanpage           = Common.GetSettingValue(settings, string.Format("{0}.Fanpage", convention));
            websiteSetting.GoogleMap         = Common.GetSettingValue(settings, string.Format("{0}.GoogleMap", convention));
            websiteSetting.Hotline           = Common.GetSettingValue(settings, string.Format("{0}.Hotline", convention));
            websiteSetting.LogoMobile        = Common.GetSettingValue(settings, string.Format("{0}.LogoMobile", convention));
            websiteSetting.ZaloId            = Common.GetSettingValue(settings, string.Format("{0}.ZaloId", convention));
            websiteSetting.TrackingBody      = Common.GetSettingValue(settings, string.Format("{0}.TrackingBody", convention));
            websiteSetting.TrackingHeader    = Common.GetSettingValue(settings, string.Format("{0}.TrackingHeader", convention));
            websiteSetting.GoogleAnalytics   = Common.GetSettingValue(settings, string.Format("{0}.GoogleAnalytics", convention));
            websiteSetting.CommentNotAllow   = Common.GetSettingValue(settings, string.Format("{0}.CommentNotAllow", convention));
            websiteSetting.FanPageFacebookId = Common.GetSettingValue(settings, string.Format("{0}.FanPageFacebookId", convention));

            _cache.Set(CacheParam.Setting, websiteSetting, TimeSpan.FromHours(1));

            return(websiteSetting);
        }
        public IHttpActionResult SendNewsletter([FromBody] SendNewsletterDTO dto)
        {
            try
            {
                if (string.IsNullOrEmpty(dto.EmailGroup) || string.IsNullOrEmpty(dto.Subject))
                {
                    return(BadRequest("Either email group or subject is missing."));
                }
                WebsiteSetting rs    = db.WebsiteSettings.Find("NewsletterDesign");
                int            count = 0;
                List <Member>  list  = db.Members.ToList();
                foreach (Member m in list)
                {
                    if (m.Newsletter)
                    {
                        EmailMessage em = new EmailMessage();
                        em.CCAddress   = string.Empty;
                        em.CreateDate  = DateTime.Now;
                        em.SentDate    = DateTime.Now;
                        em.EmailGroup  = dto.EmailGroup.Trim();
                        em.EmailType   = EmailMessageType.Newsletter;
                        em.FromAddress = Utility.NewsletterEmail;
                        em.FromName    = Utility.SiteName;
                        em.LastAttempt = DateTime.Now;
                        em.Subject     = dto.Subject.Trim();
                        em.ToAddress   = m.Email;
                        em.ToName      = m.FirstName;
                        em.Message     = rs.KeyValue;
                        em.PublicID    = Guid.NewGuid();
                        string emessage = System.Web.Hosting.HostingEnvironment.MapPath("~/EmailWrapper.html");
                        emessage   = emessage.Replace("[root]", Utility.SiteURL);
                        emessage   = emessage.Replace("[id]", em.ID.ToString());
                        emessage   = emessage.Replace("[newsletteremail]", Utility.NewsletterEmail);
                        emessage   = emessage.Replace("[message]", em.Message);
                        emessage   = emessage.Replace("[toaddress]", em.ToAddress);
                        emessage   = emessage.Replace("[sitename]", Utility.SiteName);
                        emessage   = emessage.Replace("[sitetitle]", Utility.SiteTitle);
                        emessage   = emessage.Replace("[emailsignature]", Utility.GetSiteSetting("EmailSignature"));
                        em.Message = emessage;

                        db.EmailMessages.Add(em);
                        db.SaveChanges();
                        count++;
                    }
                }

                return(Ok(count));
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Exemplo n.º 11
0
        public IActionResult Editsettings(APSettingEditModel settingEdit)
        {
            string FileName;

            WebsiteSetting Selected = _context.WebsiteSettings.FirstOrDefault();

            if (ModelState.IsValid)
            {
                Selected.LocalAddress    = settingEdit.LocalAddress;
                Selected.PhoneNumber     = settingEdit.PhoneNumber;
                Selected.MobileNumber    = settingEdit.PhoneNumber;
                Selected.Email           = settingEdit.Email;
                Selected.FacebookAddress = settingEdit.FacebookAddress;
                Selected.LinkedinAddress = settingEdit.LinkedinAddress;
                Selected.TwitterAdress   = settingEdit.TwitterAdress;

                if (settingEdit.Logo1 != null)
                {
                    string UploadsFolder = Path.Combine(_hosting.WebRootPath, "img", "logo");
                    FileName = Guid.NewGuid() + "_" + settingEdit.Logo1.FileName;
                    string FilePath = Path.Combine(UploadsFolder, FileName);
                    settingEdit.Logo1.CopyTo(new FileStream(FilePath, FileMode.Create));
                    Selected.MainLogo = FileName;
                }

                if (settingEdit.Logo2 != null)
                {
                    string UploadsFolder = Path.Combine(_hosting.WebRootPath, "img", "logo");
                    FileName = Guid.NewGuid() + "_" + settingEdit.Logo2.FileName;
                    string FilePath = Path.Combine(UploadsFolder, FileName);
                    settingEdit.Logo2.CopyTo(new FileStream(FilePath, FileMode.Create));
                    Selected.FooterLogo = FileName;
                }

                if (settingEdit.About != null)
                {
                    Selected.About = settingEdit.About;
                }

                _context.Entry(Selected).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
                _context.SaveChanges();

                return(RedirectToAction("Settings", "Home"));
            }

            APHomeIndexViewModel data = new APHomeIndexViewModel
            {
                setting = Selected
            };

            return(View("~/Areas/Admin/Views/Home/Editsettings.cshtml", data));
        }
Exemplo n.º 12
0
    } // End of the SendEmailToHost method

    /// <summary>
    /// Send an email to a user
    /// </summary>
    /// <param name="toAddress">The address to send the email to</param>
    /// <param name="subject">The subject for the mail message</param>
    /// <param name="message">The mail message</param>
    public static bool SendEmailToUser(string toAddress, string subject, string message)
    {
        // Create the boolean to return
        bool successful = true;

        // Get the webshop settings
        KeyStringList webshopSettings = WebsiteSetting.GetAllFromCache();

        // Create variables
        string host = webshopSettings.Get("SEND-EMAIL-HOST");
        Int32 port = 0;
        Int32.TryParse(webshopSettings.Get("SEND-EMAIL-PORT"), out port);
        string emailAddress = webshopSettings.Get("SEND-EMAIL-ADDRESS");
        string password = webshopSettings.Get("SEND-EMAIL-PASSWORD");
        string useSSL = webshopSettings.Get("SEND-EMAIL-USE-SSL");

        // Create the SmtpClient instance
        SmtpClient smtp = new SmtpClient(host, port);
        smtp.Credentials = new NetworkCredential(emailAddress, password);

        // Check if SSL should be used
        if (useSSL.ToLower() == "true")
        {
            smtp.EnableSsl = true;
        }

        // Try to send the mail message
        try
        {
            // Create the mail message instance
            MailMessage mailMessage = new MailMessage(emailAddress, toAddress);

            // Create the mail message
            mailMessage.Subject = subject;
            mailMessage.Body = message;
            mailMessage.IsBodyHtml = true;

            // Send the mail message
            smtp.Send(mailMessage);

        }
        catch (Exception ex)
        {
            string exceptionMessage = ex.Message;
            successful = false;
        }

        // Return the boolean
        return successful;

    } // End of the SendEmailToUser method
Exemplo n.º 13
0
        public IHttpActionResult DeleteWebsiteSetting(string id)
        {
            WebsiteSetting websiteSetting = db.WebsiteSettings.Find(id);

            if (websiteSetting == null)
            {
                return(NotFound());
            }

            db.WebsiteSettings.Remove(websiteSetting);
            db.SaveChanges();

            return(Ok(websiteSetting));
        }
Exemplo n.º 14
0
        private async Task <WebsiteSetting> GetSetting()
        {
            if (_cache.TryGetValue($"{CacheParam.Setting}{CultureInfo.CurrentCulture.Name}", out WebsiteSetting setting))
            {
                return(Task.Run(() => setting).Result);
            }

            var    requestUrl = _configuration.GetApiUrl();
            var    apiService = _configuration.GetApiServiceInfo();
            string convention = "GHM.Website.Domain.Models.WebsiteSetting";

            //var listSettings = new HttpClientService()
            //    .GetAsync<SearchResult<Setting>>($"{requestUrl.ApiGatewayUrl}/api/v1/website/settings/get-setting/{apiService.TenantId}/{CultureInfo.CurrentCulture.Name}");

            var listSettings = await _settingService.GetWebsiteSettingsAsync(apiService.TenantId, CultureInfo.CurrentCulture.Name);

            var settings = listSettings.Items.Select(x => new Setting {
                Key = x.Key,
                ConcurrencyStamp = x.ConcurrencyStamp,
                DisplayName      = x.DisplayName,
                GroupId          = x.GroupId,
                LanguageId       = x.LanguageId,
                Value            = x.Value
            }).ToList();

            var websiteSetting = new WebsiteSetting();

            if (settings == null)
            {
                return(websiteSetting);
            }

            websiteSetting.Brand           = Common.GetSettingValue(settings, string.Format("{0}.Brand", convention));
            websiteSetting.Favicon         = Common.GetSettingValue(settings, string.Format("{0}.Favicon", convention));
            websiteSetting.Instruction     = Common.GetSettingValue(settings, string.Format("{0}.Instruction", convention));
            websiteSetting.IpBlocking      = Common.GetSettingValue(settings, string.Format("{0}.IpBlocking", convention));
            websiteSetting.MetaDescription = Common.GetSettingValue(settings, string.Format("{0}.MetaDescription", convention));
            websiteSetting.MetaTitle       = Common.GetSettingValue(settings, string.Format("{0}.MetaTitle", convention));
            websiteSetting.Logo            = Common.GetSettingValue(settings, string.Format("{0}.Logo", convention));
            websiteSetting.MetaKeyword     = Common.GetSettingValue(settings, string.Format("{0}.MetaKeyword", convention));
            websiteSetting.Fanpage         = Common.GetSettingValue(settings, string.Format("{0}.Fanpage", convention));
            websiteSetting.GoogleMap       = Common.GetSettingValue(settings, string.Format("{0}.GoogleMap", convention));
            websiteSetting.Hotline         = Common.GetSettingValue(settings, string.Format("{0}.Hotline", convention));
            websiteSetting.LogoMobile      = Common.GetSettingValue(settings, string.Format("{0}.LogoMobile", convention));
            websiteSetting.ZaloId          = Common.GetSettingValue(settings, string.Format("{0}.ZaloId", convention));

            _cache.Set($"{CacheParam.Setting}{CultureInfo.CurrentCulture.Name}", websiteSetting, TimeSpan.FromMinutes(5));

            return(websiteSetting);
        }
        public static void SendEmail(string ReceiverEmailID, string EmailSubject, string MessageBody, string application = "")
        {
            string   connectionString = ConfigurationManager.ConnectionStrings["NHSConStr"].ConnectionString;
            DBEngine dBEngine         = new DBEngine(connectionString);

            WebsiteSetting setting = dBEngine.GetWebsiteSettings(0);

            #region Email
            string SMTPCLIENT        = setting.SMTPServer;
            string EMAILID           = setting.EmailID;
            string PASSWORD          = setting.Password;
            int    PORT              = setting.Port;
            bool   ENABLESSL         = false;
            string EMAIL_DISPLAYNAME = "CORS";
            #endregion


            try
            {
                MailMessage mail = new MailMessage();
                string      smtp = SMTPCLIENT;                      //ServerSettings.SMTPCLIENT;

                SmtpClient SmtpServer = new SmtpClient(SMTPCLIENT); //new SmtpClient(ServerSettings.SMTPCLIENT);

                //mail.From = new MailAddress(ServerSettings.EMAILID, ServerSettings.EMAIL_DISPLAYNAME);
                mail.From = new MailAddress(EMAILID, EMAIL_DISPLAYNAME);
                mail.To.Add(ReceiverEmailID);

                mail.Subject = HttpUtility.HtmlDecode(EmailSubject);
                String emailBody = MessageBody;
                mail.Body = HttpUtility.HtmlDecode(emailBody);


                mail.IsBodyHtml = true;
                //SmtpServer.Port = ServerSettings.PORT;
                SmtpServer.Port = PORT;
                //SmtpServer.Credentials = new System.Net.NetworkCredential(ServerSettings.EMAILID, ServerSettings.PASSWORD);
                SmtpServer.UseDefaultCredentials = false;
                SmtpServer.Credentials           = new System.Net.NetworkCredential(EMAILID, PASSWORD);
                //SmtpServer.EnableSsl = ServerSettings.ENABLESSL;
                SmtpServer.EnableSsl = ENABLESSL;

                SmtpServer.Send(mail);
            }
            catch (Exception ex)
            {
                dBEngine.LogException(ex.Message, "HomeController", "SendEmail", System.DateTime.Now, 0);
            }
        }
Exemplo n.º 16
0
        public async Task <JsonResult> Comment(CommentMeta commentMeta)
        {
            if (!ModelState.IsValid)
            {
                return(Json(GetErrorsInModelState()));
            }

            var apiService = _configuration.GetApiServiceInfo();

            var listSettings = await _settingService.GetWebsiteSettingsAsync(apiService.TenantId, CultureInfo.CurrentCulture.Name);

            var settings = listSettings.Items.Select(x => new Setting
            {
                Key = x.Key,
                ConcurrencyStamp = x.ConcurrencyStamp,
                DisplayName      = x.DisplayName,
                GroupId          = x.GroupId,
                LanguageId       = x.LanguageId,
                Value            = x.Value
            }).ToList();

            var    websiteSetting = new WebsiteSetting();
            string convention     = typeof(WebsiteSetting).Namespace;

            var commentNotAllow = Common.GetSettingValue(settings, string.Format("{0}.CommentNotAllow", convention));

            if (!string.IsNullOrEmpty(commentNotAllow))
            {
                var listComment = commentNotAllow.Split(',');
                if (listComment != null && listComment.Any())
                {
                    foreach (var comment in listComment)
                    {
                        if (commentMeta.Content.Contains(comment))
                        {
                            return(Json($"Bạn không được phép bình luận từ {comment}"));
                        }
                    }
                }
            }

            var commentMetaData = JsonConvertHelper.GetObjectFromObject <WebsiteClient.Api.Domain.ModelMetas.CommentMeta>(commentMeta);

            commentMetaData.TenantId = apiService.TenantId;

            var result = await _feedbackService.InsertComment(commentMetaData);

            return(Json(result));
        }
        public ActionResult index(FormCollection collection)
        {
            // Get the current domain
            Domain currentDomain = Tools.GetCurrentDomain();
            ViewBag.CurrentDomain = currentDomain;

            // Get query paramaters
            ViewBag.QueryParams = new QueryParams(Request);

            // Check if the administrator is authorized
            if (Administrator.IsAuthorized(new string[] { "Administrator", "Editor" }) == true)
            {
                ViewBag.AdminSession = true;
            }
            else if (Administrator.IsAuthorized(Administrator.GetAllAdminRoles()) == true)
            {
                ViewBag.AdminSession = true;
                ViewBag.AdminErrorCode = 1;
                ViewBag.TranslatedTexts = StaticText.GetAll(currentDomain.back_end_language, "id", "ASC");
                return View("~/Views/admin_default/index.cshtml");
            }
            else
            {
                // Redirect the user to the start page
                return RedirectToAction("index", "admin_login");
            }

            // Update all the webshop settings
            foreach(string key in collection.Keys)
            {
                // Get the value
                string value = collection[key];
                value = value.Length > 100 ? value.Substring(0, 100) : value;

                // Update the value for the key
                WebsiteSetting.Update(key, collection[key]);
            }

            // Return the default view
            return RedirectToAction("index", "admin_default");

        } // End of the index method
Exemplo n.º 18
0
        public ActionResult layout(string id = "")
        {
            // Get website settings
            KeyStringList websiteSettings = WebsiteSetting.GetAllFromCache();
            string redirectHttps = websiteSettings.Get("REDIRECT-HTTPS");

            // Create a new cookie
            HttpCookie aCookie = new HttpCookie("LayoutType");
            aCookie.Value = id;

            // Set the expiration and add the cookie
            aCookie.Expires = DateTime.UtcNow.AddDays(1);
            aCookie.HttpOnly = true;
            aCookie.Secure = redirectHttps.ToLower() == "true" ? true : false;
            Response.Cookies.Add(aCookie);

            // Redirect the user to the new url
            return Redirect("/");

        } // End of the layout method
Exemplo n.º 19
0
        private WebsiteSetting GetSetting()
        {
            if (_cache.TryGetValue(CacheParam.Setting, out WebsiteSetting setting))
            {
                return(setting);
            }

            var    requestUrl = _configuration.GetApiUrl();
            var    apiService = _configuration.GetApiServiceInfo();
            string convention = typeof(WebsiteSetting).Namespace;

            var listSettings = new HttpClientService()
                               .GetAsync <SearchResult <Setting> >($"{requestUrl.ApiGatewayUrl}/api/v1/website/settings/get-setting/{apiService.TenantId}/{CultureInfo.CurrentCulture.Name}");

            var settings = listSettings.Result?.Items;

            var websiteSetting = new WebsiteSetting();

            if (settings == null)
            {
                return(websiteSetting);
            }

            websiteSetting.Brand           = Common.GetSettingValue(settings, string.Format("{0}.Brand", convention));
            websiteSetting.Favicon         = Common.GetSettingValue(settings, string.Format("{0}.Favicon", convention));
            websiteSetting.Instruction     = Common.GetSettingValue(settings, string.Format("{0}.Instruction", convention));
            websiteSetting.IpBlocking      = Common.GetSettingValue(settings, string.Format("{0}.IpBlocking", convention));
            websiteSetting.MetaDescription = Common.GetSettingValue(settings, string.Format("{0}.MetaDescription", convention));
            websiteSetting.MetaTitle       = Common.GetSettingValue(settings, string.Format("{0}.MetaTitle", convention));
            websiteSetting.Logo            = Common.GetSettingValue(settings, string.Format("{0}.Logo", convention));
            websiteSetting.MetaKeyword     = Common.GetSettingValue(settings, string.Format("{0}.MetaKeyword", convention));
            websiteSetting.Fanpage         = Common.GetSettingValue(settings, string.Format("{0}.Fanpage", convention));
            websiteSetting.GoogleMap       = Common.GetSettingValue(settings, string.Format("{0}.GoogleMap", convention));
            websiteSetting.Hotline         = Common.GetSettingValue(settings, string.Format("{0}.Hotline", convention));
            websiteSetting.LogoMobile      = Common.GetSettingValue(settings, string.Format("{0}.LogoMobile", convention));

            _cache.Set(CacheParam.Setting, websiteSetting, TimeSpan.FromHours(2));

            return(websiteSetting);
        }
        public ActionResult index()
        {
            // Get the current domain
            Domain currentDomain = Tools.GetCurrentDomain();
            ViewBag.CurrentDomain = currentDomain;

            // Get query paramaters
            ViewBag.QueryParams = new QueryParams(Request);

            // Check if the administrator is authorized
            if (Administrator.IsAuthorized(new string[] { "Administrator", "Editor" }) == true)
            {
                ViewBag.AdminSession = true;
            }
            else if (Administrator.IsAuthorized(Administrator.GetAllAdminRoles()) == true)
            {
                ViewBag.AdminSession = true;
                ViewBag.AdminErrorCode = 1;
                ViewBag.TranslatedTexts = StaticText.GetAll(currentDomain.back_end_language, "id", "ASC");
                return View("~/Views/admin_default/index.cshtml");
            }
            else
            {
                // Redirect the user to the start page
                return RedirectToAction("index", "admin_login");
            }

            // Get the default admin language
            Int32 adminLanguageId = currentDomain.back_end_language;

            // Add data to the view
            ViewBag.TranslatedTexts = StaticText.GetAll(adminLanguageId, "id", "ASC");
            ViewBag.WebsiteSettings = WebsiteSetting.GetAllFromCache();

            // Return the view
            return View();

        } // End of the index method
Exemplo n.º 21
0
        public void ConfigureServices(IServiceCollection services)
        {
            services.Configure <CookiePolicyOptions>(options =>
            {
                options.CheckConsentNeeded    = context => true;
                options.MinimumSameSitePolicy = SameSiteMode.None;
            });

            services.AddDbContext <ApplicationDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

            services.AddDefaultIdentity <IdentityUser>().AddRoles <IdentityRole>().AddDefaultUI(UIFramework.Bootstrap4).AddEntityFrameworkStores <ApplicationDbContext>();

            #region IdentityConfig
            services.Configure <IdentityOptions>(options =>
            {
                options.Password.RequireDigit           = true;
                options.Password.RequireLowercase       = false;
                options.Password.RequireNonAlphanumeric = false;
                options.Password.RequireUppercase       = false;
                options.Password.RequiredLength         = 6;
                options.Password.RequiredUniqueChars    = 1;

                options.Lockout.DefaultLockoutTimeSpan  = TimeSpan.FromMinutes(5);
                options.Lockout.MaxFailedAccessAttempts = 5;
                options.Lockout.AllowedForNewUsers      = true;

                options.User.AllowedUserNameCharacters =
                    "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789-._@+";
                options.User.RequireUniqueEmail = false;
            });

            services.ConfigureApplicationCookie(options =>
            {
                options.Cookie.HttpOnly = true;
                options.ExpireTimeSpan  = TimeSpan.FromDays(365);

                options.LoginPath         = "/Identity/Account/Login";
                options.AccessDeniedPath  = "/Identity/Account/AccessDenied";
                options.SlidingExpiration = true;
            });
            #endregion

            #region Setting
            var config = new WebsiteSetting();
            Configuration.Bind("WebsiteSetting", config);
            services.AddSingleton(config);
            #endregion

            services.AddRouting(option =>
            {
                option.AppendTrailingSlash = true;
                option.LowercaseUrls       = true;
            });

            services.AddMvc(options => options.EnableEndpointRouting = false).SetCompatibilityVersion(CompatibilityVersion.Version_2_2);

            #region Logging
            services.AddLogging(option =>
            {
                option.AddConfiguration(Configuration.GetSection("Logging"));
                option.AddConsole();
                option.AddDebug();
                option.AddEventSourceLogger();
            });
            #endregion
        }
    protected void SendButton_Click(object sender, EventArgs e)
    {
        Page.Validate("CategoryGrp");
        if (!Page.IsValid)
        {
            return;
        }

        try
        {
            using (RockyingDataClassesDataContext db = new RockyingDataClassesDataContext(Utility.ConnectionString))
            {
                WebsiteSetting rs = (from u in db.WebsiteSettings where u.KeyName == "NewsletterDesign" select u).SingleOrDefault();
                rs.KeyValue = KeyValueTextBox.Text.Trim();
                db.SubmitChanges();
                CacheManager.Remove("NewsletterDesign");

                List <Member> list = MemberManager.GetMemberList();
                foreach (Member m in list)
                {
                    if (m.Newsletter)
                    {
                        EmailMessage em = new EmailMessage();
                        em.CCAdress    = string.Empty;
                        em.CreateDate  = DateTime.Now;
                        em.SentDate    = DateTime.Now;
                        em.EmailGroup  = EGroupTextBox.Text.Trim();
                        em.EmailType   = (byte)EmailMessageType.Newsletter;
                        em.FromAddress = Utility.NewsletterEmail;
                        em.FromName    = Utility.SiteName;
                        em.LastAttempt = DateTime.Now;
                        em.ID          = Guid.NewGuid();
                        em.Subject     = SubjectTextBox.Text.Trim();
                        em.ToAddress   = m.Email;
                        em.ToName      = m.MemberName;
                        em.Message     = Utility.NewsletterDesign();

                        string emessage = System.IO.File.ReadAllText(HttpContext.Current.Server.MapPath("~/emailtemplates/EmailWrapper.htm"));
                        emessage   = emessage.Replace("[root]", Utility.SiteURL);
                        emessage   = emessage.Replace("[newsletteremail]", Utility.NewsletterEmail);
                        emessage   = emessage.Replace("[message]", em.Message);
                        emessage   = emessage.Replace("[id]", em.ID.ToString());
                        emessage   = emessage.Replace("[toaddress]", em.ToAddress);
                        emessage   = emessage.Replace("[sitename]", Utility.SiteName);
                        emessage   = emessage.Replace("[adminname]", Utility.AdminName);
                        emessage   = emessage.Replace("[address]", Utility.Address);
                        emessage   = emessage.Replace("[emailid]", em.ToAddress);
                        emessage   = emessage.Replace("[emailsignature]", Utility.GetSiteSetting("emailsignature"));
                        em.Message = emessage;

                        db.EmailMessages.InsertOnSubmit(em);
                    }
                }

                db.SubmitChanges();
                message1.Text     = "Sent Successfuly";
                message1.Visible  = true;
                message1.Indicate = AlertType.Success;
            }
        }
        catch (Exception ex)
        {
            message1.Text     = string.Format("Unable to save & send NewsletterDesign. Message {0}", ex.Message);
            message1.Visible  = true;
            message1.Indicate = AlertType.Error;
            Trace.Write("Unable to save NewsletterDesign.");
            Trace.Write(ex.Message);
            Trace.Write(ex.StackTrace);
        }
    }
Exemplo n.º 23
0
        public ActionResult login(FormCollection collection)
        {
            // Get data from the form
            string returnUrl = collection["hiddenReturnUrl"];
            string user_name = collection["txtUserName"];
            string password = collection["txtPassword"];

            // Get the user
            Administrator user = Administrator.GetOneByUserName(user_name);

            // Get the current domain
            Domain currentDomain = Tools.GetCurrentDomain();

            // Get translated texts
            KeyStringList tt = StaticText.GetAll(currentDomain.front_end_language, "id", "ASC");

            // Check if the user exists and if the password is correct
            if (user != null && Administrator.ValidatePassword(user_name, password) == true)
            {
                // Get website settings
                KeyStringList websiteSettings = WebsiteSetting.GetAllFromCache();
                string redirectHttps = websiteSettings.Get("REDIRECT-HTTPS");

                // Create the administrator cookie
                HttpCookie adminCookie = new HttpCookie("Administrator");
                adminCookie.Value = Tools.ProtectCookieValue(user.id.ToString(), "Administration");
                adminCookie.Expires = DateTime.UtcNow.AddDays(1);
                adminCookie.HttpOnly = true;
                adminCookie.Secure = redirectHttps.ToLower() == "true" ? true : false;
                Response.Cookies.Add(adminCookie);

                // Redirect the user to the checkout page
                return Redirect(returnUrl);
            }
            else
            {
                // Create a new user
                user = new Administrator();
                user.admin_user_name = user_name;
                string error_message = "&#149; " + tt.Get("error_login");

                // Create the bread crumb list
                List<BreadCrumb> breadCrumbs = new List<BreadCrumb>(3);
                breadCrumbs.Add(new BreadCrumb(tt.Get("start_page"), "/"));
                breadCrumbs.Add(new BreadCrumb(tt.Get("my_pages"), "/user"));
                breadCrumbs.Add(new BreadCrumb(tt.Get("log_in"), "/user/login"));

                // Set values
                ViewBag.BreadCrumbs = breadCrumbs;
                ViewBag.CurrentCategory = new Category();
                ViewBag.TranslatedTexts = tt;
                ViewBag.CurrentDomain = currentDomain;
                ViewBag.CurrentLanguage = Language.GetOneById(currentDomain.front_end_language);
                ViewBag.User = user;
                ViewBag.ErrorMessage = error_message;
                ViewBag.CultureInfo = Tools.GetCultureInfo(ViewBag.CurrentLanguage);

                // Return the login view
                return currentDomain.custom_theme_id == 0 ? View() : View("/Views/theme/user_login.cshtml");
            }

        } // End of the login method
Exemplo n.º 24
0
        public ActionResult edit(FormCollection collection)
        {
            // Get all the form values
            Int32 id = Convert.ToInt32(collection["txtId"]);
            string user_name = collection["txtUserName"];
            string password = collection["txtPassword"];
            string email = collection["txtEmail"];
            string author_name = collection["txtAuthorName"];
            string author_description = collection["txtAuthorDescription"];
            HttpPostedFileBase authorImage = Request.Files["uploadMainImage"];

            // Modify the author description
            author_description = author_description.Replace(Environment.NewLine, "<br />");

            // Get the current domain
            Domain domain = Tools.GetCurrentDomain();

            // Get translated texts
            KeyStringList tt = StaticText.GetAll(domain.front_end_language, "id", "ASC");

            // Get the user
            Administrator user = Administrator.GetOneById(id, domain.front_end_language);

            // Check if the user exists
            if (user == null)
            {
                // Check if the user exists but not are translated
                user = Administrator.GetOneById(id);
                if(user == null)
                {
                    // Create an empty user
                    user = new Administrator();
                }
            }

            // Update values
            user.admin_user_name = user_name;
            user.email = email;
            user.author_name = author_name;
            user.author_description = author_description;

            // Create a error message
            string errorMessage = string.Empty;

            // Get the user on user name
            Administrator userOnUserName = Administrator.GetOneByUserName(user.admin_user_name);

            // Check for errors
            if (userOnUserName != null && user.id != userOnUserName.id)
            {
                errorMessage += "&#149; " + String.Format(tt.Get("error_field_unique"), tt.Get("user_name")) + "<br/>";
            }
            if (user.admin_user_name.Length > 50)
            {
                errorMessage += "&#149; " + String.Format(tt.Get("error_field_length"), tt.Get("user_name"), "50") + "<br/>";
            }
            if (user.author_name.Length > 50)
            {
                errorMessage += "&#149; " + String.Format(tt.Get("error_field_length"), tt.Get("name"), "50") + "<br/>";
            }
            if (AnnytabDataValidation.IsEmailAddressValid(user.email) == null)
            {
                errorMessage += "&#149; " + tt.Get("error_email_valid") + "<br/>";
            }
            if (authorImage.ContentLength > 0 && Tools.IsImageJpeg(authorImage) == false)
            {
                errorMessage += "&#149; " + tt.Get("error_invalid_jpeg") + "<br/>";
            }
            if (authorImage.ContentLength > 262144)
            {
                errorMessage += "&#149; " + String.Format(tt.Get("error_image_size"), "256 kb") + "<br/>"; ;
            }

            // Check if there is errors
            if (errorMessage == string.Empty)
            {
                // Check if we should add or update the user
                if (user.id == 0)
                {
                    // Add the user
                    user.admin_role = "User";
                    Int64 insertId = Administrator.AddMasterPost(user);
                    user.id = Convert.ToInt32(insertId);
                    Administrator.AddLanguagePost(user, domain.front_end_language);
                    Administrator.UpdatePassword(user.id, PasswordHash.CreateHash(password));

                    // Get website settings
                    KeyStringList websiteSettings = WebsiteSetting.GetAllFromCache();
                    string redirectHttps = websiteSettings.Get("REDIRECT-HTTPS");

                    // Create the administrator cookie
                    HttpCookie adminCookie = new HttpCookie("Administrator");
                    adminCookie.Value = Tools.ProtectCookieValue(user.id.ToString(), "Administration");
                    adminCookie.Expires = DateTime.UtcNow.AddDays(1);
                    adminCookie.HttpOnly = true;
                    adminCookie.Secure = redirectHttps.ToLower() == "true" ? true : false;
                    Response.Cookies.Add(adminCookie);
                }
                else
                {
                    // Update the user
                    Administrator.UpdateMasterPost(user);

                    // Update or add the language post
                    if (Administrator.GetOneById(id, domain.front_end_language) != null)
                    {
                        Administrator.UpdateLanguagePost(user, domain.front_end_language);
                    }
                    else
                    {
                        Administrator.AddLanguagePost(user, domain.front_end_language);
                    }
                    

                    // Only update the password if it has changed
                    if (password != "")
                    {
                        Administrator.UpdatePassword(user.id, PasswordHash.CreateHash(password));
                    }
                }

                // Update the image
                if (authorImage.ContentLength > 0)
                {
                    UpdateImage(user.id, authorImage);
                }

                // Redirect the user to the start page
                return RedirectToAction("index");
            }
            else
            {
                // Create the bread crumb list
                List<BreadCrumb> breadCrumbs = new List<BreadCrumb>(3);
                breadCrumbs.Add(new BreadCrumb(tt.Get("start_page"), "/"));
                breadCrumbs.Add(new BreadCrumb(tt.Get("my_pages"), "/user"));
                breadCrumbs.Add(new BreadCrumb(tt.Get("edit") + " " + tt.Get("user_details").ToLower(), "/user/edit"));

                // Set form values
                ViewBag.BreadCrumbs = breadCrumbs;
                ViewBag.ErrorMessage = errorMessage;
                ViewBag.CurrentCategory = new Category();
                ViewBag.CurrentDomain = domain;
                ViewBag.CurrentLanguage = Language.GetOneById(domain.front_end_language);
                ViewBag.TranslatedTexts = tt;
                ViewBag.User = user;
                ViewBag.CultureInfo = Tools.GetCultureInfo(ViewBag.CurrentLanguage);

                // Return the edit view
                return domain.custom_theme_id == 0 ? View("edit") : View("/Views/theme/edit_user_details.cshtml");
            }

        } // End of the edit method
Exemplo n.º 25
0
        public async Task<ActionResult> google_login_callback()
        {
            // Get the current domain
            Domain domain = Tools.GetCurrentDomain();

            // Get the state
            string state = "";
            if (Request.Params["state"] != null)
            {
                state = Server.UrlDecode(Request.Params["state"]);
            }

            // Get the state stored in the session
            string sessionState = "";
            if(Session["GoogleState"] != null)
            {
                sessionState = Session["GoogleState"].ToString();
            }

            // Get the code
            string code = "";
            if (Request.Params["code"] != null)
            {
                code = Server.UrlDecode(Request.Params["code"]);
            }

             // Check if this is a valid callback
            if (state != sessionState || code == "")
            {
                // Redirect the user
                return Redirect("/");
            }

            // Get website settings
            KeyStringList websiteSettings = WebsiteSetting.GetAllFromCache();
            string redirectHttps = websiteSettings.Get("REDIRECT-HTTPS");

            // Get the access token
            string access_token = await AnnytabExternalLogin.GetGoogleAccessToken(domain, code);

            // Get the google user
            Dictionary<string, object> googleUser = await AnnytabExternalLogin.GetGoogleUser(domain, access_token);

            // Get the google data
            string googleId = googleUser.ContainsKey("id") == true ? googleUser["id"].ToString() : "";
            string googleName = googleUser.ContainsKey("displayName") == true ? googleUser["displayName"].ToString() : "";

            // Get the signed in user
            Administrator user = Administrator.GetSignedInAdministrator();

            // Check if the user exists or not
            if (googleId != "" && user != null)
            {
                // Update the user
                user.google_user_id = googleId;
                Administrator.UpdateMasterPost(user);

                // Redirect the user to his start page
                return RedirectToAction("index", "user");
            }
            else if (googleId != "" && user == null)
            {
                // Check if we can find a user with the google id
                user = Administrator.GetOneByGoogleUserId(googleId);

                // Check if the user exists
                if (user == null)
                {
                    // Create a new administrator
                    user = new Administrator();
                    user.admin_user_name = googleId + "_google";
                    user.admin_password = PasswordHash.CreateHash(Tools.GeneratePassword());
                    user.admin_role = "User";
                    user.author_name = "-";
                    user.google_user_id = googleId;

                    // Add the new Administrator
                    Int64 insertId = Administrator.AddMasterPost(user);
                    user.id = Convert.ToInt32(insertId);
                    Administrator.AddLanguagePost(user, domain.front_end_language);
                    Administrator.UpdatePassword(user.id, PasswordHash.CreateHash(user.admin_password));

                    // Create the administrator cookie
                    HttpCookie adminCookie = new HttpCookie("Administrator");
                    adminCookie.Value = Tools.ProtectCookieValue(user.id.ToString(), "Administration");
                    adminCookie.Expires = DateTime.UtcNow.AddDays(1);
                    adminCookie.HttpOnly = true;
                    adminCookie.Secure = redirectHttps.ToLower() == "true" ? true : false;
                    Response.Cookies.Add(adminCookie);

                    // Redirect the user to the edit user page
                    return Redirect("/user/edit");
                }
                else
                {
                    // Create the administrator cookie
                    HttpCookie adminCookie = new HttpCookie("Administrator");
                    adminCookie.Value = Tools.ProtectCookieValue(user.id.ToString(), "Administration");
                    adminCookie.Expires = DateTime.UtcNow.AddDays(1);
                    adminCookie.HttpOnly = true;
                    adminCookie.Secure = redirectHttps.ToLower() == "true" ? true : false;
                    Response.Cookies.Add(adminCookie);

                    // Redirect the user to the start page
                    return RedirectToAction("index");
                }
            }
            else
            {
                // Redirect the user to the login
                return RedirectToAction("login", "user");
            }

        } // End of the google_login_callback method
Exemplo n.º 26
0
 public WebsiteSetting()
 {
     Current = this;
 }
Exemplo n.º 27
0
    protected void SubmitButton_Click(object sender, EventArgs e)
    {
        Page.Validate("CategoryGrp");
        if (!Page.IsValid)
        {
            return;
        }

        try
        {
            using (RockyingDataClassesDataContext db = new RockyingDataClassesDataContext(Utility.ConnectionString))
            {
                WebsiteSetting sn = (from u in db.WebsiteSettings where u.KeyName == "SiteName" select u).SingleOrDefault();
                sn.KeyValue = SiteNameTextBox.Text.Trim();
                CacheManager.Remove("SiteName");

                WebsiteSetting su = (from u in db.WebsiteSettings where u.KeyName == "SiteURL" select u).SingleOrDefault();
                su.KeyValue = SiteURLTextBox.Text.Trim();
                db.SubmitChanges();
                CacheManager.Remove("SiteURL");

                WebsiteSetting st = (from u in db.WebsiteSettings where u.KeyName == "SiteTitle" select u).SingleOrDefault();
                st.KeyValue = SiteTitleTextBox.Text.Trim();
                db.SubmitChanges();
                CacheManager.Remove("SiteTitle");

                WebsiteSetting up = (from u in db.WebsiteSettings where u.KeyName == "UniversalPassword" select u).SingleOrDefault();
                up.KeyValue = UPasswordTextBox.Text.Trim();
                db.SubmitChanges();
                CacheManager.Remove("UniversalPassword");

                WebsiteSetting ne = (from u in db.WebsiteSettings where u.KeyName == "NewsletterEmail" select u).SingleOrDefault();
                ne.KeyValue = NewsletterEmailTextBox.Text.Trim();
                db.SubmitChanges();
                CacheManager.Remove("NewsletterEmail");

                WebsiteSetting an = (from u in db.WebsiteSettings where u.KeyName == "AdminName" select u).SingleOrDefault();
                an.KeyValue = NewsletterNameTextBox.Text.Trim();
                db.SubmitChanges();
                CacheManager.Remove("AdminName");

                WebsiteSetting a = (from u in db.WebsiteSettings where u.KeyName == "Address" select u).SingleOrDefault();
                a.KeyValue = AddressTextBox.Text.Trim();
                db.SubmitChanges();
                CacheManager.Remove("Address");

                WebsiteSetting p = (from u in db.WebsiteSettings where u.KeyName == "Phone" select u).SingleOrDefault();
                p.KeyValue = PhoneTextBox.Text.Trim();
                db.SubmitChanges();
                CacheManager.Remove("Phone");

                WebsiteSetting f = (from u in db.WebsiteSettings where u.KeyName == "Fax" select u).SingleOrDefault();
                f.KeyValue = FaxTextBox.Text.Trim();
                db.SubmitChanges();
                CacheManager.Remove("Fax");

                WebsiteSetting ce = (from u in db.WebsiteSettings where u.KeyName == "ContactEmail" select u).SingleOrDefault();
                ce.KeyValue = ContactTextBox.Text.Trim();
                db.SubmitChanges();
                CacheManager.Remove("ContactEmail");

                WebsiteSetting es = (from u in db.WebsiteSettings where u.KeyName == "EmailSignature" select u).SingleOrDefault();
                es.KeyValue = EmailSignatureTextBox.Text.Trim();
                db.SubmitChanges();
                CacheManager.Remove("EmailSignature");

                WebsiteSetting sh = (from u in db.WebsiteSettings where u.KeyName == "SiteHeader" select u).SingleOrDefault();
                sh.KeyValue = HeaderTextBox.Text.Trim();
                db.SubmitChanges();
                CacheManager.Remove("SiteHeader");

                WebsiteSetting sf = (from u in db.WebsiteSettings where u.KeyName == "SiteFooter" select u).SingleOrDefault();
                sf.KeyValue = FooterTextBox.Text.Trim();
                db.SubmitChanges();
                CacheManager.Remove("SiteFooter");

                WebsiteSetting chc = (from u in db.WebsiteSettings where u.KeyName == "CommonHeadContent" select u).SingleOrDefault();
                chc.KeyValue = HeadContentTextBox.Text.Trim();
                db.SubmitChanges();
                CacheManager.Remove("CommonHeadContent");

                message1.Text     = "Saved Successfuly";
                message1.Visible  = true;
                message1.Indicate = AlertType.Success;
            }
        }
        catch (Exception ex)
        {
            message1.Text     = "Unable to save settings";
            message1.Visible  = true;
            message1.Indicate = AlertType.Error;
            Trace.Write("Unable to save settings.");
            Trace.Write(ex.Message);
            Trace.Write(ex.StackTrace);
        }
    }