/// <summary> /// Returns data for indicator dashboard item. /// </summary> public override JObject GetJson() { JObject itemObject = base.GetJson(); CopyProperties(itemObject); if (string.IsNullOrEmpty(GetSchemaName())) { return(itemObject); } IndicatorDashboardItemSelectBuilder selectBuilder = GetSelectBuilder(); object value = GetData(selectBuilder); itemObject["dataValueType"] = selectBuilder.ColumnDataValueType; itemObject.Add(new JProperty("data", value)); return(itemObject); }
private object GetData(IndicatorDashboardItemSelectBuilder 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); }