Пример #1
0
        /// <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);
        }
Пример #2
0
        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);
        }