public void GivenIEnterTheLoginInformation(Table table) { var tebleData = table.CreateDynamicSet(); foreach (var item in tebleData) { // for (int i = 0; i < table.RowCount; i++) // { SigninPageView signinPageView = new SigninPageView(); signinPageView.SetuserName(item.UserId); signinPageView.SetPassword(item.Password); signinPageView.ClickLoginButton(); Console.WriteLine(item.Password); if (FrameworkHelper.IfAlertIsPresent() == true) { FrameworkHelper.WebDriver.SwitchTo().Alert().Accept(); FrameworkHelper.WebDriver.SwitchTo().DefaultContent(); } else { signinPageView.ClickLogout(); FrameworkHelper.WebDriver.SwitchTo().Alert().Accept(); FrameworkHelper.WebDriver.SwitchTo().DefaultContent(); } } }
public void VerifyAlertPageViewTest() { AlertPageView alertPageView = new AlertPageView(); alertPageView.ClickingonSimpleAlertBox(); Thread.Sleep(2000); Assert.AreEqual("I am an alert box!", FrameworkHelper.GetAlertText()); FrameworkHelper.HandlePopUpAlert(); Thread.Sleep(2000); alertPageView.ClickingonConfirmAlertBox(); Thread.Sleep(2000); Assert.AreEqual("Press a button!", FrameworkHelper.GetAlertText()); FrameworkHelper.HandlePopUpAlert(); Thread.Sleep(2000); string actualMessage = alertPageView.GetErrorMessage(); Assert.AreEqual("You pressed Cancel!", alertPageView.GetErrorMessage()); Console.WriteLine(alertPageView.GetErrorMessage()); alertPageView.ClickingonPromptAlertBox(); Thread.Sleep(2000); FrameworkHelper.SetAlertText("Asim"); Thread.Sleep(2000); Assert.AreEqual("You have entered 'Asim' !", alertPageView.GetPromptErrorMessage()); }
internal void LoginAccount(string UserId, string Password) { FrameworkHelper.ClickElement(BankXpath, IdentifierType.Xpath); FrameworkHelper.SetTest(UserId, UseridName, IdentifierType.Name); FrameworkHelper.SetTest(Password, PasswordName, IdentifierType.Name); FrameworkHelper.ClickElement(LoginName, IdentifierType.Name); }
internal void RegisterAccount(List <RegisterTestDataObject> registerTestDataObjects) { for (int i = 0; i < registerTestDataObjects.Count; i++) { setName(registerTestDataObjects[i].CustomerName); SetDOb(registerTestDataObjects[i].DOB); SetAddress(registerTestDataObjects[i].Address); SetCity(registerTestDataObjects[i].City); SetState(registerTestDataObjects[i].State); SetPin(registerTestDataObjects[i].PIN); SetTeliphone(registerTestDataObjects[i].TelephoneNumber); SetEmail(registerTestDataObjects[i].Email); if (registerTestDataObjects[i].Gender.Equals("male")) { FrameworkHelper.ClickElement(GenderXpath, IdentifierType.Xpath); } else if (registerTestDataObjects[i].Gender.Equals("Female")) { FrameworkHelper.ClickElement(GenderXpath, IdentifierType.Xpath); } SubmitAccount(); FrameworkHelper.ClickElement(SubmitName, IdentifierType.Name); if (registerTestDataObjects[i].status.Equals("valid")) { //Actions actions = new Actions(FrameworkHelper.WebDriver); //FrameworkHelper.WebDriver.SwitchTo().Alert().Accept(); //FrameworkHelper.WebDriver.SwitchTo().DefaultContent(); } } }
/// <summary> /// The set dt mstudio test data. /// </summary> /// <param name="dtmStudioTestData"> /// The dtm studio test data. /// </param> public void SetDTMstudioTestData(DTMstudioTestData dtmStudioTestData) { FrameworkHelper.SetDeviceTypeProject(dtmStudioTestData.DeviceTypeProject); FrameworkHelper.SetTestEnvironment(dtmStudioTestData.TestEnvironment); FrameworkHelper.SetReportData(dtmStudioTestData.ReportData); FrameworkHelper.SaveConfiguration(this.TestFrameworkConfigFile); }
public DTMstudioTestData GetDTMstudioTestDataTest(DTMstudioTestData dtmStudioTestData) { //dtmStudioTestData.TestLibrary.DeviceFunctions = FrameworkHelper.GetDeviceFunctions(Path.Combine(this.TestFrameworkAssemblyPath, FrameworkHelper.TestFrameworkAssemblyFile)); dtmStudioTestData.TestEnvironment = FrameworkHelper.GetTestEnvironment(dtmStudioTestData.TestEnvironment); dtmStudioTestData.ReportData = FrameworkHelper.GetReportData(dtmStudioTestData.ReportData); dtmStudioTestData.DeviceTypeProject = FrameworkHelper.GetDeviceTypeProject(dtmStudioTestData.DeviceTypeProject); return(dtmStudioTestData); }
public void SetuserName(string ui) { // if (c // { // FrameworkHelper.GetElement(UseridName, IdentifierType.Name).Clear(); // } FrameworkHelper.SetTeXt(ui, UseridName, IdentifierType.Name); }
private static void ClearPreviousTransients(this HttpSessionStateBase session, INakedObject nakedObject, ObjectFlag flag) { if (nakedObject.Oid.HasPrevious) { if (nakedObject.Oid.Previous.IsTransient) { session.GetCache(flag).Remove(FrameworkHelper.GetObjectId(nakedObject.Oid.Previous)); } } }
private string GetAssemblyPath(string assemblyFileName, bool isSilverlight) { string path = String.Empty; if (isSilverlight) { path = FrameworkHelper.GetSilverlightAssemblyPath(assemblyFileName); } //if (string.IsNullOrEmpty(path)) // path = FrameworkHelper.GetAssemblyPath(assemblyFileName); return(path); }
private string GetAssemblyPathFromVSInstalDir(BuildItem item) { string name = GetReferenceDllName(item); string[] installDirs = FrameworkHelper.GetVSInstallFoldersPaths(); string path = FrameworkHelper.GetAssemblyPath(name, installDirs); if (File.Exists(path)) { return(path); } return(string.Empty); }
/// <summary> /// The load data for execution. /// </summary> /// <param name="currentDirectory"> /// The current directory. /// </param> public void LoadDataForExecution(string currentDirectory) { this.TestFrameworkManager.InitializeConfiguration(Environment.CurrentDirectory); FrameworkHelper.SetDeviceTypeProject(this.DTMstudioTestData.DeviceTypeProject); var deviceTypeProjectTempDataPath = Path.Combine(this.DTMstudioTestData.DeviceTypeTestProject.ExecutionPath, DeviceTypeProjectDataFile); this.GetDTMstudioTestData(deviceTypeProjectTempDataPath); this.DTMstudioTestData.DeviceTypeTestProject.ExecutionPath = Environment.CurrentDirectory; this.dtMstudioTestData = this.TestFrameworkManager.LoadDataTest(this.dtMstudioTestData); this.dtMstudioTestData = this.DTMstudioDataManager.LoadData(this.dtMstudioTestData); }
/// <summary> /// The get config locations. /// </summary> /// <param name="executionPath"> /// The output Path. /// </param> public void InitializeConfiguration(string executionPath) { Trace.Assert(this.TestFrameworkAssemblyPath != string.Empty && Directory.Exists(this.TestFrameworkAssemblyPath), "TestFramework nicht vorhanden"); if (!string.IsNullOrEmpty(this.TestFrameworkAssemblyPath)) { this.DeviceFunctionMappingList = FrameworkHelper.GetDeviceFunctionMappingList(this.TestFrameworkAssemblyPath); } if (!string.IsNullOrEmpty(executionPath)) { this.TestFrameworkConfigFile = Path.Combine(executionPath, ConstStrings.TestFrameworkConfigFile); Trace.WriteLine("TestFramework Config File: " + this.TestFrameworkConfigFile); FrameworkHelper.InitializeConfiguratorDialog(this.TestFrameworkConfigFile); } }
protected virtual void LoadReferences(ProjectElement project, Hashtable projects, XmlDocument doc, string projectDir, string projectLangTag) { string lReferencesQuery = String.Format(STR_ReferencesQueryFormat, projectLangTag); XmlNodeList lReferences = doc.SelectNodes(lReferencesQuery); int lCount = lReferences.Count; for (int i = 0; i < lCount; i++) { System.Xml.XmlNode lReferenceNode = lReferences[i]; System.Xml.XmlNode lName = lReferenceNode.Attributes.GetNamedItem(STR_Name); System.Xml.XmlNode lAssemblyName = lReferenceNode.Attributes.GetNamedItem(STR_AssemblyName); if (lAssemblyName != null) { string lAssemblyNameStr = lAssemblyName.Value; string lPath = FrameworkHelper.GetAssemblyPath(lAssemblyNameStr); if (lPath == null || lPath.Length == 0) { System.Xml.XmlNode lHintPath = lReferenceNode.Attributes.GetNamedItem("HintPath"); lPath = lHintPath.Value; lPath = PathUtilities.GetPath(projectDir, lPath); if (File.Exists(lPath)) { AssemblyReference lRef = new AssemblyReference(lPath); project.AddReference(lRef); } } else { project.AddReferenceByName(lAssemblyNameStr); } } else { System.Xml.XmlNode lProjectRef = lReferenceNode.Attributes.GetNamedItem(STR_Project); string lGuid = lProjectRef.Value; ProjectInfo lInfo = projects[lGuid] as ProjectInfo; if (lInfo != null) { AssemblyReference lRef = new AssemblyReference(String.Empty); lRef.SetSourceProjectFullName(lInfo.FilePath); project.AddReference(lRef); } } } }
private async void ClearDataBtn_Click(object sender, RoutedEventArgs e) { try { var clearDataConfirmationDialog = Util.CommonContentDialog(Util.GetString("Clear Application Data"), "This will clear all application related data. Are you sure you want to continue?", Util.GetString("Yes"), Util.GetString("Cancel")); var clearDataResult = await clearDataConfirmationDialog.ShowAsync(); if (clearDataResult == ContentDialogResult.Primary) { Task clearData = FrameworkHelper.ClearData(); await clearData; } } catch (Exception ex) { Logger.E($"Exception caught while clearing the application data. Message {ex.Message}"); } }
private string GetAssemblyPathFromAssemblyFolders(MsBuildProjectLoader msBuildLoader, BuildItem item) { string spec = GetReferenceDllName(item); string[] assemblyFoldersPaths = FrameworkHelper.GetFrameworkPaths(msBuildLoader.TargetFramework); assemblyFoldersPaths = ReversePaths(assemblyFoldersPaths); string path = FrameworkHelper.GetAssemblyPath(spec, assemblyFoldersPaths); if (File.Exists(path)) { return(path); } assemblyFoldersPaths = FrameworkHelper.GetAssemblyFoldersPaths(msBuildLoader.TargetFramework); path = FrameworkHelper.GetAssemblyPath(spec, assemblyFoldersPaths); if (File.Exists(path)) { return(path); } try { Assembly assembly = Assembly.Load(item.FinalItemSpec); if (assembly != null) { return(assembly.Location); } } catch { } try { Assembly assembly = Assembly.LoadWithPartialName(item.FinalItemSpec); if (assembly != null) { return(assembly.Location); } } catch { } return(string.Empty); }
void DetachIcon() { if (isMouseDown) { AssociatedObject.MouseMove -= AssociatedObject_MouseMove; AssociatedObject.MouseLeave -= AssociatedObject_MouseLeave; itemsControl = FrameworkHelper.GetParent <ItemsControl>(AssociatedObject); MouseManager.Manager.MouseMoved += Manager_MouseMoved; icon = (IconViewModel)AssociatedObject.DataContext; VMLocator.Main.Icons.Remove(icon); if (draggedIconWindow == null) { draggedIconWindow = new DraggedIconWindow(); } draggedIconWindow.DataContext = icon; itemsControl.CaptureMouse(); itemsControl.MouseUp += itemsControl_MouseUp; itemsControl.MouseMove += itemsControl_MouseMove; } }
public TestRibbonWindow(object content) { this.Content = content; this.Width = 800; this.Height = 600; this.ShowActivated = false; this.ShowInTaskbar = false; if (Debugger.IsAttached == false) { this.Left = int.MinValue; this.Top = int.MinValue; } // As Ribbon uses layout rounding we should use it here too FrameworkHelper.SetUseLayoutRounding(this, true); this.Show(); }
private void Application_Startup(object sender, StartupEventArgs e) { Global.StartupDateTime = DateTime.Now; //Unhandled Exceptions. AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; //Increases the duration of the tooltip display. ToolTipService.ShowDurationProperty.OverrideMetadata(typeof(DependencyObject), new FrameworkPropertyMetadata(int.MaxValue)); //Set network connection properties. ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls13; //Parse arguments. if (e.Args.Length > 0) { Argument.Prepare(e.Args); } LocalizationHelper.SelectCulture(UserSettings.All.LanguageCode); ThemeHelper.SelectTheme(UserSettings.All.MainTheme.ToString()); //Render mode. RenderOptions.ProcessRenderMode = UserSettings.All.DisableHardwareAcceleration ? RenderMode.SoftwareOnly : RenderMode.Default; #region Net Framework if (!FrameworkHelper.HasFramework()) { var ask = Dialog.Ask(LocalizationHelper.Get("S.Warning.Net.Title"), LocalizationHelper.Get("S.Warning.Net.Header"), LocalizationHelper.Get("S.Warning.Net.Message")); if (ask) { Process.Start("http://go.microsoft.com/fwlink/?LinkId=2085155"); return; } } #endregion #region Net Framework HotFixes //Only runs on Windows 7 SP1. if (Environment.OSVersion.Version.Major == 6 && Environment.OSVersion.Version.Minor == 1) { Task.Factory.StartNew(() => { try { var search = new ManagementObjectSearcher("SELECT HotFixID FROM Win32_QuickFixEngineering WHERE HotFixID = 'KB4055002'").Get(); Global.IsHotFix4055002Installed = search.Count > 0; } catch (Exception ex) { LogWriter.Log(ex, "Error while trying to know if a hot fix was installed."); } }); } #endregion #region Tray icon and view model NotifyIcon = (NotifyIcon)FindResource("NotifyIcon"); if (NotifyIcon != null) { NotifyIcon.Visibility = UserSettings.All.ShowNotificationIcon || UserSettings.All.StartMinimized || UserSettings.All.StartUp == 5 ? Visibility.Visible : Visibility.Collapsed; //Replace the old option with the new setting. if (UserSettings.All.StartUp == 5) { UserSettings.All.StartMinimized = true; UserSettings.All.ShowNotificationIcon = true; UserSettings.All.StartUp = 0; } //using (var iconStream = GetResourceStream(new Uri("pack://application:,,,/Resources/Logo.ico"))?.Stream) //{ // if (iconStream != null) // NotifyIcon.Icon = new System.Drawing.Icon(iconStream); //} } MainViewModel = (ApplicationViewModel)FindResource("AppViewModel") ?? new ApplicationViewModel(); RegisterShortcuts(); #endregion //var select = new SelectFolderDialog(); select.ShowDialog(); return; //var select = new TestField(); select.ShowDialog(); return; //var select = new Encoder(); select.ShowDialog(); return; //var select = new EditorEx(); select.ShowDialog(); return; #region Tasks Task.Factory.StartNew(MainViewModel.ClearTemporaryFilesTask, TaskCreationOptions.LongRunning); Task.Factory.StartNew(MainViewModel.UpdateTask, TaskCreationOptions.LongRunning); Task.Factory.StartNew(MainViewModel.SendFeedback, TaskCreationOptions.LongRunning); #endregion #region Startup //When starting minimized, the if (UserSettings.All.StartMinimized) { return; } if (UserSettings.All.StartUp == 4 || Argument.FileNames.Any()) { MainViewModel.OpenEditor.Execute(null); return; } if (UserSettings.All.StartUp < 1 || UserSettings.All.StartUp > 4) { MainViewModel.OpenLauncher.Execute(null); return; } if (UserSettings.All.StartUp == 1) { MainViewModel.OpenRecorder.Execute(null); return; } if (UserSettings.All.StartUp == 2) { MainViewModel.OpenWebcamRecorder.Execute(null); return; } if (UserSettings.All.StartUp == 3) { MainViewModel.OpenBoardRecorder.Execute(null); } #endregion }
internal void setName(string text, bool clear = false) { FrameworkHelper.SetTest(text, NameName, IdentifierType.Name); }
internal void clickNewCustomer() { FrameworkHelper.ClickElement(NewCustomerXpath, IdentifierType.Xpath); }
internal void Clicklogout() { FrameworkHelper.ClickElement(LogoutXpath, IdentifierType.Xpath); }
internal void SetCity(string Cityname) { FrameworkHelper.SetTest(Cityname, CityName, IdentifierType.Name); }
internal void SetEmail(string email) { FrameworkHelper.SetTest(email, EmailName, IdentifierType.Name); }
internal void SetTeliphone(string PhoneNo) { FrameworkHelper.SetTest(PhoneNo, TeliphoneName, IdentifierType.Name); }
internal void SetPin(string pin) { FrameworkHelper.SetTest(pin, PinName, IdentifierType.Name); }
internal void SetState(string Statename) { FrameworkHelper.SetTest(Statename, StateName, IdentifierType.Name); }
private void Application_Startup(object sender, StartupEventArgs e) { Global.StartupDateTime = DateTime.Now; //Unhandled Exceptions. AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve; //Increases the duration of the tooltip display. ToolTipService.ShowDurationProperty.OverrideMetadata(typeof(DependencyObject), new FrameworkPropertyMetadata(int.MaxValue)); #region Set the workaround try { if (UserSettings.All.WorkaroundQuota) { BaseCompatibilityPreferences.HandleDispatcherRequestProcessingFailure = BaseCompatibilityPreferences.HandleDispatcherRequestProcessingFailureOptions.Reset; } } catch (Exception ex) { LogWriter.Log(ex, "Impossible to set the workaround for the quota crash"); } #endregion #region Set network connection properties try { ServicePointManager.Expect100Continue = true; ServicePointManager.SecurityProtocol = SecurityProtocolType.Tls11 | SecurityProtocolType.Tls12 | SecurityProtocolType.Tls13; } catch (Exception ex) { LogWriter.Log(ex, "Impossible to set the network properties"); } #endregion //Parse arguments. if (e.Args.Length > 0) { Argument.Prepare(e.Args); } LocalizationHelper.SelectCulture(UserSettings.All.LanguageCode); ThemeHelper.SelectTheme(UserSettings.All.MainTheme.ToString()); #region If set, it allows only one instance per user //The singleton works on a per-user and per-executable mode. //Meaning that a different user and/or a different executable intances can co-exist. //Part of this code wont work on debug mode, since the SetForegroundWindow() needs focus on the foreground window calling the method. if (UserSettings.All.SingleInstance) { try { using (var thisProcess = Process.GetCurrentProcess()) { var user = System.Security.Principal.WindowsIdentity.GetCurrent().User; var name = thisProcess.MainModule?.FileName ?? Assembly.GetEntryAssembly()?.Location ?? "ScreenToGif"; var location = Convert.ToBase64String(Encoding.UTF8.GetBytes(name)); var mutexName = (user?.Value ?? Environment.UserName) + "_" + location; _mutex = new Mutex(true, mutexName, out _accepted); //If the mutext failed to be accepted, it means that another process already openned it. if (!_accepted) { var warning = true; //Switch to the other app (get only one, if multiple available). Use name of assembly. using (var process = Process.GetProcessesByName(thisProcess.ProcessName).FirstOrDefault(f => f.MainWindowHandle != thisProcess.MainWindowHandle)) { if (process != null) { var handles = Native.GetWindowHandlesFromProcess(process); //Show the window before setting focus. Native.ShowWindow(handles.Count > 0 ? handles[0] : process.Handle, Native.ShowWindowEnum.Show); //Set user the focus to the window. Native.SetForegroundWindow(handles.Count > 0 ? handles[0] : process.Handle); warning = false; } } //If no window available (app is in the system tray), display a warning. if (warning) { Dialog.Ok(LocalizationHelper.Get("S.Warning.Single.Title"), LocalizationHelper.Get("S.Warning.Single.Header"), LocalizationHelper.Get("S.Warning.Single.Message"), Icons.Info); } Environment.Exit(0); return; } } } catch (Exception ex) { LogWriter.Log(ex, "Impossible to check if another instance is running"); } } #endregion //Render mode. RenderOptions.ProcessRenderMode = UserSettings.All.DisableHardwareAcceleration ? RenderMode.SoftwareOnly : RenderMode.Default; #region Net Framework if (!FrameworkHelper.HasFramework()) { var ask = Dialog.Ask(LocalizationHelper.Get("S.Warning.Net.Title"), LocalizationHelper.Get("S.Warning.Net.Header"), LocalizationHelper.Get("S.Warning.Net.Message")); if (ask) { Process.Start("http://go.microsoft.com/fwlink/?LinkId=2085155"); return; } } #endregion #region Net Framework HotFixes //Only runs on Windows 7 SP1. if (Environment.OSVersion.Version.Major == 6 && Environment.OSVersion.Version.Minor == 1) { Task.Factory.StartNew(() => { try { var search = new ManagementObjectSearcher("SELECT HotFixID FROM Win32_QuickFixEngineering WHERE HotFixID = 'KB4055002'").Get(); Global.IsHotFix4055002Installed = search.Count > 0; } catch (Exception ex) { LogWriter.Log(ex, "Error while trying to know if a hot fix was installed."); } }); } #endregion #region Tray icon and view model NotifyIcon = (NotifyIcon)FindResource("NotifyIcon"); if (NotifyIcon != null) { NotifyIcon.Visibility = UserSettings.All.ShowNotificationIcon || UserSettings.All.StartMinimized || UserSettings.All.StartUp == 5 ? Visibility.Visible : Visibility.Collapsed; //Replace the old option with the new setting. if (UserSettings.All.StartUp == 5) { UserSettings.All.StartMinimized = true; UserSettings.All.ShowNotificationIcon = true; UserSettings.All.StartUp = 0; } //using (var iconStream = GetResourceStream(new Uri("pack://application:,,,/Resources/Logo.ico"))?.Stream) //{ // if (iconStream != null) // NotifyIcon.Icon = new System.Drawing.Icon(iconStream); //} } MainViewModel = (ApplicationViewModel)FindResource("AppViewModel") ?? new ApplicationViewModel(); RegisterShortcuts(); #endregion //var select = new SelectFolderDialog(); select.ShowDialog(); return; //var select = new TestField(); select.ShowDialog(); return; //var select = new Encoder(); select.ShowDialog(); return; //var select = new EditorEx(); select.ShowDialog(); return; #region Tasks Task.Factory.StartNew(MainViewModel.ClearTemporaryFiles, TaskCreationOptions.LongRunning); Task.Factory.StartNew(MainViewModel.CheckForUpdates, TaskCreationOptions.LongRunning); Task.Factory.StartNew(MainViewModel.SendFeedback, TaskCreationOptions.LongRunning); #endregion #region Startup //When starting minimized, the if (UserSettings.All.StartMinimized) { return; } if (UserSettings.All.StartUp == 4 || Argument.FileNames.Any()) { MainViewModel.OpenEditor.Execute(null); return; } if (UserSettings.All.StartUp < 1 || UserSettings.All.StartUp > 4) { MainViewModel.OpenLauncher.Execute(null); return; } if (UserSettings.All.StartUp == 1) { MainViewModel.OpenRecorder.Execute(null); return; } if (UserSettings.All.StartUp == 2) { MainViewModel.OpenWebcamRecorder.Execute(null); return; } if (UserSettings.All.StartUp == 3) { MainViewModel.OpenBoardRecorder.Execute(null); } #endregion }
internal void SetDOb(string Dob) { FrameworkHelper.SetTest(Dob, DobId, IdentifierType.Id); }
private string BuildBody(string title, string message, string email, bool issue, bool suggestion) { var sb = new StringBuilder(); sb.Append("<html xmlns:msxsl=\"urn:schemas-microsoft-com:xslt\">"); sb.Append("<head><meta content=\"en-us\" http-equiv=\"Content-Language\" />" + "<meta content=\"text/html; charset=utf-16\" http-equiv=\"Content-Type\" />" + "<title>ScreenToGif - Feedback</title>" + "</head>"); sb.AppendFormat("<style>{0}</style>", Util.Other.GetTextResource("ScreenToGif.Resources.Style.css")); sb.Append("<body>"); sb.AppendFormat("<h1>{0}</h1>", (title ?? "").Length > 0 ? title : "Title of the feedback"); sb.Append("<div id=\"content\"><div>"); sb.Append("<h2>Overview</h2>"); sb.Append("<div id=\"overview\"><table>"); //First overview row. sb.Append("<tr><th>User</th>"); sb.Append("<th>Machine</th>"); sb.Append("<th>Startup</th>"); sb.Append("<th>Date</th>"); sb.Append("<th>Running</th>"); sb.Append("<th>Version</th></tr>"); var culture = new CultureInfo("pt-BR"); sb.AppendFormat("<tr><td class=\"textcentered\">{0}</td>", Environment.UserName); sb.AppendFormat("<td class=\"textcentered\">{0}</td>", Environment.MachineName); sb.AppendFormat(culture, "<td class=\"textcentered\">{0:g}</td>", Global.StartupDateTime); sb.AppendFormat(culture, "<td class=\"textcentered\">{0:g}</td>", DateTime.Now); sb.AppendFormat(culture, "<td class=\"textcentered\">{0:d':'hh':'mm':'ss}</td>", Global.StartupDateTime != DateTime.MinValue ? DateTime.Now - Global.StartupDateTime : TimeSpan.Zero); sb.AppendFormat("<td class=\"textcentered\">{0}</td></tr>", Assembly.GetExecutingAssembly().GetName().Version.ToString(4)); //Second overview row. sb.Append("<tr><th colspan=\"2\">Windows</th>"); sb.Append("<th>Architecture</th>"); sb.Append("<th>Used</th>"); sb.Append("<th>Available</th>"); sb.Append("<th>Total</th></tr>"); var status = new Util.Native.MemoryStatusEx(true); Util.Native.GlobalMemoryStatusEx(ref status); sb.AppendFormat("<td class=\"textcentered\" colspan=\"2\">{0}</td>", Environment.OSVersion.Version); sb.AppendFormat("<td class=\"textcentered\">{0}</td>", Environment.Is64BitOperatingSystem ? "64 bits" : "32 Bits"); sb.AppendFormat("<td class=\"textcentered\">{0}</td>", Humanizer.BytesToString(Environment.WorkingSet)); sb.AppendFormat("<td class=\"textcentered\">{0}</td>", Humanizer.BytesToString(status.AvailablePhysicalMemory)); sb.AppendFormat("<td class=\"textcentered\">{0}</td></tr>", Humanizer.BytesToString(status.TotalPhysicalMemory)); //Third overview row. sb.Append("<tr><th colspan=\"3\">E-mail</th>"); sb.Append("<th>.Net version</th>"); sb.Append("<th>Issue?</th>"); sb.Append("<th>Suggestion?</th></tr>"); sb.AppendFormat("<td colspan=\"3\" class=\"textcentered\">{0}</td>", (email ?? "").Length > 0 ? email : "*****@*****.**"); sb.AppendFormat("<td class=\"textcentered\">{0}</td>", FrameworkHelper.QueryFrameworkVersion()); sb.AppendFormat("<td class=\"textcentered\">{0}</td>", issue ? "Yes" : "No"); sb.AppendFormat("<td class=\"textcentered\">{0}</td></tr></table></div></div>", suggestion ? "Yes" : "No"); //Processors. sb.Append("<br><h2>Processors</h2><table>"); sb.Append(GetProcessor()); sb.Append(GetGraphicsAdapter()); sb.Append("</table>"); //System.Windows.Forms.SystemInformation.PowerStatus.BatteryChargeStatus == System.Windows.Forms.BatteryChargeStatus.NoSystemBattery //Monitors. sb.Append("<br><h2>Monitors</h2><table>"); sb.Append("<tr><th>Name</th>"); sb.Append("<th>Bounds</th>"); sb.Append("<th>Working area</th>"); sb.Append("<th>DPI/Scale</th>"); sb.Append("<th>Graphics adapter</th>"); sb.Append("<th>Primary?</th></tr>"); foreach (var monitor in Monitor.AllMonitors) { sb.AppendFormat("<td class=\"textcentered\">{0} ({1})</td>", monitor.FriendlyName, monitor.Name); sb.AppendFormat("<td class=\"textcentered\">{0}:{1} • {2}x{3}</td>", monitor.Bounds.Left, monitor.Bounds.Top, monitor.Bounds.Width, monitor.Bounds.Height); sb.AppendFormat("<td class=\"textcentered\">{0}:{1} • {2}x{3}</td>", monitor.WorkingArea.Left, monitor.WorkingArea.Top, monitor.WorkingArea.Width, monitor.WorkingArea.Height); sb.AppendFormat("<td class=\"textcentered\">{0}dpi / {1:#00}%</td>", monitor.Dpi, monitor.Dpi / 96d * 100d); sb.AppendFormat("<td class=\"textcentered\">{0}</td>", monitor.AdapterName); sb.AppendFormat("<td class=\"textcentered\">{0}</td></tr>", monitor.IsPrimary ? "Yes" : "No"); } sb.Append("</table>"); if (Monitor.AllMonitors.Count > 0) { sb.AppendFormat(""); //sb.Append("<svg>" + // "<circle cx=\"40\" cy=\"40\" r=\"24\" style=\"stroke:#006600; fill:#00cc00\"/>" + // "<rect id=\"box\" x=\"0\" y=\"0\" width=\"50\" height=\"50\" style=\"stroke:#006600; fill:#00cc00\"/>" + // "</svg>"); } //Drives. sb.Append("<br><h2>Drives</h2><table>"); sb.Append("<tr><th>Root</th>"); sb.Append("<th>Used</th>"); sb.Append("<th>Free</th>"); sb.Append("<th>Total</th>"); sb.Append("<th>Format</th>"); sb.Append("<th>Type</th>"); sb.Append("<th>Ready?</th></tr>"); foreach (var drive in DriveInfo.GetDrives()) { #region Try get the size var total = 0L; var available = 0L; var format = ""; try { total = drive.TotalSize; available = drive.AvailableFreeSpace; format = drive.DriveFormat; } catch (Exception e) { //LogWriter.Log(e, "Not possible to get driver details"); } #endregion var used = total - available; var usedPerc = Math.Round(Util.Other.CrossMultiplication(total, used, null), 1); var avaiPerc = Math.Round(Util.Other.CrossMultiplication(total, available, null), 1); sb.AppendFormat("<td class=\"textcentered\">{0}</td>", drive.Name); sb.AppendFormat("<td class=\"textRight\">({0} %) {1}</td>", usedPerc, Humanizer.BytesToString(used, "N1")); sb.AppendFormat("<td class=\"textRight\">({0} %) {1}</td>", avaiPerc, Humanizer.BytesToString(available, "N1")); sb.AppendFormat("<td class=\"textRight\">{0}</td>", Humanizer.BytesToString(total, "N1")); sb.AppendFormat("<td class=\"textcentered\">{0}</td>", format); sb.AppendFormat("<td class=\"textcentered\">{0}</td>", drive.DriveType); sb.AppendFormat("<td class=\"textcentered\">{0}</td></tr>", drive.IsReady ? "Yes" : "No"); } sb.Append("<table>"); //Details. sb.Append("<br><h2>Details</h2><div><div><table>"); sb.Append("<tr id=\"ProjectNameHeaderRow\"><th class=\"messageHeader\">Message</th></tr>"); sb.Append("<tr name=\"MessageRowClassProjectName\">"); sb.AppendFormat("<td class=\"messageCell\">{0}</td></tr></table>", message.Replace(Environment.NewLine, "<br>")); sb.Append("</div></div></div></body></html>"); return(sb.ToString()); }
internal void SetAddress(string Address) { FrameworkHelper.SetTest(Address, AddressName, IdentifierType.Name); }