Ejemplo n.º 1
0
        public static void GetStoringen(ExtendedShellInfo tileData, WorkloadInfo <ExtendedShellInfo, int?> token)
        {
            try
            {
                if (DeviceNetworkInformation.IsNetworkAvailable &&
                    (DeviceNetworkInformation.IsWiFiEnabled || DeviceNetworkInformation.IsCellularDataEnabled))
                {
                    string url = NSApi.BaseUrl + "/ns-api-storingen?actual=true&planned=false";

                    if (!string.IsNullOrEmpty(tileData.Name))
                    {
                        url = string.Format(NSApi.BaseUrl + "/ns-api-storingen?actual=true&planned=false&station={0}", tileData.Name);
                    }

                    Uri       address   = new Uri(url, UriKind.Absolute);
                    WebClient webclient = new WebClient();
                    //webclient.Credentials = new NetworkCredential(NSApi.Login, NSApi.Password);

                    webclient.DownloadStringCompleted += (s, e) => webclient_DownloadStringCompleted(e, token);
                    webclient.DownloadStringAsync(address);
                }
                else
                {
                    token.NotifySuccess(null);
                }
            }
            catch (Exception ex)
            {
                token.NotifySuccess(null);
            }
        }
Ejemplo n.º 2
0
 private static void _workloadAnalyzer_OnWorkloadAvgSave(WorkloadInfo workloadInfo)
 {
     SqlWorks.ExecProc("AddAvgPerformanceCounter"
                       , MainSettings.MainSqlSettings.ComputerId
                       , DateTime.UtcNow
                       , workloadInfo.AvgWorkloadInfoCpu
                       , workloadInfo.AvgWorkloadInfoRam
                       , workloadInfo.AvgWorkloadInfoDisk);
 }
Ejemplo n.º 3
0
        private static void UpdateTiles()
        {
            var workManager = new AsyncWorkManager <ExtendedShellInfo, int?>();

            ShellTile appTile = ShellTile.ActiveTiles.First();

            WorkloadInfo <ExtendedShellInfo, int?> result = null;

            if (appTile != null)
            {
                try
                {
                    ExtendedShellInfo info = new ExtendedShellInfo()
                    {
                        Name      = string.Empty,
                        ShellTile = appTile
                    };

                    result = workManager.AddWorkItem(StoringCountService.GetStoringen, info);
                }
                catch
                {
                }
            }

            //Wait for all tasks to complete
            workManager.WaitAll();


            if (result.IsComplete && result.Result.HasValue)
            {
                ResetTiles(result.Result.Value);
            }

            ////Update tiles
            //foreach (var foundTile in ShellTile.ActiveTiles.Where(x => x.NavigationUri.ToString().Contains("StationTijden")))
            //{
            //    int begin = foundTile.NavigationUri.ToString().IndexOf("id=");

            //    if (begin > 0)
            //    {
            //        string name = foundTile.NavigationUri.ToString().Substring(begin + 3);

            //        ExtendedShellInfo info = new ExtendedShellInfo()
            //        {
            //            Name = name,
            //            ShellTile = foundTile
            //        };

            //        workManager.AddWorkItem(StoringCountService.GetStoringen, info);
            //    }

            //}
        }
Ejemplo n.º 4
0
        private static IEnumerable <string> GetSuggestedWorkloadsList(WorkloadInfo workloadInfo)
        {
            yield return(ToSafeId(workloadInfo.Id));

            if (MauiWorkloadIds.Contains(workloadInfo.Id.ToString()))
            {
                yield return(MauiCrossPlatTopLevelVSWorkloads);

                yield return(MauiComponentGroupVSWorkload);
            }
            if (WasmWorkloadIds.Contains(workloadInfo.Id.ToString()))
            {
                yield return(WasmTopLevelVSWorkload);
            }
        }
Ejemplo n.º 5
0
        private static void _workloadAnalyzer_OnWorkloadAllSave(WorkloadInfo workloadInfo)
        {
            SqlWorks.ExecProc("AddAvgPerformanceCounter"
                              , MainSettings.MainSqlSettings.ComputerId
                              , DateTime.UtcNow
                              , workloadInfo.AvgWorkloadInfoCpu
                              , workloadInfo.AvgWorkloadInfoRam
                              , workloadInfo.AvgWorkloadInfoDisk);

            //ProcessorTime
            foreach (var item in workloadInfo.WorkloadInfoCpuList)
            {
                SqlWorks.ExecProc("AddPerformanceCounter"
                                  , MainSettings.MainSqlSettings.ComputerId
                                  , item.Key
                                  , 1
                                  , item.Value);
            }

            //RamAvailableMBytes
            foreach (var item in workloadInfo.WorkloadInfoRamList)
            {
                SqlWorks.ExecProc("AddPerformanceCounter"
                                  , MainSettings.MainSqlSettings.ComputerId
                                  , item.Key
                                  , 2
                                  , item.Value);
            }

            //CurrentDiskQueueLength
            foreach (var item in workloadInfo.WorkloadInfoDiskList)
            {
                SqlWorks.ExecProc("AddPerformanceCounter"
                                  , MainSettings.MainSqlSettings.ComputerId
                                  , item.Key
                                  , 3
                                  , item.Value);
            }
        }
Ejemplo n.º 6
0
        static void webclient_DownloadStringCompleted(DownloadStringCompletedEventArgs eventArgs, WorkloadInfo <ExtendedShellInfo, int?> token)
        {
            //XElement storingenXmlElement;

            int?resultInt = null;

            try
            {
                if (eventArgs.Error == null && !string.IsNullOrEmpty(eventArgs.Result))
                {
                    //storingenXmlElement = XElement.Parse(result);

                    int begin = eventArgs.Result.IndexOf("<Ongepland");
                    int end   = eventArgs.Result.IndexOf("</Ongepland");

                    if (begin > 0 &&
                        end > 0 &&
                        end > begin)
                    {
                        resultInt = CountStringOccurrences(eventArgs.Result.Substring(begin, end - begin), "<Storing");

#if DEBUG
                        //resultInt = 1;
#endif

                        //resultInt = storingenXmlElement.Element("Ongepland").Descendants("Storing").Count();

                        if (resultInt.HasValue && resultInt > 0)
                        {
                            var liveTile = new StandardTileData
                            {
                                Count = resultInt
                            };

                            token.Parameter.ShellTile.Update(liveTile);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
            }
            finally
            {
                //storingenXmlElement = null;
            }

            token.NotifySuccess(resultInt);
            token = null;
        }