Example #1
0
        public DateTime GetCurrentDateByidBytable(string sensorId)
        {
            CurrentDataModel SensorsDataList = GetSensorIDCurrent(sensorId);

            if (SensorsDataList == null)
            {
                return(default);
 /// <summary>
 /// 释放资源
 /// </summary>
 protected override void Disposing()
 {
     //释放相关的资源
     CurrentDataModel.PropertyChanged += CurrentDataModel_PropertyChanged;
     CurrentDataModel?.Dispose();
     dbContext.Db.Close();
     dbContext.Db.Dispose();
     dbContext = null;
     LogHelper.Logger.Debug($"释放资源:{this.ToString()}");
 }
Example #3
0
        public CurrentDataModel GetSensorIDCurrent(string sensorId)
        {
            string tableName              = "";
            List <CurrentDataModel> List  = new List <CurrentDataModel>();
            CurrentDataModel        query = new CurrentDataModel();

            switch (sensorId.Substring(0, 2))
            {
            case "TS":
                tableName = "TMP_SENSOR";
                break;

            case "LS":
                tableName = "LIGHT_SENSOR";
                break;

            case "HS":
                tableName = "HUM_SENSOR";
                break;

            case "AS":
                tableName = "";
                var filter = Builders <MongoASModel> .Filter.Eq(x => x.sensorId, sensorId);

                MongoASModel asquery = new MongoASModel();

                asquery = new DBManger().DataBase.GetCollection <MongoASModel>("AS_SENSOR").Find(filter).Limit(1).Sort(Builders <MongoASModel> .Sort.Descending("latest_checking_time")).FirstOrDefault();
                query   = new CurrentDataModel {
                    sensorId             = asquery.sensorId,
                    current              = asquery.C_AVG_PM25,
                    latest_checking_time = asquery.latest_checking_time
                };
                break;

            default:
                tableName = "";
                break;
            }
            Debug.WriteLine("^^^^^" + tableName);
            //db collection
            if (!string.IsNullOrEmpty(tableName) && tableName != "AS")
            {
                var filter = Builders <CurrentDataModel> .Filter.Eq(x => x.sensorId, sensorId);

                query = database.GetCollection <CurrentDataModel>(tableName).Find(filter).Limit(1).Sort(Builders <CurrentDataModel> .Sort.Descending("latest_checking_time")).FirstOrDefault();
            }
            //IQ ueryable<CurrentDataModel> query;
            //query = from c in collection.AsQueryable<CurrentDataModel>() orderby c.latest_checking_time descending where c.sensorId.Contains(sensorId) select c;
            return(query);
        }