/// <summary> /// Получить количество записей в блоке данных /// </summary> /// <param name="dataBlockId">ID блока данных</param> /// <returns>количество записей в блоке данных</returns> public int GetDataBlock_RecorsCount(int dataBlockId) { SQLDB_Records sqldbRecords = new SQLDB_Records(connectionString, sqlDb.GETMYSQLCONNECTION()); int recordsCount; try { recordsCount = sqldbRecords.Get_DataBlock_RecordsCount(dataBlockId); } catch { return 0; } return recordsCount; }
public List<PLFRecord> Get_Records(List<int> dataBlockIDS, DateTime startPeriod, DateTime endPeriod, int driversCardId) { List<PLFRecord> records = new List<PLFRecord>(); List<int> dataBlockIdsToGet = new List<int>(); DateTime fromTemp = new DateTime(); DateTime toTemp = new DateTime(); SQLDB_Records sqldbRecords = new SQLDB_Records(connectionString, sqlDB.GETMYSQLCONNECTION()); maxPlfRecords = 0; GetedPlfRecords = 0; foreach (int dataBlock in dataBlockIDS) { fromTemp = Get_START_PERIOD(dataBlock); toTemp = Get_END_PERIOD(dataBlock); if (fromTemp.Date >= startPeriod && fromTemp.Date <= endPeriod) { dataBlockIdsToGet.Add(dataBlock); maxPlfRecords += sqldbRecords.Get_DataBlock_RecordsCount(dataBlock); continue; } if (toTemp.Date >= startPeriod && toTemp.Date <= endPeriod) { dataBlockIdsToGet.Add(dataBlock); maxPlfRecords += sqldbRecords.Get_DataBlock_RecordsCount(dataBlock); continue; } if(startPeriod >= fromTemp.Date && endPeriod <= toTemp.Date) { dataBlockIdsToGet.Add(dataBlock); maxPlfRecords += sqldbRecords.Get_DataBlock_RecordsCount(dataBlock); continue; } } List<PLFRecord> plfUnit = new List<PLFRecord>(); PLFUnitClass plfUnitClassTemp = new PLFUnitClass(); PLFRecord sensorsInstalled = new PLFRecord(); Hashtable allSensorsParamIds = new Hashtable(); /*if (dataBlockIdsToGet.Count > 0) { sensorsInstalled = Get_InstalledSensors(dataBlockIdsToGet[0]); allSensorsParamIds = Get_AllParamsSensorsId(sensorsInstalled); }*/ foreach (int id in dataBlockIdsToGet) { sensorsInstalled = Get_InstalledSensors(id); allSensorsParamIds = Get_AllParamsSensorsId(sensorsInstalled); plfUnit.AddRange(Get_Records(id, startPeriod, endPeriod, sensorsInstalled, allSensorsParamIds, sqldbRecords)); } plfUnit.Sort(PlfRecordsByTimeComparison); return plfUnit; }