Example #1
0
        /// <summary>
        /// 根据配置创建用户账户,缴费角色
        /// </summary>
        /// <param name="monitoringConfig"></param>
        /// <param name="node"></param>
        public void CreateAcountByConfig(MonitoringConfig node)
        {
            //定价或补贴需要缴费账户
            if (node.ConfigTypeId == DictionaryCache.MonitoringConfigTypePrice.Id || node.ConfigTypeId == DictionaryCache.MonitoringConfigTypeSubsidy.Id)
            {
                //是否已经存在缴费账户
                int count = 0;

                //为当前对象开启缴费账户
                CategoryDictionary category = CategoryDictionary.Building;
                if (node.TargetTypeId == DictionaryCache.ConfigToOrg.Id)
                {
                    category = CategoryDictionary.Organization;
                    count    = userBLL.Count(o => o.Roles.Any(c => c.Id == RoleCache.PayMentRoleId) && o.Organizations.Any(c => c.Id == node.TargetId));
                }
                else
                {
                    count = userBLL.Count(o => o.Roles.Any(c => c.Id == RoleCache.PayMentRoleId) && o.Buildings.Any(c => c.Id == node.TargetId));
                }
                if (count > 0)
                {
                    return;
                }

                string error = "";
                List <UserAccountData> userAccounts;
                CreateAccounts(category, true, new List <string> {
                    node.TargetId + ""
                }, out error, out userAccounts);
            }
        }
Example #2
0
 public SkylakeClientArb()
 {
     architectureName     = "Skylake Client System Agent";
     lastUncoreClockCount = 0;
     monitoringConfigs    = new MonitoringConfig[1];
     monitoringConfigs[0] = new MCRequests(this);
 }
Example #3
0
        public ZenL3Cache()
        {
            architectureName = "Zen L3";
            ccxSampleThreads = new Dictionary <int, int>();
            allCcxThreads    = new Dictionary <int, List <int> >();
            for (int threadIdx = 0; threadIdx < GetThreadCount(); threadIdx++)
            {
                int ccxIdx = GetCcxId(threadIdx);
                ccxSampleThreads[ccxIdx] = threadIdx;
                List <int> ccxThreads;
                if (!allCcxThreads.TryGetValue(ccxIdx, out ccxThreads))
                {
                    ccxThreads = new List <int>();
                    allCcxThreads.Add(ccxIdx, ccxThreads);
                }

                ccxThreads.Add(threadIdx);
            }

            monitoringConfigs    = new MonitoringConfig[1];
            monitoringConfigs[0] = new HitRateLatencyConfig(this);

            ccxCounterData = new L3CounterData[ccxSampleThreads.Count()];
            ccxTotals      = new L3CounterData();
        }
Example #4
0
 public FileManager(MonitoringConfig config, ILogger logger, ShareFolder shareFolder, IMetricServer metricServer)
 {
     _shareFolder  = shareFolder;
     _config       = config;
     _logger       = logger;
     _metricServer = metricServer;
 }
        /// <summary>
        /// Initializes a new instance of the <see cref="MonitoringTask"/> from the provided <see cref="MonitoringConfig"/>.
        /// </summary>
        /// <param name="configuration">The current monitoring configuration.</param>
        public MonitoringTask(MonitoringConfig configuration)
        {
            if (configuration == null) throw new ArgumentNullException("configuration");

            _logger = LogManager.GetCurrentClassLogger();
            _batteryWrapper = new BatteryWrapper(configuration.MinimumLevel, configuration.MinimumRunTime);
            _checkInterval = configuration.CheckInterval;
        }
Example #6
0
 public SandyBridgePCU()
 {
     architectureName     = "Sandy Bridge E Power Control Unit";
     monitoringConfigs    = new MonitoringConfig[3];
     monitoringConfigs[0] = new VoltageTransitions(this);
     monitoringConfigs[1] = new Limits(this);
     monitoringConfigs[2] = new ChangeAndPhaseShedding(this);
 }
Example #7
0
 public HaswellClientArb()
 {
     architectureName     = "Haswell Client System Agent";
     lastUncoreClockCount = 0;
     monitoringConfigs    = new MonitoringConfig[2];
     monitoringConfigs[0] = new MCRequests(this);
     monitoringConfigs[1] = new CoherencyRequests(this);
 }
Example #8
0
 public Zen2DataFabric()
 {
     architectureName     = "Zen 2 Data Fabric";
     monitoringConfigs    = new MonitoringConfig[4];
     monitoringConfigs[0] = new DramBwConfig(this);
     monitoringConfigs[1] = new DramBw1Config(this);
     monitoringConfigs[2] = new OutboundDataConfig(this);
     monitoringConfigs[3] = new BwTestConfig(this);
 }
Example #9
0
        public DynamicHostManager(MonitoringConfig config, INetworkScanner scanner, IScheduler scheduler)
        {
            Guard.NotNull(() => config, config);
            Guard.NotNull(() => scanner, scanner);
            Guard.NotNull(() => scheduler, scheduler);

            this.scanner = scanner;
            this.config  = config;
            subscription = Observable.FromAsync(ScanFtp, scheduler).Delay(TimeSpan.FromSeconds(10), scheduler).Repeat().SubscribeOn(scheduler).Subscribe();
        }
Example #10
0
 public MonitoringInstance(IScheduler scheduler, MonitoringConfig configuration, ISourceFactory downloaderFactory, IDeleteArchiving archiving)
 {
     Guard.NotNull(() => configuration, configuration);
     Guard.NotNull(() => scheduler, scheduler);
     Guard.NotNull(() => downloaderFactory, downloaderFactory);
     Guard.NotNull(() => archiving, archiving);
     this.configuration     = configuration;
     this.archiving         = archiving;
     this.scheduler         = scheduler;
     this.downloaderFactory = downloaderFactory;
 }
Example #11
0
 public Zen1()
 {
     monitoringConfigs    = new MonitoringConfig[6];
     monitoringConfigs[0] = new BpuMonitoringConfig(this);
     monitoringConfigs[1] = new DCMonitoringConfig(this);
     monitoringConfigs[2] = new FPUPipeUtil(this);
     monitoringConfigs[3] = new Dispatch1(this);
     monitoringConfigs[4] = new Dispatch2(this);
     monitoringConfigs[5] = new OpCache(this);
     architectureName     = "Zen 1";
 }
Example #12
0
 public void SetUp()
 {
     scanConfig                = new MonitoringConfig();
     scanConfig.YiFtp          = new FtpConfig();
     scanConfig.YiFtp.FileMask = "Test";
     scanConfig.Output         = new OutputConfig();
     scanConfig.Output.Out     = "Out";
     mockPredicate             = new Mock <IPredicate>();
     scanConfig.Known          = new PredefinedCameraConfig();
     manager  = new StaticHostManager(scanConfig.Known);
     instance = CreateFactory();
 }
Example #13
0
 public SourceFactory(MonitoringConfig config, IPredicate filePredicate)
 {
     Guard.NotNull(() => config, config);
     Guard.NotNull(() => filePredicate, filePredicate);
     this.config        = config;
     this.filePredicate = filePredicate;
     destination        = ConstructDestination();
     if (config.Server != null)
     {
         fixedDownloaders.Add(new FileDownloader(config.Server, destination, filePredicate));
     }
 }
Example #14
0
        public MainSheduler(MonitoringConfig config, ILogger logger, IConfiguration configuration, Gauge counterException, IMetricServer metricServer = null)
        {
            Logger           = logger;
            MetricServer     = metricServer;
            CounterException = counterException;
            MonitoringConfig = config;
            AppConfiguration = configuration;
            var registry = new Registry();

            registry.Schedule <FileMonitoringJob>().NonReentrant().ToRunEvery(config.FileMonitoringTimeout).Seconds();
            registry.Schedule <ApiIntegrationJob>().NonReentrant().ToRunEvery(config.ApiIntegrationTimeout).Seconds();
            JobManager.Initialize(registry);
        }
Example #15
0
        static void Main(string[] args)
        {
            var configuration = new ConfigurationBuilder()
                                .AddJsonFile("appsettings.json")
                                .Build();

            Log.Logger = new LoggerConfiguration()
                         .ReadFrom.Configuration(configuration)
                         .CreateLogger();

            var serviceCollection = new ServiceCollection();

            ConfigureServices(serviceCollection);

            var serviceProvider = serviceCollection.BuildServiceProvider();
            var logger          = serviceProvider.GetService <ILogger <Program> >();

            var monitoringConfig = new MonitoringConfig();

            configuration.GetSection("MonitoringConfig").Bind(monitoringConfig);

            var prometheus = new PrometheusConfig();

            configuration.GetSection(Constants.DefaultMetricsServerName).Bind(prometheus);

            MetricPusher metricServer = null;

            if (!string.IsNullOrEmpty(prometheus.Instance) && !string.IsNullOrEmpty(prometheus.Endpoint))
            {
                metricServer = new MetricPusher(endpoint: prometheus.Endpoint,
                                                job: "FileMonitoring", instance: prometheus.Instance);
                metricServer.Start();
            }

            logger.LogInformation("Приложение запущено");
            if (FailedMigrateDb.CountExceptions(() => MigrateDb(configuration, logger)))
            {
                //запуск планировщика задач
                var mainSheduler = new MainSheduler(monitoringConfig, logger, configuration, JobsGaugeException, metricServer);
                logger.LogInformation("Для завершения работы нажмите клавишу Q");
                var stopKey = new ConsoleKeyInfo();
                while (stopKey.Key != ConsoleKey.Q)
                {
                    stopKey = Console.ReadKey();
                }
                mainSheduler.Dispose();
                metricServer?.Stop();
            }
            logger.LogInformation("Приложение завершило работу");
        }
        public void SetUp()
        {
            scheduler               = new TestScheduler();
            monitoringConfig        = new MonitoringConfig();
            monitoringConfig.Scan   = 1;
            monitoringConfig.Known  = new PredefinedCameraConfig();
            monitoringConfig.Output = new OutputConfig();
            archiving               = new Mock <IDeleteArchiving>();
            mockDestinationFactory  = new Mock <ISourceFactory>();
            ftpDownloader           = new Mock <IDownloader>();

            mockDestinationFactory.Setup(item => item.GetSources(It.IsAny <IHostManager>()))
            .Returns(new[] { ftpDownloader.Object });
            instance = CreateMonitoringInstance();
        }
Example #17
0
        public SkylakeClientL3()
        {
            ulong cboConfig;

            architectureName = "Skylake Client L3";

            // intel developer manual table 2-30 says bits 0-3 encode number of C-Box
            // "subtract one to determine number of CBo units"
            Ring0.ReadMsr(MSR_UNC_CBO_CONFIG, out cboConfig);
            CboCount = (int)((cboConfig & 0x7) - 1);
            cboData  = new NormalizedCboCounterData[CboCount];

            monitoringConfigs    = new MonitoringConfig[1];
            monitoringConfigs[0] = new HitrateConfig(this);
        }
Example #18
0
 public SandyBridgeEL3()
 {
     architectureName     = "Sandy Bridge E L3 Cache";
     cboTotals            = new NormalizedCboCounterData();
     cboData              = new NormalizedCboCounterData[CboCount];
     monitoringConfigs    = new MonitoringConfig[8];
     monitoringConfigs[0] = new HitsBlConfig(this);
     monitoringConfigs[1] = new RxRConfig(this);
     monitoringConfigs[2] = new DataReadLatency(this);
     monitoringConfigs[3] = new MissesAdConfig(this);
     monitoringConfigs[4] = new LLCVictimsAndIvRing(this);
     monitoringConfigs[5] = new BouncesAndAkRing(this);
     monitoringConfigs[6] = new DataReadMissLatency(this);
     monitoringConfigs[7] = new ToR(this);
 }
Example #19
0
 public Piledriver()
 {
     monitoringConfigs     = new MonitoringConfig[11];
     monitoringConfigs[0]  = new BpuMonitoringConfig(this);
     monitoringConfigs[1]  = new IFetch(this);
     monitoringConfigs[2]  = new DataCache(this);
     monitoringConfigs[3]  = new DataCache1(this);
     monitoringConfigs[4]  = new L2Cache(this);
     monitoringConfigs[5]  = new DispatchStall(this);
     monitoringConfigs[6]  = new DispatchStall1(this);
     monitoringConfigs[7]  = new DispatchStallFP(this);
     monitoringConfigs[8]  = new DispatchStallMisc(this);
     monitoringConfigs[9]  = new DTLB(this);
     monitoringConfigs[10] = new FPU(this);
     architectureName      = "Piledriver";
 }
Example #20
0
        public static void Main(string[] args)
        {
            try
            {
                var directory = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location);
                if (!File.Exists(Path.Combine(directory, "service.json")))
                {
                    log.Error("Configuration file service.json not found");
                    return;
                }

                MonitoringConfig config = JsonConvert.DeserializeObject <MonitoringConfig>(File.ReadAllText(Path.Combine(directory, "service.json")));
                if (!config.Validate())
                {
                    log.Error("Invalid configuration");
                    return;
                }

                NetworkScanner scanner = new NetworkScanner(TaskPoolScheduler.Default);
                log.Info("Starting {0} version utility...", Assembly.GetExecutingAssembly().GetName().Version);
                foreach (var address in scanner.GetLocalIPAddress())
                {
                    log.Info("Starting on local IP: [{0}]", address);
                }

                List <Command> commandsList = new List <Command>();
                commandsList.Add(new MonitorCommand(config));
                commandsList.Add(new DownloadCommand(config));
                var commands = commandsList.ToDictionary(item => item.Name, item => item, StringComparer.OrdinalIgnoreCase);

                if (args.Length == 0 ||
                    !commands.TryGetValue(args[0], out var command))
                {
                    log.Info("Starting as service");
                    ServiceStarter serviceStarter = new ServiceStarter();
                    serviceStarter.StartService(config);
                    return;
                }

                command.ParseArguments(args.Skip(1));
                command.Execute();
            }
            catch (Exception ex)
            {
                log.Error(ex);
            }
        }
Example #21
0
 public Zen3()
 {
     monitoringConfigs     = new MonitoringConfig[12];
     monitoringConfigs[0]  = new BpuMonitoringConfig(this);
     monitoringConfigs[1]  = new FetchConfig(this);
     monitoringConfigs[2]  = new DCFillConfig(this);
     monitoringConfigs[3]  = new HwPrefetchConfig(this);
     monitoringConfigs[4]  = new SwPrefetchConfig(this);
     monitoringConfigs[5]  = new FlopsConfig(this);
     monitoringConfigs[6]  = new LocksConfig(this);
     monitoringConfigs[7]  = new DispatchStallConfig(this);
     monitoringConfigs[8]  = new DispatchStallConfig1(this);
     monitoringConfigs[9]  = new L2Config(this);
     monitoringConfigs[10] = new TopDown(this);
     monitoringConfigs[11] = new PmcMonitoringConfig(this);
     architectureName      = "Zen 3";
 }
Example #22
0
        public HaswellClientL3()
        {
            ulong cboConfig;

            architectureName = "Haswell Client L3";

            // intel developer manual table 2-30 syas bits 0-3 encode number of C-Box
            // "derive value by -1"
            Ring0.ReadMsr(MSR_UNC_CBO_CONFIG, out cboConfig);
            CboCount = (int)((cboConfig & 0x7) - 1);
            cboData  = new NormalizedCboCounterData[CboCount];

            monitoringConfigs    = new MonitoringConfig[3];
            monitoringConfigs[0] = new HitrateConfig(this);
            monitoringConfigs[1] = new SnoopHitConfig(this);
            monitoringConfigs[2] = new SnoopInvalidateConfig(this);
        }
Example #23
0
        public void StartService(MonitoringConfig config)
        {
            Guard.NotNull(() => config, config);
            var           predicate = config.Output.All ? new NullPredicate() : (IPredicate) new NewFilesPredicate();
            SourceFactory factory   = new SourceFactory(config, predicate);

            HostFactory.Run(
                x =>
            {
                x.Service <MonitoringInstance>(
                    s =>
                {
                    s.ConstructUsing(name => new MonitoringInstance(TaskPoolScheduler.Default, config, factory, new DeleteArchiving()));
                    s.WhenStarted(tc => tc.Start());
                    s.WhenStopped(tc => tc.Stop());
                });

                x.RunAsLocalSystem();
                x.SetDescription("Camera Monitoring Service");
                x.SetDisplayName("YiScanner Service");
                x.SetServiceName("YiScanner");
            });
        }
Example #24
0
        public async Task <bool> UpdateOneAgentOnAHostMonitoringConfigAsync(string id, MonitoringConfig body, CancellationToken cancellationToken = default)
        {
            var response = await GetOneAgentOnAHostConfigUrl(id)
                           .PutJsonAsync(body, cancellationToken)
                           .ConfigureAwait(false);

            return(response.IsSuccessStatusCode);
        }
        /// <summary>
        /// Starts background monitoring thread that periodically updates monitoring list view
        /// with new results
        /// </summary>
        /// <param name="configId">Monitoring config to use</param>
        /// <param name="listView">List view to update</param>
        /// <param name="cancelToken">Cancellation token - since perf counters are limited,
        /// this thread has to be cancelled before one for a new config is started</param>
        public void MonitoringThread(int configId, ListView listView, CancellationToken cancelToken)
        {
            CultureInfo      ci             = new CultureInfo("en-US");
            MonitoringConfig selectedConfig = monitoringConfigs[configId];

            lastUpdateTimers = null;

            if (cancelToken.IsCancellationRequested)
            {
                return;
            }

            selectedConfig.Initialize();
            SafeSetMonitoringListViewColumns cd = new SafeSetMonitoringListViewColumns(SetMonitoringListViewColumns);

            listView.Invoke(cd, selectedConfig.GetColumns(), listView);
            while (!cancelToken.IsCancellationRequested)
            {
                MonitoringUpdateResults updateResults = selectedConfig.Update();
                // update list box with results (and we're always on a different thread)
                SafeSetMonitoringListViewItems d = new SafeSetMonitoringListViewItems(SetMonitoringListView);
                listView.Invoke(d, updateResults, listView);

                // log to file, if we're doing that
                lock (logFileLock)
                {
                    if (!string.IsNullOrEmpty(logFilePath))
                    {
                        // log raw counter values if available. otherwise log metrics
                        // eventually I want to move everything over to log raw counter values
                        bool first;
                        if (updateResults.overallCounterValues != null)
                        {
                            if (!logFileHeadersWritten)
                            {
                                string csvHeader = "";
                                first = true;
                                foreach (Tuple <string, float> counterValue in updateResults.overallCounterValues)
                                {
                                    if (first)
                                    {
                                        csvHeader += counterValue.Item1;
                                    }
                                    else
                                    {
                                        csvHeader += "," + counterValue.Item1;
                                    }
                                    first = false;
                                }

                                csvHeader += "\n";
                                File.AppendAllText(logFilePath, csvHeader);
                                logFileHeadersWritten = true;
                            }

                            string csvLine = "";
                            first = true;
                            foreach (Tuple <string, float> counterValue in updateResults.overallCounterValues)
                            {
                                if (first)
                                {
                                    csvLine += counterValue.Item2.ToString("G", ci);
                                }
                                else
                                {
                                    csvLine += "," + counterValue.Item2.ToString("G", ci);
                                }
                                first = false;
                            }

                            csvLine += "\n";
                            File.AppendAllText(logFilePath, csvLine);
                        }
                        else if (updateResults.overallMetrics != null)
                        {
                            if (!logFileHeadersWritten)
                            {
                                string csvHeader = "";
                                first = true;
                                foreach (string columnHeader in selectedConfig.GetColumns())
                                {
                                    if (first)
                                    {
                                        csvHeader += columnHeader;
                                    }
                                    else
                                    {
                                        csvHeader += "," + columnHeader;
                                    }
                                    first = false;
                                }

                                csvHeader += "\n";
                                File.AppendAllText(logFilePath, csvHeader);
                                logFileHeadersWritten = true;
                            }

                            string csvLine = "";
                            first = true;
                            foreach (string value in updateResults.overallMetrics)
                            {
                                if (first)
                                {
                                    csvLine += value;
                                }
                                else
                                {
                                    csvLine += "," + value;
                                }
                                first = false;
                            }

                            csvLine += "\n";
                            File.AppendAllText(logFilePath, csvLine);
                        }
                    }
                }

                Thread.Sleep(1000);
            }
        }
Example #26
0
 public DownloadCommand(MonitoringConfig config)
     : base(config)
 {
 }
Example #27
0
 protected BaseCommand(MonitoringConfig config)
 {
     Guard.NotNull(() => config, config);
     Config = config;
 }
Example #28
0
 public MonitorCommand(MonitoringConfig config)
     : base(config)
 {
 }
Example #29
0
        public static MonitoringConfigData ToViewData(this MonitoringConfig node, CategoryDictionary suffix = CategoryDictionary.None)
        {
            MonitoringConfigBLL MonitoringConfigBLL = new MonitoringConfigBLL();

            if (node == null)
            {
                return(null);
            }
            var model = new MonitoringConfigData()
            {
                Id                                          = node.Id,
                Name                                        = node.Name,
                Description                                 = node.Description,
                TargetTypeId                                = node.TargetTypeId,
                TargetId                                    = node.TargetId,
                EnergyCategoryId                            = node.EnergyCategoryId,
                ConfigTypeId                                = node.ConfigTypeId,
                WayId                                       = node.WayId,
                UnitValue                                   = node.UnitValue,
                LowerLimit                                  = node.LowerLimit,
                UpperLimit                                  = node.UpperLimit,
                Value                                       = node.Value,
                ValidStartTime                              = node.ValidStartTime,
                ValidEndTime                                = node.ValidEndTime,
                Priority                                    = node.Priority,
                Enabled                                     = node.Enabled,
                StartTime                                   = node.StartTime,
                EndTime                                     = node.EndTime,
                RegeneratorId                               = node.RegeneratorId,
                RegeneratorName                             = node.RegeneratorName,
                UpdatingTime                                = node.UpdatingTime,
                ParameterId                                 = node.ParameterId,
                TemplateId                                  = node.TemplateId,
                OverTimeDate                                = node.OverTimeDate,
                CycleTime                                   = node.CycleTime,
                CycleTypeId                                 = node.CycleTypeId,
                AlarmLevelId                                = node.AlarmLevelId,
                IsvalidNextCycle                            = node.IsvalidNextCycle,
                ValidTypeId                                 = node.ValidTypeId,
                ValidType                                   = node.ValidTypeId == null ? null : node.ValidType == null?DictionaryCache.Get()[(int)node.ValidTypeId].ToViewData() : node.ValidType.ToViewData(),
                                                 AlarmLevel = node.AlarmLevelId == null ? null : node.AlarmLevel == null?DictionaryCache.Get()[(int)node.AlarmLevelId].ToViewData() : node.AlarmLevel.ToViewData(),
                                                                  ConfigType = node.ConfigType == null?DictionaryCache.Get()[(int)node.ConfigTypeId].ToViewData() : node.ConfigType.ToViewData(),
                                                                                   CycleType = node.CycleTypeId == null ? null : node.CycleType == null?DictionaryCache.Get()[(int)node.CycleTypeId].ToViewData() : node.CycleType.ToViewData(),
                                                                                                   EnergyCategory = node.EnergyCategoryId == null ? null : node.EnergyCategory == null?DictionaryCache.Get()[(int)node.EnergyCategoryId].ToViewData() : node.EnergyCategory.ToViewData(),
                                                                                                                        TargetType                     = node.TargetType == null?DictionaryCache.Get()[(int)node.TargetTypeId].ToViewData() : node.TargetType.ToViewData(),
                                                                                                                                                   Way = node.WayId == null ? null : node.Way == null?DictionaryCache.Get()[(int)node.WayId].ToViewData() : node.Way.ToViewData(),
                                                                                                                                                             TemplateName = node.TemplateId.HasValue ? null : MonitoringConfigBLL.Filter(o => o.TemplateId == node.TemplateId).Take(1).Select(o => o.Name).ToList()[0]
            };

            //模板联动动作
            if (node.Value.HasValue)
            {
                try
                {
                    int actionId = Convert.ToInt32(node.Value);
                    model.ActionName = DictionaryCache.Get()[actionId].ChineseName;
                }
                catch { }
            }

            if (node.ConfigCycleSettings != null)
            {
                ConfigCycleSettingBLL ConfigCycleSettingBLL = new ConfigCycleSettingBLL();
                int id = model.Id;
                model.ConfigCycleSettings = ConfigCycleSettingBLL.Filter(o => o.ConfigId == id).ToViewList();
            }


            if (node.CycleTypeId != null)
            {
                if (model.CycleType.ChineseName == "每年")
                {
                    //model.CycleTimeName = "按年";
                    //model.CycleTimeDesc = Convert.ToDateTime(node.CycleTime).Year + "年";
                    model.CycleTimeName = model.CycleType.ChineseName;
                    model.CycleTimeDesc = Convert.ToDateTime(node.CycleTime).Month + "月" + Convert.ToDateTime(node.CycleTime).Day + "日" + Convert.ToDateTime(node.CycleTime).Hour + "时";
                }
                else if (model.CycleType.ChineseName == "每月")
                {
                    model.CycleTimeName = model.CycleType.ChineseName;
                    model.CycleTimeDesc = Convert.ToDateTime(node.CycleTime).Day + "日" + Convert.ToDateTime(node.CycleTime).Hour + "时";
                    //model.CycleTimeName = model.CycleType.ChineseName;
                    //model.CycleTimeDesc = Convert.ToDateTime(node.CycleTime).Month + "月"+Convert.ToDateTime(node.CycleTime).Day + "日"+Convert.ToDateTime(node.CycleTime).Hour + "时";
                }
                else if (model.CycleType.ChineseName == "每周")
                {
                    model.CycleTimeName = model.CycleType.ChineseName;
                    model.CycleTimeDesc = "第" + Convert.ToDateTime(node.CycleTime).DayOfWeek + "日" + Convert.ToDateTime(node.CycleTime).Hour + "时";
                    //model.CycleTimeName = "每周";
                    //model.CycleTimeDesc = "第" + Convert.ToDateTime(node.CycleTime).DayOfWeek + "日";
                }
                else if (model.CycleType.ChineseName == "每日")
                {
                    model.CycleTimeName = model.CycleType.ChineseName;
                    model.CycleTimeDesc = Convert.ToDateTime(node.CycleTime).Hour + "时";
                    //model.CycleTimeName = "每月";
                    //model.CycleTimeDesc = "第" + Convert.ToDateTime(node.CycleTime).Day + "日";
                }
                else if (model.CycleType.ChineseName == "每小时")
                {
                    model.CycleTimeName = model.CycleType.ChineseName;
                    //model.CycleTimeName = "每天";
                    //model.CycleTimeDesc = "第" + Convert.ToDateTime(node.CycleTime).Year + "时";
                }
            }
            if (node.ValidTypeId != null)
            {
                if (model.ValidType.ChineseName == "每年")
                {
                    model.ValidTypeDesc = "检测";
                    model.ValidTypeDesc = model.ValidTypeDesc + Convert.ToDateTime(model.ValidStartTime).Year;
                    if (Convert.ToDateTime(model.ValidStartTime).Year != Convert.ToDateTime(model.ValidEndTime).Year)
                    {
                        model.ValidTypeDesc = model.ValidTypeDesc + "至" + Convert.ToDateTime(model.ValidEndTime).Year;
                    }
                    model.ValidTypeDesc = model.ValidTypeDesc + "年数据";
                }
                else if (model.ValidType.ChineseName == "每月")
                {
                    model.ValidTypeDesc = "每年检测";
                    model.ValidTypeDesc = model.ValidTypeDesc + Convert.ToDateTime(model.ValidStartTime).Month;
                    if (Convert.ToDateTime(model.ValidStartTime).Month != Convert.ToDateTime(model.ValidEndTime).Month)
                    {
                        model.ValidTypeDesc = model.ValidTypeDesc + "至" + Convert.ToDateTime(model.ValidEndTime).Month;
                    }
                    model.ValidTypeDesc = model.ValidTypeDesc + "月数据";
                }
                else if (model.ValidType.ChineseName == "每周")
                {
                    model.ValidTypeDesc = "每周检测周";
                    model.ValidTypeDesc = model.ValidTypeDesc + Convert.ToDateTime(model.ValidStartTime).DayOfWeek;
                    if (Convert.ToDateTime(model.ValidStartTime).DayOfWeek != Convert.ToDateTime(model.ValidEndTime).DayOfWeek)
                    {
                        model.ValidTypeDesc = model.ValidTypeDesc + "至" + Convert.ToDateTime(model.ValidEndTime).DayOfWeek;
                    }
                    model.ValidTypeDesc = model.ValidTypeDesc + "数据";
                }
                else if (model.ValidType.ChineseName == "每日")
                {
                    model.ValidTypeDesc = "每月检测第";
                    model.ValidTypeDesc = model.ValidTypeDesc + Convert.ToDateTime(model.ValidStartTime).Day;
                    if (Convert.ToDateTime(model.ValidStartTime).Day != Convert.ToDateTime(model.ValidEndTime).Day)
                    {
                        model.ValidTypeDesc = model.ValidTypeDesc + "至" + Convert.ToDateTime(model.ValidEndTime).Day;
                    }
                    model.ValidTypeDesc = model.ValidTypeDesc + "日数据";
                }
                else if (model.ValidType.ChineseName == "每小时")
                {
                    model.ValidTypeDesc = "每天检测第";
                    model.ValidTypeDesc = model.ValidTypeDesc + Convert.ToDateTime(model.ValidStartTime).Hour;
                    if (Convert.ToDateTime(model.ValidStartTime).Hour != Convert.ToDateTime(model.ValidEndTime).Hour)
                    {
                        model.ValidTypeDesc = model.ValidTypeDesc + "至" + Convert.ToDateTime(model.ValidEndTime).Hour;
                    }
                    model.ValidTypeDesc = model.ValidTypeDesc + "时数据";
                }
            }
            if (node.ParameterId != null && (suffix & CategoryDictionary.Parameter) == CategoryDictionary.Parameter)
            {
                if (node.Parameter != null)
                {
                    model.Parameter = node.Parameter.ToViewData();
                }
                else
                {
                    ParameterBLL parameterBLL = new ParameterBLL();
                    model.Parameter = parameterBLL.Find(node.ParameterId).ToViewData();
                }
            }

            //string TargetTypeStr = node.TargetType == null ? DictionaryCache.Get()[node.TargetTypeId].Description : node.TargetType.Description;
            //if (TargetTypeStr != null)
            //{
            //    ViewMeterFullInfoBLL meterBLL = new ViewMeterFullInfoBLL();
            //    BuildingBLL buildingBLL = new BuildingBLL();
            //    OrganizationBLL organizationBLL = new OrganizationBLL();
            //    BrandBLL brandBLL = new BrandBLL();
            //    MessageBLL messageBLL = new MessageBLL();
            //    int id = -1;
            //    if (model.TargetId != null)
            //    {
            //        id=model.TargetId;
            //        if (TargetTypeStr.ToLower() == "meter")
            //            model.Target = meterBLL.Find(id).ToViewData();
            //        else if (TargetTypeStr.ToLower() == "building")
            //            model.Target = buildingBLL.Find(id).ToViewData();
            //        else if (TargetTypeStr.ToLower() == "organization")
            //            model.Target = organizationBLL.Find(id).ToViewData();
            //        else if (TargetTypeStr.ToLower() == "brand")
            //            model.Target = brandBLL.Find(id).ToViewData();
            //        else if (TargetTypeStr.ToLower() == "message")
            //            model.Target = messageBLL.Find(id).ToViewData();
            //    }
            //}
            return(model);
        }
Example #30
0
 public ApiClient(MonitoringConfig config, ILogger logger, IMetricServer metricServer)
 {
     _metricServer = metricServer;
     _config       = config;
     _logger       = logger;
 }
Example #31
0
 public Zen()
 {
     monitoringConfigs    = new MonitoringConfig[1];
     monitoringConfigs[0] = new BpuMonitoringConfig(this);
     architectureName     = "Zen 1";
 }