예제 #1
0
        private void DeleteDesignApplication(object parameter)
        {
            MessageBoxResult result = MessageBox.Show("您确定要删除所选应用程序吗?", "提示", MessageBoxButton.YesNo, MessageBoxImage.Warning);

            if (result == MessageBoxResult.Yes)
            {
                List <DesignApplication> deletedDesignApplications = new List <DesignApplication>();
                foreach (var item in ApplicationSource)
                {
                    if (item.IsChecked)
                    {
                        if (!ApplicationDesignService.CanDeleteApplication(item.ApplicationID))
                        {
                            MessageBox.Show("应用程序: " + item.ApplicationName + " 已经存在模块关联不可以删除!", "提示");
                            deletedDesignApplications.Clear();
                            return;
                        }
                        else
                        {
                            deletedDesignApplications.Add(item);
                        }
                    }
                }

                foreach (var designApplication in deletedDesignApplications)
                {
                    SystemService.DeleteObjectByID("Application", designApplication.ApplicationID);
                    ApplicationSource.Remove(designApplication);
                }
                MessageBox.Show("删除成功!");
            }
        }
예제 #2
0
        public IWebDriver GetBrowser(ApplicationSource applicationSource)
        {
            FirefoxOptions options = new FirefoxOptions();

            options.AddArguments(applicationSource.optionsParams);
            return(new FirefoxDriver(options));
        }
예제 #3
0
        private void InitWebDriver(ApplicationSource applicationSource)
        {
            //MessageBox.Show("Running InitWebDriver() BrowserName = " + applicationSource.BrowserName ,
            //    "Run", MessageBoxButtons.OK, MessageBoxIcon.Information);
            //
            IBrowser currentBrowser = Browsers[DEFAULT_BROWSER];

            if (IsContinuesIntegration())
            {
                currentBrowser = Browsers[CONTINUES_INTEGRATION_BROWSER];
                // TODO Remone Message
                Console.WriteLine("currentBrowser= Browsers[CONTINUES_INTEGRATION_BROWSER]");
            }
            else
            {
                foreach (KeyValuePair <string, IBrowser> current in Browsers)
                {
                    if (current.Key.ToString().ToLower()
                        .Equals(applicationSource.BrowserName.ToLower()))
                    {
                        currentBrowser = current.Value;
                        break;
                    }
                }
            }
            Driver = currentBrowser.GetBrowser(applicationSource);

            // TODO Move to Search Class
            //Driver.Manage().Timeouts().ImplicitWait = TimeSpan
            //        .FromSeconds(applicationSource.ImplicitWaitTimeOut);
        }
예제 #4
0
        public IWebDriver GetBrowser(ApplicationSource applicationSource)
        {
            ChromeOptions options = new ChromeOptions();

            options.AddArguments("--no-proxy-server", "--ignore-certificate-errors", "--start-maximized");
            return(new ChromeDriver(options));
        }
예제 #5
0
 private bool CanEditDesignApplicationExecute(object arg)
 {
     if (ApplicationSource.Where(item => item.IsChecked).ToList().Count == 1)
     {
         return(true);
     }
     return(false);
 }
예제 #6
0
        public IWebDriver GetBrowser(ApplicationSource applicationSource)
        {
            ChromeOptions options = new ChromeOptions();

            options.AddArguments("--no-proxy-server", "--ignore-certificate-errors", "--headless");
            //options.AddArguments(Application.Get().ApplicationSource.DefaultBrowserOptions);
            //options.AddArguments("--headless");
            return(new ChromeDriver(options));
        }
예제 #7
0
        public void EditDesignApplication(object parameter)
        {
            DesignApplicationView designApplicationView = new DesignApplicationView();

            designApplicationView.ViewModel.DesignApplication = ApplicationSource.Where(item => item.IsChecked == true).First();
            designApplicationView.Title = "编辑应用程序";
            designApplicationView.WindowStartupLocation = WindowStartupLocation.CenterScreen;
            designApplicationView.ViewModel.EditState   = "modify";
            designApplicationView.ShowDialog();
        }
예제 #8
0
        public IWebDriver GetBrowser(ApplicationSource applicationSource)
        {
            InternetExplorerOptions options = new InternetExplorerOptions()
            {
                IntroduceInstabilityByIgnoringProtectedModeSettings = true,
                IgnoreZoomLevel    = true,
                EnableNativeEvents = false,
            };

            return(new InternetExplorerDriver(options));
        }
예제 #9
0
 public static TestsApplication Get(ApplicationSource applicationSource)
 {
     if (instance == null)
     {
         if (applicationSource == null)
         {
             applicationSource = ApplicationSourceRepository.Default();
         }
         instance = new TestsApplication(applicationSource);
     }
     return(instance);
 }
예제 #10
0
 public static ApplicationSingleBrouser Get(ApplicationSource applicationSource)
 {
     if (instance == null)
     {
         if (applicationSource == null)
         {
             applicationSource = ApplicationSourceRepository.Default();
         }
         instance = new ApplicationSingleBrouser(applicationSource);
     }
     return(instance);
 }
예제 #11
0
 public static Application Get(ApplicationSource applicationSource)
 {
     if (instance == null)
     {
         if (applicationSource == null)
         {
             applicationSource = ApplicationSourceRepository.Default();
         }
         instance = new Application(applicationSource);
         Thread.Sleep(500);
     }
     return(instance);
 }
예제 #12
0
        private void InitWebDriver(ApplicationSource applicationSource)
        {
            IBrowser currentBrowser = Browsers[DEFAULT_BROWSER];

            foreach (KeyValuePair <string, IBrowser> current in Browsers)
            {
                if (current.Key.ToString().ToLower()
                    .Equals(applicationSource.BrowserName.ToLower()))
                {
                    currentBrowser = current.Value;
                    break;
                }
            }
            Driver = currentBrowser.GetBrowser(applicationSource);
        }
예제 #13
0
        public ApplicationModuleRelationViewModel()
        {
            SelectionChangedCommand = new DelegateCommand <object>(SelectionChanged);

            List <DynEntity> applications = ApplicationDesignService.GetAllApplicationCollection();

            ApplicationSource.Clear();
            foreach (var application in applications)
            {
                DesignApplication designApplication = new DesignApplication(application);
                ApplicationSource.Add(designApplication);
                SelectedApplication = ApplicationSource[0];
            }
            InitModules();
        }
예제 #14
0
        public void UpdateMemberAuthenticationSource(string userID, ApplicationSource applicationSource)
        {
            Guid applicationId = base.ApplicationId;

            var source = new AuthenticationSourceEntity()
                                               {
                                                   ApplicationId = applicationId,
                                                   UserId = Guid.Parse(userID),
                                                   AuthenticationSource = applicationSource.ToString(),
                                                   AuthenticationSourceID = Guid.NewGuid()
                                               };

            _repository.Add(source);
            _repository.SaveChanges();
        }
예제 #15
0
        public IWebDriver GetBrowser(ApplicationSource applicationSource)
        {
            // TODO foreach(BrowserOptions)
            //options.addArguments("--headless");
            ChromeOptions options = new ChromeOptions();

            options.AddArguments("--start-maximized");
            options.AddArguments("--no-proxy-server");
            //options.AddArguments("--no-sandbox");
            //options.AddArguments("--disable-web-security");
            options.AddArguments("--ignore-certificate-errors");
            //options.AddArguments("--disable-extensions");
            //options.AddArguments("--headless");
            //options.BinaryLocation = @"C:\...\ChromiumPortable.exe";
            return(new ChromeDriver(options));;
        }
예제 #16
0
 public static Application Get(ApplicationSource applicationSource)
 {
     if (instance == null)
     {
         lock (lockingObject)
             if (instance == null)
             {
                 if (applicationSource == null)
                 {
                     applicationSource = ApplicationSourceRepository.Default();
                 }
                 instance = new Application(applicationSource);
             }
     }
     return(instance);
 }
예제 #17
0
        public async Task <IActionResult> CreateSource([Bind("Name,Capacity,Description,Owner")] ApplicationSource sourceModel)
        {
            if (ModelState.IsValid)
            {
                var currentUser      = User;
                var currentUserEmail = currentUser.FindFirst(ClaimTypes.Email).Value;
                var user             = await _accountRepository.FindByEmailAsync(currentUserEmail);

                sourceModel.OwnerId = user.Id;

                _context.Add(sourceModel);
                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(MySources)));
            }
            return(View(sourceModel));
        }
예제 #18
0
        public ApplicationManagerViewModel()
        {
            AddDesignApplicationCommand    = new DelegateCommand <object>(AddDesignApplication);
            EditDesignApplicationCommand   = new DelegateCommand <object>(EditDesignApplication, CanEditDesignApplicationExecute);
            DeleteDesignApplicationCommand = new DelegateCommand <object>(DeleteDesignApplication, CanDeleteDesignApplicationExecute);
            RowActivatedCommand            = new DelegateCommand <object>(RowActivate);

            CheckedCommand   = new DelegateCommand <object>(Checked);
            UncheckedCommand = new DelegateCommand <object>(UnChecked);

            _applicationSource = new ObservableCollection <DesignApplication>();

            List <DynEntity> applications = ApplicationDesignService.GetAllApplicationCollection();

            ApplicationSource.Clear();
            foreach (var application in applications)
            {
                DesignApplication applicationViewModel = new DesignApplication(application);
                ApplicationSource.Add(applicationViewModel);
            }
        }
예제 #19
0
 public static Application Get(ApplicationSource applicationSource)
 {
     if (instance == null)
     {
         lock (lockingObject)
         {
             if (instance == null)
             {
                 if (applicationSource == null)
                 {
                     applicationSource = ApplicationSourceRepository.Default();
                 }
                 instance = new Application(applicationSource);
                 //
                 //instance.InitBrowser(applicationSource);
                 //instance.InitSearch();
             }
         }
     }
     return(instance);
 }
예제 #20
0
        public async Task <IActionResult> UpdateSource([Bind("Name,Capacity,Description")] ApplicationSource sourceModel, int id)
        {
            var currentUser      = User;
            var currentUserEmail = currentUser.FindFirst(ClaimTypes.Email).Value;
            var user             = await _accountRepository.FindByEmailAsync(currentUserEmail);

            if (ModelState.IsValid)
            {
                var data = _context.Sources.Where(x => x.Id == id).FirstOrDefault();

                data.Name        = sourceModel.Name;
                data.Capacity    = sourceModel.Capacity;
                data.Description = sourceModel.Description;
                data.OwnerId     = user.Id;

                await _context.SaveChangesAsync();

                return(RedirectToAction(nameof(MySources)));
            }
            return(View(sourceModel));
        }
예제 #21
0
        private void InitWebDriver(ApplicationSource applicationSource)
        {
            IBrowser currentBrowser;

            if (IsContinuousIntegration())
            {
                currentBrowser = Browsers[CONTINUOUS_INTEGRATION_BROWSER];
            }
            else
            {
                currentBrowser = Browsers[DEFAULT_BROWSER];
                foreach (string key in Browsers.Keys)
                {
                    if (key.ToLower().Equals(applicationSource.BrowserName.ToLower()))
                    {
                        currentBrowser = Browsers[key];
                        break;
                    }
                }
                Driver = currentBrowser.GetBrowser(applicationSource);
            }
        }
예제 #22
0
 public IPhoneResourceHandler(ApplicationSource _appSource) : base(_appSource)
 {
 }
예제 #23
0
 /// <summary>
 /// Constructor to specify a non-default application source.
 /// </summary>
 /// <param name="_appSource">Application Source.</param>
 public ResourceHandler(ApplicationSource _appSource)
 {
     this.appSource = _appSource;
 }
예제 #24
0
 private ApplicationSingleBrouser(ApplicationSource applicationSource)
 {
     this.ApplicationSource = applicationSource;
 }
예제 #25
0
 private TestsApplication(ApplicationSource applicationSource)
 {
     browsers = new Dictionary <int, AllBrowsers>();
     this.ApplicationSource = applicationSource;
 }
예제 #26
0
 public BrowserWrapper(ApplicationSource applicationSource)
 {
     InitDictionary();
     InitWebDriver(applicationSource);
 }
예제 #27
0
 public IWebDriver GetBrowser(ApplicationSource applicationSource)
 {
     return(new ChromeDriver());
 }
예제 #28
0
 public IWebDriver GetBrowser(ApplicationSource applicationSource)
 {
     return(new FirefoxDriver());
 }
예제 #29
0
 private void InitSearch(ApplicationSource applicationSource)
 {
 }
예제 #30
0
 private Application(ApplicationSource applicationSource)
 {
     ApplicationSource = applicationSource;
 }
 public IPhoneResourceHandler(ApplicationSource _appSource)
     : base(_appSource)
 {
 }
예제 #32
0
        //[Test]
        public void ExpectedConditions2()
        {
            ////IWebDriver driver = new ChromeDriver();
            //IWebDriver driver = new FirefoxDriver();
            //
            ////driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
            ////driver.Navigate().GoToUrl("https://devexpress.github.io/devextreme-reactive/react/grid/docs/guides/paging/");
            ////driver.Manage().Window.Maximize();
            //
            ApplicationSource applicationSource = new ApplicationSource(
                ApplicationSourceRepository.CHROME_TEMPORARY_MAXIMIZED_WHITH_UI,
                10L, 10L, "", "");

            Application.Get(applicationSource);
            Application.Get().Browser.OpenUrl("https://devexpress.github.io/devextreme-reactive/react/grid/docs/guides/paging/");
            ISearchStrategy search = Application.Get().Search;
            //search.SetExplicitStrategy();
            //
            //
            // Goto Position By JavaScript.
            ////IJavaScriptExecutor javaScript = (IJavaScriptExecutor)driver;
            ////IWebElement position = driver.FindElement(By.CssSelector("#using-paging-with-other-data-processing-plugins"));
            ////javaScript.ExecuteScript("arguments[0].scrollIntoView(true);", position);
            //
            // TODO Add to class BrowserWrapper
            IJavaScriptExecutor javaScript = (IJavaScriptExecutor)Application.Get().Browser.Driver;
            IWebElement         position   = search.CssSelector("#using-paging-with-other-data-processing-plugins");

            javaScript.ExecuteScript("arguments[0].scrollIntoView(true);", position);
            //
            Thread.Sleep(2000);
            //
            //
            //driver.SwitchTo().Frame(driver.FindElement(By.XPath("//iframe[contains(@style,'height: 426px')]")));
            //
            // TODO Add to class BrowserWrapper
            Application.Get().Browser.Driver.SwitchTo()
            .Frame(search.XPath("//iframe[contains(@style,'height: 426px')]"));
            //
            //
            ////IWebElement tdNevadaFirst = driver.FindElement(By.XPath("//td[text()='Nevada']"));
            ////IWebElement tdNevadaFirstData = driver.FindElement(By.XPath("//td[text()='Nevada']/preceding-sibling::td[2]"));
            ////Console.WriteLine("tdNevadaFirstData1= " + tdNevadaFirstData.Text);
            //
            IWebElement tdNevadaFirstData = search.XPath("//td[text()='Nevada']/preceding-sibling::td[2]");

            Console.WriteLine("tdNevadaFirstData1= " + tdNevadaFirstData.Text);
            //
            //
            //driver.FindElement(By.XPath("//span[text()='2']")).Click();
            //
            search.XPath("//span[text()='2']").Click();
            //
            //
            ////driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(0);
            ////WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
            ////wait.Until(InvisibilityOfElementLocated(By.XPath("//td[text()='" + tdNevadaFirstData.Text + "']")));
            ////driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(10);
            //
            search.SetExplicitStrategy();
            Console.WriteLine("tdNevadaFirstData2= " + search.InvisibilityOfWebElementLocated(By.XPath("//td[text()='" + tdNevadaFirstData.Text + "']")));
            search.SetImplicitStrategy();
            //
            //
            ////Thread.Sleep(4000); // For Presentation
            //
            ////tdNevadaFirstData = driver.FindElement(By.XPath("//td[text()='Nevada']/preceding-sibling::td[2]"));
            ////Console.WriteLine("tdNevadaFirstData2= " + tdNevadaFirstData.Text);
            //
            tdNevadaFirstData = search.XPath("//td[text()='Nevada']/preceding-sibling::td[2]");
            Console.WriteLine("tdNevadaFirstData2= " + tdNevadaFirstData.Text);
            //
            //
            Thread.Sleep(2000);
            //driver.Quit();
            //
            Application.Remove();
        }
예제 #33
0
 /// <summary>
 /// Constructor to specify a non-default application source.
 /// </summary>
 /// <param name="_appSource">Application Source.</param>
 public ResourceHandler(ApplicationSource _appSource)
 {
     this.appSource = _appSource;
 }