Exemple #1
0
        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);
        }
Exemple #7
0
        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));
         }
     }
 }
Exemple #9
0
        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);
        }
Exemple #10
0
        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}");
            }
        }
Exemple #15
0
        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);
        }
Exemple #16
0
 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();
        }
Exemple #18
0
        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);
 }
Exemple #27
0
        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);
 }
Exemple #29
0
        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);
 }