예제 #1
0
        public string MergePoints(string dbName, string meas, [FromBody] DataRows data, string type = "float", string minInterval = null, bool onlyChangedValues = false)
        {
            using (
                MeLog.LogDebug(
                    $"db: {dbName}, meas: {meas}, point#: {data.Rows.Count}, minInterval: {minInterval}, onlyChangedValues: {onlyChangedValues}"))
            {
                IMeasurement measurement = null;
                Locker.WriterLock(() =>
                {
                    var myDb    = DbService.DbManagement.GetDb(dbName);
                    measurement = myDb.GetOrCreateMeasurement(meas, type);
                });

                measurement.MergeDataPoints(data.AsIDataRows(), i => onlyChangedValues ? i.ValueChanges() : i.MinimalTimeSpan(minInterval));
                return("ok");
            }
        }