コード例 #1
0
        public void SaveMeasurements(IEnumerable <Measurement> measurements)
        {
            DB.BeginTransaction();
            Console.WriteLine("-----SAVING MEASUREMENT DATA-----");
            try
            {
                DB.DeleteAll <MeasurementItemEntity>();
                DB.DeleteAll <MeasurementsEntity>();
                DB.DeleteAll <MeasurementValue>();
                DB.DeleteAll <AirQualityIndex>();
                DB.DeleteAll <AirQualityStandard>();

                foreach (var e in measurements)
                {
                    DB.InsertAll(e.Current.Indexes, false);
                    DB.InsertAll(e.Current.Values, false);
                    DB.InsertAll(e.Current.Standards, false);
                    var a = new MeasurementItemEntity(e.Current);
                    DB.Insert(a);
                    DB.Insert(new MeasurementsEntity(a.Id, int.Parse(e.Installation.Id)));
                }
            }
            catch (SQLiteException e)
            {
                Trace.WriteLine(e);
                DB.Rollback();
            }
            catch (InvalidCastException e)
            {
                Trace.WriteLine(e);
                DB.Rollback();
            }
            DB.Commit();
            Console.WriteLine("-----SAVED MEASUREMENT DATA-----");
        }
コード例 #2
0
        public void InsertMeasurements(IEnumerable <Measurement> measurements)
        {
            if (measurements == null)
            {
                return;
            }
            DatabaseConnection.RunInTransaction(() =>
            {
                DatabaseConnection.DeleteAll <MeasurementEntity>();
                DatabaseConnection.DeleteAll <MeasurementItemEntity>();
                DatabaseConnection.DeleteAll <ParameterValue>();
                DatabaseConnection.DeleteAll <Index>();
                DatabaseConnection.DeleteAll <Standard>();
                foreach (Measurement measurement in measurements)
                {
                    DatabaseConnection.InsertAll(measurement.Current.Values, false);
                    DatabaseConnection.InsertAll(measurement.Current.Indexes, false);
                    DatabaseConnection.InsertAll(measurement.Current.Standards, false);

                    MeasurementItemEntity measurementItemEntity = new MeasurementItemEntity(measurement);
                    DatabaseConnection.Insert(measurementItemEntity);
                    MeasurementEntity measurementEntity = new MeasurementEntity(measurement, measurementItemEntity);
                    DatabaseConnection.Insert(measurementEntity);
                }
            });
        }
コード例 #3
0
        public List <Measurement> SelectMeasurements()
        {
            List <MeasurementEntity> measurementEntities = DatabaseConnection.Table <MeasurementEntity>().ToList();
            List <Measurement>       measurements        = new List <Measurement>();

            foreach (MeasurementEntity measurementEntity in measurementEntities)
            {
                InstallationEntity    installationEntity    = DatabaseConnection.Get <InstallationEntity>(measurementEntity.InstallationID);
                Installation          installation          = new Installation(installationEntity);
                MeasurementItemEntity measurementItemEntity = DatabaseConnection.Get <MeasurementItemEntity>(measurementEntity.CurrentID);

                var valuesArray    = JArray.Parse(measurementItemEntity.Values);
                var indexesArray   = JArray.Parse(measurementItemEntity.Indexes);
                var standardsArray = JArray.Parse(measurementItemEntity.Standards);

                var valueIDs    = ParseJSONToIntArray(valuesArray, "Id");
                var indexIDs    = ParseJSONToIntArray(indexesArray, "Id");
                var standardIDs = ParseJSONToIntArray(standardsArray, "Id");

                var measurementValues    = DatabaseConnection.Table <ParameterValue>().Where(x => valueIDs.Contains(x.Id)).ToList();
                var measurementIndexes   = DatabaseConnection.Table <Index>().Where(x => indexIDs.Contains(x.Id)).ToList();
                var measurementStandards = DatabaseConnection.Table <Standard>().Where(x => standardIDs.Contains(x.Id)).ToList();

                MeasurementItem measurementItem = new MeasurementItem(measurementItemEntity, measurementValues, measurementIndexes, measurementStandards);
                Measurement     measurement     = new Measurement(measurementEntity, installation, measurementItem);
                measurements.Add(measurement);
            }
            return(measurements);
        }
コード例 #4
0
        public async Task SaveMeasurements(List <Measurement> measurements)
        {
            await _db.RunInTransactionAsync(t =>
            {
                t.DeleteAll <MeasurementEntity>();
                t.DeleteAll <MeasurementItemEntity>();
                t.DeleteAll <MeasurementValue>();
                t.DeleteAll <AirQualityIndex>();
                t.DeleteAll <AirQualityStandard>();

                foreach (var item in measurements)
                {
                    t.InsertAll(item.Current.Values, false);
                    t.InsertAll(item.Current.Indexes, false);
                    t.InsertAll(item.Current.Standards, false);
                    var obj = new MeasurementItemEntity
                    {
                        FromDateTime = item.Current.FromDateTime,
                        TillDateTime = item.Current.TillDateTime,
                        Indexes      = JsonConvert.SerializeObject(item.Current.Indexes),
                        Standards    = JsonConvert.SerializeObject(item.Current.Standards),
                        Values       = JsonConvert.SerializeObject(item.Current.Values)
                    };
                    t.Insert(obj);
                    var measurementEntity = new MeasurementEntity {
                        CurrentId = obj.Id
                    };
                    t.Insert(measurementEntity);
                }
            });
        }
コード例 #5
0
 public void AddMeasurementsToDatabase(IEnumerable <Measurement> measurements)
 {
     try
     {
         foreach (var measurement in measurements)
         {
             var tempCurrent = new MeasurementItemEntity(measurement.Current);
             CurrentDbConnection.Insert(tempCurrent);
             var tempMeasurement = new MeasurementEntity(measurement);
             tempMeasurement.CurrentId = tempCurrent.Id;
             CurrentDbConnection.Insert(tempMeasurement);
         }
     }
     catch (Exception ex)
     {
         System.Diagnostics.Debug.WriteLine(ex.Message);
     }
 }
コード例 #6
0
        public void SaveMeasurements(IEnumerable <Measurement> measurements)
        {
            db.DeleteAll <MeasurementValue>();
            db.DeleteAll <AirQualityIndex>();
            db.DeleteAll <AirQualityStandard>();
            db.DeleteAll <MeasurementItemEntity>();
            db.DeleteAll <MeasurementEntity>();

            foreach (var measurement in measurements)
            {
                db.InsertAll(measurement.Current.Values);
                db.InsertAll(measurement.Current.Indexes);
                db.InsertAll(measurement.Current.Standards);

                var measurementItemEntity = new MeasurementItemEntity(measurement.Current);
                db.Insert(measurementItemEntity);

                var measurementEntity = new MeasurementEntity(measurementItemEntity.Id, measurement.Installation.Id);
                db.Insert(measurementEntity);
            }
        }
コード例 #7
0
ファイル: DatabaseHelper.cs プロジェクト: Raegan03/AirMonitor
        public async Task SaveMeasurements(List <Measurement> measurements)
        {
            await dbAsyncConnection.RunInTransactionAsync((db) =>
            {
                db.DeleteAll <MeasurementEntity>();
                db.DeleteAll <MeasurementItemEntity>();
                db.DeleteAll <MeasurementValue>();
                db.DeleteAll <AirQualityIndex>();
                db.DeleteAll <AirQualityStandard>();

                foreach (var measurement in measurements)
                {
                    db.InsertAll(measurement.Current.Values, false);
                    db.InsertAll(measurement.Current.Indexes, false);
                    db.InsertAll(measurement.Current.Standards, false);

                    var measurementItemEntity = new MeasurementItemEntity(measurement.Current);

                    db.Insert(measurementItemEntity);
                    db.Insert(new MeasurementEntity(measurement.Installation.Id, measurementItemEntity.Id));
                }
            });
        }
コード例 #8
-1
        public void SaveMeasurements(IEnumerable <Measurement> measurements)
        {
            _connection?.RunInTransaction(() =>
            {
                _connection?.DeleteAll <MeasurementValue>();
                _connection?.DeleteAll <AirQualityIndex>();
                _connection?.DeleteAll <AirQualityStandard>();
                _connection?.DeleteAll <MeasurementItemEntity>();
                _connection?.DeleteAll <MeasurementEntity>();


                foreach (var measurement in measurements)
                {
                    _connection?.InsertAll(measurement.Current.Values, false);
                    _connection?.InsertAll(measurement.Current.Indexes, false);
                    _connection?.InsertAll(measurement.Current.Standards, false);

                    var measurementItemEntity = new MeasurementItemEntity(measurement.Current);
                    _connection?.Insert(measurementItemEntity);

                    var measurementEntity =
                        new MeasurementEntity(measurementItemEntity.Id, measurement.Installation.Id);
                    _connection?.Insert(measurementEntity);
                }
            });
        }