示例#1
0
        private List <GridColumn> GetGridColumns([FromQuery] GridQuery query)
        {
            var properties = new List <PropertyInfo>
            {
                typeof(GridDataModel).GetProperty(nameof(GridDataModel.CustomerId)),
                typeof(GridDataModel).GetProperty(nameof(GridDataModel.CustomerName)),
                typeof(GridDataModel).GetProperty(nameof(GridDataModel.StatTime))
            };

            if (query.DataSet == GridDataSetType.Backlog)
            {
                properties.AddRange(new [] {
                    typeof(GridDataModel).GetProperty(nameof(GridDataModel.Backlog)),
                    typeof(GridDataModel).GetProperty(nameof(GridDataModel.LastReceivedOn)),
                    typeof(GridDataModel).GetProperty(nameof(GridDataModel.TotalReceived))
                });
            }
            else
            {
                properties.AddRange(new [] {
                    typeof(GridDataModel).GetProperty(nameof(GridDataModel.DatabaseConnections)),
                    typeof(GridDataModel).GetProperty(nameof(GridDataModel.IdleDatabaseConnections)),
                    typeof(GridDataModel).GetProperty(nameof(GridDataModel.TotalDatabaseConnections)),
                    typeof(GridDataModel).GetProperty(nameof(GridDataModel.TotalIdleDatabaseConnections)),
                    typeof(GridDataModel).GetProperty(nameof(GridDataModel.PctProcessorTime)),
                    typeof(GridDataModel).GetProperty(nameof(GridDataModel.PctPagingFileUsage)),
                    typeof(GridDataModel).GetProperty(nameof(GridDataModel.AvailableMBytes))
                });
            }

            return(properties.GetColumns());
        }
示例#2
0
        public ServiceResponse <GridConfig> GetGridConfig([FromQuery] GridQuery query)
        {
            try
            {
                var result = new GridConfig
                {
                    Columns = GetGridColumns(query)
                };

                return(new ServiceResponse <GridConfig>(true, result));
            }
            catch (Exception ex)
            {
                Logger.LogError($"{nameof(GetGridConfig)} : {ex.GetType()} : {ex.Message}");
                return(new ServiceResponse <GridConfig>(false, null, ex.Message));
            }
        }
示例#3
0
        public ServiceResponse <TabularResponse> GetGridData([FromQuery] GridQuery query, [FromQuery] TabularQuery tabularQuery)
        {
            try
            {
                IQueryable <GridDataModel> data = null;

                if (query.DataSet == GridDataSetType.Backlog)
                {
                    data = Db.Backlog.Select(b => new GridDataModel
                    {
                        CustomerId     = b.CustomerId,
                        CustomerName   = b.CustomerName,
                        StatTime       = b.StatTime,
                        Backlog        = b.Backlog,
                        LastReceivedOn = b.LastReceivedOn,
                        TotalReceived  = b.TotalReceived
                    }).AsQueryable();
                }
                else
                {
                    data = Db.Performance.Select(b => new GridDataModel
                    {
                        CustomerId                   = b.CustomerId,
                        CustomerName                 = b.CustomerName,
                        StatTime                     = b.StatTime,
                        DatabaseConnections          = b.DatabaseConnections,
                        IdleDatabaseConnections      = b.IdleDatabaseConnections,
                        TotalDatabaseConnections     = b.TotalDatabaseConnections,
                        TotalIdleDatabaseConnections = b.TotalIdleDatabaseConnections,
                        PctProcessorTime             = b.PctProcessorTime / 100.0,
                        AvailableMBytes              = b.AvailableMBytes,
                        PctPagingFileUsage           = b.PctPagingFileUsage / 100.0
                    }).AsQueryable();
                }

                var result = data.ApplyQuery(tabularQuery);
                return(new ServiceResponse <TabularResponse>(true, result));
            }
            catch (Exception ex)
            {
                Logger.LogError($"{nameof(GetGridData)} : {ex.GetType()} : {ex.Message}");
                return(new ServiceResponse <TabularResponse>(false, null, ex.Message));
            }
        }