コード例 #1
0
        public bool InitStatParams(DataStatParamInfo DataStatParam, DataStoreTableInfo DataStoreItem)
        {
            int             res = 0;
            QueryResultBase QueryResultObject = new QueryResultBase();

            dataStatParam = DataStatParam;
            dataStoreItem = DataStoreItem;



            mysqlCnn = new MySqlConnectHelper(Conn);



            if (mysqlCnn.OpenConnect() == false)
            {
                LoggerManager.Log.Info("MySql连接对象创建失败!\n");
                return(false);
            }

            String DbName = $"`[iot]-[{DataStatParam.CompanyCode}]`";

            res = mysqlCnn.SelectDB(DbName);


            //MySqlDataReader companyReader = MySqlHelper.ExecuteReader(Conn, CommandType.Text, "select * from companyinfo", null);

            return(true);
        }
コード例 #2
0
        public HttpResponseMessage QueryRealtimeAlarmEx([FromBody] RealtimeAlarmQueryParam RealtimeAlarmQueryParams)
        {
            QueryResultBase queryResult = new QueryResultBase();

            List <AlarmInfoEx> queryAlarm = CompanyManagerHelper.QueryRealtimeAlarmEx(RealtimeAlarmQueryParams);

            //List<AlarmInfo> testAlarm = new List<AlarmInfo>();

            //if (queryAlarm.Count() >0)
            //{
            //    testAlarm.Add(queryAlarm[0].AlarmInfoObject);

            //    queryResult = new QueryResultBase();
            //    queryResult.ResultCode = QueryResultCodeEnum.QUERY_SUCCESS;
            //    queryResult.QueryData = testAlarm;
            //    return HttpResponseExtension.toJson(JsonConvert.SerializeObject(queryResult));
            //}



            queryResult            = new QueryResultBase();
            queryResult.ResultCode = QueryResultCodeEnum.QUERY_SUCCESS;
            queryResult.QueryData  = queryAlarm;
            return(HttpResponseExtension.toJson(JsonConvert.SerializeObject(queryResult)));
        }
コード例 #3
0
        public HttpResponseMessage UploadTest1()
        {
            QueryResultBase queryResult = null;

            queryResult            = new QueryResultBase();
            queryResult.ResultCode = QueryResultCodeEnum.QUERY_ERROR_GET_DEVICE_STORE_CONFIG;

            return(HttpResponseExtension.toJson(JsonConvert.SerializeObject(queryResult)));
        }
コード例 #4
0
        public HttpResponseMessage GetAllUserList(String CompanyCode)
        {
            QueryResultBase queryResult = new QueryResultBase();

            queryResult.QueryData  = UserManagerHelper.GetAllUserList(CompanyCode);
            queryResult.ResultCode = QueryResultCodeEnum.QUERY_SUCCESS;


            return(HttpResponseExtension.toJson(JsonConvert.SerializeObject(queryResult)));
        }
コード例 #5
0
        public HttpResponseMessage QueryRealtimeAlarm([FromBody] AlarmQueryParam QueryParams)
        {
            QueryResultBase queryResult = new QueryResultBase();

            List <AlarmInfo> queryAlarm = CompanyManagerHelper.QueryRealtimeAlarm(QueryParams);

            queryResult            = new QueryResultBase();
            queryResult.ResultCode = QueryResultCodeEnum.QUERY_SUCCESS;
            queryResult.QueryData  = queryAlarm;
            return(HttpResponseExtension.toJson(JsonConvert.SerializeObject(queryResult)));
        }
コード例 #6
0
 private QueryErrorContext ErrorContextFactory <T>(QueryResultBase <T> failedQueryResult,
                                                   HttpStatusCode statusCode) =>
 new QueryErrorContext
 {
     ClientContextId = Guid.Empty.ToString(),
     Parameters      = "{}",
     Statement       = "",
     Message         = "Error Message",
     Errors          = failedQueryResult.Errors,
     HttpStatus      = statusCode,
     QueryStatus     = failedQueryResult.MetaData?.Status ?? QueryStatus.Fatal
 };
コード例 #7
0
        public void InitQueryParams(DataQueryParamObject DataQueryParam, DataStoreTableInfo DataStoreItem)
        {
            int             res = 0;
            QueryResultBase QueryResultObject = new QueryResultBase();

            dataQueryParam = DataQueryParam;
            dataStoreItem  = DataStoreItem;

            mysqlCnn = MySqlConnectPoolHelper.getPool().getConnection();

            String DbName = $"`[iot]-[{DataQueryParam.CompanyCode}]`";

            res = mysqlCnn.SelectDB(DbName);
        }
コード例 #8
0
        public QueryResultBase HandleStatInterface(DataStatParamInfo dataStatParam)
        {
            QueryResultBase QueryResultObject = new QueryResultBase();

            DataStoreTableInfo DataStoreConfigItem = CompanyManagerHelper.GetDeviceDataStoreConfigItem(
                dataStatParam.CompanyCode, dataStatParam.DeviceCode, dataStatParam.TableName);

            if (DataStoreConfigItem == null)
            {
                //QueryResultObject = new QueryResultBase();

                QueryResultObject.ResultCode = QueryResultCodeEnum.QUERY_ERROR_NO_DATA_STORE_CONFIG;
                QueryResultObject.QueryData  = null;
            }
            else
            {
                switch (dataStatParam.DataType)
                {
                case DATA_TYPE.DATA_SUM:

                    break;

                case DATA_TYPE.DATA_CUSTOM_ACC:
                    QueryResultObject = new QueryResultBase();
                    StatAlgorithm statAlogrithmObject = new StatAlgorithm();

                    if (statAlogrithmObject.InitStatParams(dataStatParam, DataStoreConfigItem) == true)
                    {
                        QueryResultObject = statAlogrithmObject.GetStatRecordsetData();
                    }
                    else
                    {
                        QueryResultObject.ResultCode = QueryResultCodeEnum.QUERY_ERROR_NO_DATA_STORE_CONFIG;
                        QueryResultObject.QueryData  = null;
                    }

                    break;

                default:
                    break;
                }
            }



            return(QueryResultObject);
        }
コード例 #9
0
        public HttpResponseMessage UpdateUser(UserInfo UpdateUser)
        {
            QueryResultBase queryResult = new QueryResultBase();

            bool Res = UserManagerHelper.ModifyUser(UpdateUser);

            if (Res == true)
            {
                queryResult.ResultCode = QueryResultCodeEnum.QUERY_SUCCESS;
            }
            else
            {
                queryResult.ResultCode = QueryResultCodeEnum.QUERY_ERROR_DB_SQL;
            }


            return(HttpResponseExtension.toJson(JsonConvert.SerializeObject(queryResult)));
        }
コード例 #10
0
        public QueryResultBase GetStatRecordsetData()
        {
            QueryResultBase queryResult = new QueryResultBase();


            statConditionList = objStatSqlAnalyze.GetStatSqlList(dataStatParam, dataStoreItem);

            if (statConditionList == null)
            {
                queryResult.ResultCode = QueryResultCodeEnum.QUERY_ERROR_ANALYZE_SQL;
                queryResult.QueryData  = null;

                //return queryResult;
            }
            else if (statConditionList.Count() < 0)
            {
                queryResult.ResultCode = QueryResultCodeEnum.QUERY_ERROR_ANALYZE_SQL;
                queryResult.QueryData  = null;
                //return queryResult;
            }
            else
            {
                StatResultBase statData = new StatResultBase();

                statData.StatRecordset = GetQueryRecordset();

                if (statData.StatRecordset == null)
                {
                    queryResult.ResultCode = QueryResultCodeEnum.QUERY_ERROR_GET_QUERY_RECORDSET_DATA;
                    queryResult.QueryData  = null;
                    //return queryResult;
                }
                else
                {
                    queryResult.ResultCode = QueryResultCodeEnum.QUERY_SUCCESS;
                    queryResult.QueryData  = statData;
                }
            }



            return(queryResult);
        }
コード例 #11
0
        public HttpResponseMessage StatQueryData([FromBody] DataStatParamInfo StatParams)
        {
            //DataQueryParamObject queryParam = null;
            QueryResultBase queryResult = null;


            if (StatParams == null)
            {
                queryResult            = new QueryResultBase();
                queryResult.ResultCode = QueryResultCodeEnum.QUERY_ERROR_PARAM;

                return(HttpResponseExtension.toJson(JsonConvert.SerializeObject(queryResult)));
            }
            IotDataStatInterface dataStatInterfaceObject = new IotDataStatInterface();

            queryResult = dataStatInterfaceObject.HandleStatInterface(StatParams);

            return(HttpResponseExtension.toJson(JsonConvert.SerializeObject(queryResult)));
        }
コード例 #12
0
        public HttpResponseMessage GetDataStoreConfig(string CompanyCode, string DeviceCode)
        {
            QueryResultBase queryResult = null;


            List <DataStoreTableInfo> deviceDataStoreTableConfig =
                CompanyManagerHelper.GetDeviceDataStoreConfig(CompanyCode, DeviceCode);


            if (deviceDataStoreTableConfig == null)
            {
                queryResult            = new QueryResultBase();
                queryResult.ResultCode = QueryResultCodeEnum.QUERY_ERROR_GET_DEVICE_STORE_CONFIG;
            }

            queryResult            = new QueryResultBase();
            queryResult.ResultCode = QueryResultCodeEnum.QUERY_SUCCESS;
            queryResult.QueryData  = deviceDataStoreTableConfig;



            return(HttpResponseExtension.toJson(JsonConvert.SerializeObject(queryResult)));
        }
コード例 #13
0
        public QueryResultBase HandleQueryInterfaceExtend(DataQueryParamObject dataQueryParam)
        {
            QueryResultBase QueryResultObject = null;

            DataStoreTableInfo DataStoreConfigItem = CompanyManagerHelper.GetDeviceDataStoreConfigItem(
                dataQueryParam.CompanyCode, dataQueryParam.DeviceCode, dataQueryParam.TableName);

            if (DataStoreConfigItem == null)
            {
                QueryResultObject = new QueryResultBase();

                QueryResultObject.ResultCode = QueryResultCodeEnum.QUERY_ERROR_NO_DATA_STORE_CONFIG;
                QueryResultObject.QueryData  = null;

                return(QueryResultObject);
            }
            else
            {
                switch (dataQueryParam.DataQueryType)
                {
                case DATA_QUERY_TYPE.HISTORY_QUERY:
                    QueryAlgorithm HistoryQueryObject = new QueryAlgorithm();
                    HistoryQueryObject.InitQueryParams(dataQueryParam, DataStoreConfigItem);
                    QueryResultObject = HistoryQueryObject.GetQueryRecordsetData(true);
                    HistoryQueryObject.ClearMySQLCnn();
                    break;

                default:
                    break;
                }
            }



            return(QueryResultObject);
        }
コード例 #14
0
        public QueryResultBase GetQueryRecordsetData(bool queryExtend = false)
        {
            QueryResultBase queryResult    = new QueryResultBase();
            long            RecordsetCount = 0;

            //QueryResult queryData = new QueryResult();


            queryConditionList = objQuerySqlAnalyze.GetQuerySqlList(dataQueryParam, dataStoreItem);

            if (queryConditionList == null)
            {
                queryResult.ResultCode = QueryResultCodeEnum.QUERY_ERROR_ANALYZE_SQL;
                queryResult.QueryData  = null;

                return(queryResult);
            }
            else if (queryConditionList.Count() < 0)
            {
                queryResult.ResultCode = QueryResultCodeEnum.QUERY_ERROR_ANALYZE_SQL;
                queryResult.QueryData  = null;
                return(queryResult);
            }



            //if (dataQueryParam.isFirstQuery == true)
            //{
            RecordsetCount = GetQueryRecordsetCount();

            if (RecordsetCount < 0)
            {
                queryResult.ResultCode = QueryResultCodeEnum.QUERY_ERROR_GET_QUERY_RECORDSET_COUNT;
                queryResult.QueryData  = null;
                return(queryResult);
            }
            //           }



            if (queryExtend == false)
            {
                QueryResult queryData = new QueryResult();
                queryData.SumRecordCount = RecordsetCount;
                queryData.QueryRecordset = GetQueryRecordset();

                if (queryData.QueryRecordset == null)
                {
                    queryResult.ResultCode = QueryResultCodeEnum.QUERY_ERROR_GET_QUERY_RECORDSET_DATA;
                    queryResult.QueryData  = null;
                    return(queryResult);
                }

                queryResult.ResultCode = QueryResultCodeEnum.QUERY_SUCCESS;
                queryResult.QueryData  = queryData;
            }
            else
            {
                QueryResultExtend queryData = new QueryResultExtend();
                queryData.SumRecordCount = RecordsetCount;
                queryData.QueryRecordset = GetQueryRecordsetExtend();

                if (queryData.QueryRecordset == null)
                {
                    queryResult.ResultCode = QueryResultCodeEnum.QUERY_ERROR_GET_QUERY_RECORDSET_DATA;
                    queryResult.QueryData  = null;
                    return(queryResult);
                }

                queryResult.ResultCode = QueryResultCodeEnum.QUERY_SUCCESS;
                queryResult.QueryData  = queryData;
            }



            return(queryResult);
        }
コード例 #15
0
        public static void WriteQueryResult <TResult, TInclude>(this BlittableJsonTextWriter writer, JsonOperationContext context, QueryResultBase <TResult, TInclude> result, bool metadataOnly, out int numberOfResults, bool partial = false)
        {
            if (partial == false)
            {
                writer.WriteStartObject();
            }

            writer.WritePropertyName(nameof(result.IndexName));
            writer.WriteString(result.IndexName);
            writer.WriteComma();

            var results = (object)result.Results;

            if (results is List <Document> documents)
            {
                writer.WritePropertyName(nameof(result.Results));
                writer.WriteDocuments(context, documents, metadataOnly, out numberOfResults);
                writer.WriteComma();
            }
            else if (results is List <BlittableJsonReaderObject> objects)
            {
                writer.WritePropertyName(nameof(result.Results));
                writer.WriteObjects(context, objects, out numberOfResults);
                writer.WriteComma();
            }
            else
            {
                throw new NotSupportedException($"Cannot write query result of '{typeof(TResult)}' type in '{result.GetType()}'.");
            }

            var includes = (object)result.Includes;

            if (includes is List <Document> includeDocuments)
            {
                writer.WritePropertyName(nameof(result.Includes));
                writer.WriteIncludes(context, includeDocuments);
                writer.WriteComma();
            }
            else if (includes is List <BlittableJsonReaderObject> includeObjects)
            {
                if (includeObjects.Count != 0)
                {
                    throw new NotSupportedException("Cannot write query includes of List<BlittableJsonReaderObject>, but got non zero response");
                }

                writer.WritePropertyName(nameof(result.Includes));
                writer.WriteStartObject();
                writer.WriteEndObject();
                writer.WriteComma();
            }
            else
            {
                throw new NotSupportedException($"Cannot write query includes of '{typeof(TInclude)}' type in '{result.GetType()}'.");
            }

            writer.WritePropertyName(nameof(result.IndexTimestamp));
            writer.WriteString(result.IndexTimestamp.ToString(Default.DateTimeFormatsToWrite));
            writer.WriteComma();

            writer.WritePropertyName(nameof(result.LastQueryTime));
            writer.WriteString(result.LastQueryTime.ToString(Default.DateTimeFormatsToWrite));
            writer.WriteComma();

            writer.WritePropertyName(nameof(result.IsStale));
            writer.WriteBool(result.IsStale);
            writer.WriteComma();

            writer.WritePropertyName(nameof(result.ResultEtag));
            writer.WriteInteger(result.ResultEtag);

            if (partial == false)
            {
                writer.WriteEndObject();
            }
        }