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()); }
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)); } }
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)); } }