private string FillEmailTempalte() { var screenHeight = string.Empty; var screenWidth = string.Empty; if (Request.Cookies["screen_width"] != null) { screenWidth = Request.Cookies["screen_width"].Value; } if (Request.Cookies["screen_height"] != null) { screenHeight = Request.Cookies["screen_height"].Value; } var browserName = string.Empty; var browserVersion = string.Empty; if (Request.Cookies["browser_name"] != null) { browserName = HttpUtility.UrlDecode(Request.Cookies["browser_name"].Value); } if (Request.Cookies["browser_version"] != null) { browserVersion = Request.Cookies["browser_version"].Value; } var srHtmlTemplate = new StreamReader(Server.MapPath(Constants.EmailTemplate)); var htmlTemplate = srHtmlTemplate.ReadToEnd(); var computerInfo = new ComputerInfo(); var browser = Request.Browser; var feedbackProjectName = ConfigurationsUtil.GetProjectName(); var emailModel = new EmailModel { ProjectName = feedbackProjectName, UserOs = computerInfo.OSFullName, ScreenHeight = screenHeight.ToString(CultureInfo.InvariantCulture), ScreenWidth = screenWidth.ToString(CultureInfo.InvariantCulture), Email = tbEmail.Text, Comment = tbComment.Text, Browser = browserName, BrowserVersion = browserVersion, ErrorLogRequestUrl = Session["ErrorLog_RequestURL"].ToString(), ErrorLogMessage = Session["ErrorLog_Message"].ToString(), ErrorLogSource = Session["ErrorLog_Source"].ToString(), ErrorLogStackTrace = Session["ErrorLog_StackTrace"].ToString(), LastVisitPagesList = GetLastVisits() }; var dicEmailModel = typeof(EmailModel).GetProperties(BindingFlags.Public | BindingFlags.Instance) .ToDictionary(p => p.Name, p => (p.GetValue(emailModel, null) ?? string.Empty).ToString()); foreach (var key in dicEmailModel.Keys) { htmlTemplate = htmlTemplate.Replace(String.Format("#{0}#", key), dicEmailModel[key]); } return(htmlTemplate); }
private string FillEmailTempalte() { var screenHeight = string.Empty; var screenWidth = string.Empty; if (Request.Cookies["screen_width"] != null) { screenWidth = Request.Cookies["screen_width"].Value; } if (Request.Cookies["screen_height"] != null) { screenHeight = Request.Cookies["screen_height"].Value; } var browserName = string.Empty; var browserVersion = string.Empty; if (Request.Cookies["browser_name"] != null) { browserName = HttpUtility.UrlDecode(Request.Cookies["browser_name"].Value); } if (Request.Cookies["browser_version"] != null) { browserVersion = Request.Cookies["browser_version"].Value; } var srHtmlTemplate = new StreamReader(Server.MapPath(Constants.EmailTemplate)); var htmlTemplate = srHtmlTemplate.ReadToEnd(); var computerInfo = new ComputerInfo(); var feedbackProjectName = ConfigurationsUtil.GetProjectName(); var assembly = AppDomain.CurrentDomain.GetAssemblies().SingleOrDefault(a => a.FullName.Split(',')[0] == "Jetstream.Website"); var aboutVersionProject = string.Empty; if (assembly != null) { var fileVersion = System.Diagnostics.FileVersionInfo.GetVersionInfo(assembly.Location); var version = assembly.GetName().Version; aboutVersionProject = "{0} {1}.{2}.{3} (rev.{4})".FormatWith( fileVersion.ProductName, version.Major, version.Minor, version.Build, fileVersion.FileVersion.Replace(".", string.Empty)); } var emailModel = new EmailModel { ProjectName = feedbackProjectName, UserOs = computerInfo.OSFullName, ScreenHeight = screenHeight.ToString(CultureInfo.InvariantCulture), ScreenWidth = screenWidth.ToString(CultureInfo.InvariantCulture), Email = tbEmail.Text, Comment = tbComment.Text, Browser = browserName, BrowserVersion = browserVersion, ErrorLogRequestUrl = Session["ErrorLog_RequestURL"].ToString(), ErrorLogMessage = Session["ErrorLog_Message"].ToString(), ErrorLogSource = Session["ErrorLog_Source"].ToString(), ErrorLogStackTrace = Session["ErrorLog_StackTrace"].ToString(), LastVisitPagesList = GetLastVisits(), ProjectVersion = aboutVersionProject, SitecoreVersion = Sitecore.Configuration.About.VersionInformation() }; var dicEmailModel = typeof(EmailModel).GetProperties(BindingFlags.Public | BindingFlags.Instance) .ToDictionary(p => p.Name, p => (p.GetValue(emailModel, null) ?? string.Empty).ToString()); foreach (var key in dicEmailModel.Keys) { htmlTemplate = htmlTemplate.Replace(String.Format("#{0}#", key), dicEmailModel[key]); } return(htmlTemplate); }