Esempio n. 1
0
        public virtual void RaisePreviousPageEvent(object sender, NavigateArgs e)
        {
            var handler = PreviousPageEventHandler;

            if (handler != null)
            {
                handler(this, e);
            }
        }
Esempio n. 2
0
        public override void ProcessNavigateArgs(NavigateArgs args)
        {
            DBs = WorkloadSetupInfo.GetValue <ObservableCollection <IOraDB> >(WorkloadSetupKeys.DBS);

            WorkLoads = new ObservableCollection <string>()
            {
                "Swingbench", "Aroltp"
            };
        }
Esempio n. 3
0
        private void PreviousViewModel(IPageViewModel current, NavigateArgs e)
        {
            int current_index = PageViewModels.FindIndex(vm => vm == current);

            if (current_index != 0)
            {
                PageViewModels[current_index - 1].ProcessNavigateArgs(e);
                CurrentPageViewModel = PageViewModels[current_index - 1];
            }
        }
Esempio n. 4
0
 private void NextViewModel(IPageViewModel current, NavigateArgs e)
 {
     if (current.CanSwitchPage)
     {
         int current_index = PageViewModels.FindIndex(vm => vm == current);
         if (current_index + 1 != PageViewModels.Count)
         {
             PageViewModels[current_index + 1].ProcessNavigateArgs(e);
             CurrentPageViewModel = PageViewModels[current_index + 1];
         }
     }
 }
Esempio n. 5
0
        public override void ProcessNavigateArgs(NavigateArgs args)
        {
            ClusterItems = WorkloadSetupInfo.GetValue <ObservableCollection <ICluster> >(WorkloadSetupKeys.CLUSTERS);

            foreach (var cluster in ClusterItems)
            {
                var cluster_nodes = CollectNodesFromCluster(cluster.ClusterName);
                if (cluster.Machines == null)
                {
                    cluster.Machines = new List <IMachineInfo>();
                }
                foreach (IMachineInfo m in cluster_nodes)
                {
                    cluster.Machines.Add(m);
                }
            }
        }
Esempio n. 6
0
        private void Data_OnNavigate(Type senderType, NavigateArgs args)
        {
            if (this != args.Panel)
            {
                return;
            }
            if (senderType == typeof(UcChannelsStatus))
            {
                var channelArgs = (ChannelsStatusArgs)args;
                switch (channelArgs.WhatShow)
                {
                case ChannelShowAs.OneChannelPage:
                    CreateAndPlaceToPage(typeof(UcOneChannelStatus));
                    break;

                case ChannelShowAs.ChannelControllersPage:
                    CreateAndPlaceToPage(typeof(UcControllersStatus));
                    break;
                }
            }
            else if (senderType == typeof(UcControllersStatus))
            {
                var controllerArgs = (ControllersStatusArgs)args;
                switch (controllerArgs.WhatShow)
                {
                case ControllerShowAs.OneChannelPage:
                    CreateAndPlaceToPage(typeof(UcOneChannelStatus));
                    break;

                case ControllerShowAs.OneControllerPage:
                    CreateAndPlaceToPage(typeof(UcOneControllerStatus));
                    break;
                }
            }
            else if (senderType == typeof(UcTreeNavigator))
            {
                var navigatorArgs = (NavigateTreeArgs)args;
                switch (navigatorArgs.NodeName)
                {
                case "ndStations":
                    CreateAndPlaceToPage(typeof(UcStationsStatus));
                    break;

                case "ndChannels":
                    CreateAndPlaceToPage(typeof(UcChannelsStatus));
                    break;

                case "ndControllers":
                    CreateAndPlaceToPage(typeof(UcControllersStatus));
                    break;
                }
            }
            else if (senderType == typeof(UcFillingPage))
            {
                var fillingPage = (UcFillingPage)CreateAndPlaceToPage(typeof(UcFillingPage));
                fillingPage.OnRiserSelected += fillingPage_OnRiserSelected;
            }
            else if (senderType == typeof(UcWorklogPage))
            {
                CreateAndPlaceToPage(typeof(UcWorklogPage));
            }
            else if (senderType == typeof(UcSwitchlogPage))
            {
                CreateAndPlaceToPage(typeof(UcSwitchlogPage));
            }
            else if (senderType == typeof(UcChangelogPage))
            {
                CreateAndPlaceToPage(typeof(UcChangelogPage));
            }
            else if (senderType == typeof(UcTrendPage))
            {
                CreateAndPlaceToPage(typeof(UcTrendPage));
            }
            else if (senderType == typeof(UcFillinglogPage))
            {
                CreateAndPlaceToPage(typeof(UcFillinglogPage));
            }
        }
Esempio n. 7
0
 public override void ProcessNavigateArgs(NavigateArgs args)
 {
 }
Esempio n. 8
0
 public virtual void ProcessNavigateArgs(NavigateArgs args)
 {
 }
Esempio n. 9
0
        public void HanldePreviousPageEvent(object sender, NavigateArgs e)
        {
            IPageViewModel vm = sender as IPageViewModel;

            PreviousViewModel(vm, e);
        }
Esempio n. 10
0
        public void HanldeNextPageEvent(object sender, NavigateArgs e)
        {
            IPageViewModel vm = sender as IPageViewModel;

            NextViewModel(vm, e);
        }
Esempio n. 11
0
        protected override async Task NavigateAsync(NavigateArgs args, NavigateResult result)
        {
            // Download robots.txt and sitemap.xml
            if (args.IsFileName("/", out string fileNameRoot))
            {
                if (fileNameRoot == "robots.txt")
                {
                    var robots = string.Format("Sitemap: {0}sitemap.xml", args.RequestUrlHost);
                    result.Data = Encoding.UTF8.GetBytes(robots);
                    return;
                }
                if (fileNameRoot == "sitemap.xml")
                {
                    var rowList = (await Data.Query <ContentSitemap>().QueryExecuteAsync());
                    rowList = rowList.OrderBy(item => item.NavigatePath).ThenBy(item => item.FileName).ToList(); // In memory sort
                    var sitemap = new StringBuilder();
                    sitemap.Append("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
                    sitemap.Append("<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\" xmlns:image=\"http://www.google.com/schemas/sitemap-image/1.1\">");
                    for (int i = 0; i < rowList.Count; i++)
                    {
                        var row = rowList[i];
                        if (row.NavigatePath != null) // Not a group
                        {
                            sitemap.Append("<url>");
                            var loc = string.Format("{0}{1}", args.RequestUrlHost, row.NavigatePath?.Substring(1));
                            sitemap.Append("<loc>" + loc + "</loc>");
                            var navigatePath = row.NavigatePath;
                            while (i < rowList.Count && (row = rowList[i]).FileName != null && row.NavigatePath == navigatePath)
                            {
                                // See also: https://developers.google.com/search/docs/advanced/sitemaps/image-sitemaps
                                sitemap.Append("<image:image>");
                                sitemap.Append($"<image:loc>{ args.RequestUrlHost + row.FileName.Substring(1) }</image:loc>");
                                sitemap.Append("</image:image>");
                                i += 1;
                            }
                            if (row.SitemapDate is DateTime sitemapDate)
                            {
                                var lastmod = sitemapDate.ToString("yyyy-MM-dd");
                                sitemap.Append("<lastmod>");
                                sitemap.Append(lastmod);
                                sitemap.Append("</lastmod>");
                            }
                            sitemap.Append("</url>");
                        }
                    }
                    sitemap.Append("</urlset>");
                    result.Data = Encoding.UTF8.GetBytes(sitemap.ToString());
                    return;
                }
                if (fileNameRoot == "ads.txt" && args.ConfigCustom is JsonElement jsonElement && jsonElement.TryGetProperty("GoogleAdsTxt", out var googleAdsTxt))
                {
                    result.Data = Encoding.UTF8.GetBytes(googleAdsTxt.GetString());
                    return;
                }
            }

            // Download file (assets)
            if (args.IsFileName("/assets/", out string fileName))
            {
                var row = (await Data.Query <StorageFile>().Where(item => item.FileName == fileName).QueryExecuteAsync()).SingleOrDefault();
                if (row != null)
                {
                    result.Data = row.Data;
                    if (args.HttpQuery.ContainsKey("imageThumbnail"))
                    {
                        result.Data = row.DataImageThumbnail;
                    }
                    return;
                }
            }

            // Download File (feedback)
            if (args.IsFileName("/feedback/", out var fileNameFeedback))
            {
                if (Guid.TryParse(fileNameFeedback, out var name))
                {
                    var row = (await Data.Query <Feedback>().Where(item => item.Name == name).QueryExecuteAsync()).SingleOrDefault();
                    if (row != null)
                    {
                        result.Data = row.AttachmentData;
                        return;
                    }
                }
            }

            // Request session deserialize
            result.IsSession = true;
        }
Esempio n. 12
0
        protected override async Task NavigateSessionAsync(NavigateArgs args, NavigateSessionResult result)
        {
            if (args.IsFileName("/", out string fileNameRoot))
            {
                if (fileNameRoot == "log.csv")
                {
                    result.Data = File.ReadAllBytes(UtilFramework.FileNameLog);
                    return;
                }
            }

            var row = PageMain.GridNavigate.RowList.SingleOrDefault(item => item.NavigatePath == args.NavigatePath);

            if (row != null)
            {
                if (PageMain.GridNavigate.RowSelect != row)
                {
                    PageMain.GridNavigate.RowSelect = row;
                }
                if (row.IsContent)
                {
                    string name    = row.Name;
                    var    content = (await Data.Query <Content>().Where(item => item.Name == name).QueryExecuteAsync()).FirstOrDefault();
                    if (content != null)
                    {
                        PageMain.Content.ComponentListClear();
                        await new PageContent(PageMain.Content, content).InitAsync();
                        return;
                    }
                }
                else
                {
                    var pageType = Type.GetType("Application.Doc." + row.PageTypeName);
                    if (pageType?.IsSubclassOf(typeof(Page)) == true)
                    {
                        if (PageMain.Content.List.FirstOrDefault()?.GetType() != pageType)
                        {
                            PageMain.Content.ComponentListClear();
                            var page = (Page)Activator.CreateInstance(pageType, new object[] { PageMain.Content });
                            await page.InitAsync();

                            return;
                        }
                    }
                }
            }

            // Redirect trailing slash
            if (!args.NavigatePath.EndsWith("/"))
            {
                row = PageMain.GridNavigate.RowList.SingleOrDefault(item => item.NavigatePath == args.NavigatePath + "/");
                if (row != null)
                {
                    result.RedirectPath = args.NavigatePath + "/";
                    return;
                }
            }

            // Page not found
            PageMain.Content.ComponentListClear();
            await new PageNotFound(PageMain.Content).InitAsync();
            result.IsPageNotFound = true;
        }