private object GetData(GaugeDashboardItemSelectBuilder dashboardSelectBuilder) { ApplySectionBindingFilter(dashboardSelectBuilder); Select select = dashboardSelectBuilder.Build(); using (var dbExecutor = UserConnection.EnsureDBConnection()) { using (IDataReader dataReader = select.ExecuteReader(dbExecutor)) { if (dataReader.Read()) { object value = GetValueByColumnMap(dataReader, dashboardSelectBuilder.EntityColumnMap); return(value); } } } return(null); }
/// <summary> /// Returns data for indicator dashboard item. /// </summary> public override JObject GetJson() { JObject itemObject = base.GetJson(); CopyProperties(itemObject); if (string.IsNullOrEmpty(GetSchemaName())) { return(itemObject); } GaugeDashboardItemSelectBuilder selectBuilder = GetSelectBuilder(); object value = GetData(selectBuilder); itemObject["dataValueType"] = selectBuilder.ColumnDataValueType; itemObject.Add(new JProperty("data", value)); itemObject["min"] = Parameters.Value <int?>("min"); itemObject["middleFrom"] = Parameters.Value <int?>("middleFrom"); itemObject["middleTo"] = Parameters.Value <int?>("middleTo"); itemObject["max"] = Parameters.Value <int?>("max"); itemObject["orderDirection"] = Parameters.Value <int?>("orderDirection"); return(itemObject); }