Esempio n. 1
0
        public static Metrics GetMetricsFromEntity(MetricsEntity metricsEntity)
        {
            Metrics metrics;

            if (metricsEntity != null)
            {
                metrics = new Metrics
                {
                    MetricsID   = metricsEntity.MetricsID,
                    ProductID   = metricsEntity.ProductID,
                    Humidity    = metricsEntity.Humidity,
                    Temperature = metricsEntity.Temperature,
                    Noise       = metricsEntity.Noise,
                    CO2         = metricsEntity.CO2
                };

                if (metricsEntity.LastUpdated.HasValue)
                {
                    metrics.LastUpdated = (DateTime)metricsEntity.LastUpdated;
                }
                return(metrics);
            }

            return(null);
        }
Esempio n. 2
0
 public void EnsureRelation(IClassifiable entity, MetricsEntity metrics)
 {
     if (!relationService.IsRelated(entity, metrics, relationNode))
     {
         relationService.RemoveRelations(metrics, relationNode);
         relationService.AddRelation(entity, metrics, RelationDirection.Forward, relationNode);
     }
 }
Esempio n. 3
0
        public MetricsEntity CreateMetrics(string name, IClassifiable entity, string descr)
        {
            MetricsEntity metrics;

            metrics = new MetricsEntity(name, descr ?? String.Format("for {0}({1})", entity.ObjectName, entity.Id));
            metricsRepo.Save(metrics);
            relationService.AddRelation(entity, metrics, RelationDirection.Forward, relationNode);
            return(metrics);
        }
Esempio n. 4
0
        private static string MetricsString(MetricsEntity entity, OperationContext opContext)
        {
            var entityProperties = entity.WriteEntity(opContext);
            var entityString     =
                string.Format("Time: {0}, ", entity.Time) +
                string.Format("AccessType: {0}, ", entity.AccessType) +
                string.Format("TransactionType: {0}, ", entity.TransactionType) +
                string.Join(",", entityProperties.Select(e => new KeyValuePair <string, string>(e.Key.ToString(), e.Value.PropertyAsObject.ToString())));

            return(entityString);
        }
Esempio n. 5
0
 public void UpdateMetrics(MetricsEntity metrics)
 {
     lock (locker)
     {
         if (metrics == null || metrics.IsTransient())
         {
             throw new Exception(metrics + " is transient or null. Use service to get metrics");
         }
         foreach (var e in metrics.Entries)
         {
             e.Metrics = metrics;
         }
         metricsRepo.Update(metrics);
     }
 }
Esempio n. 6
0
        public void TestMetricsCRUD()
        {
            var repo = Container.Resolve <MetricsRepository>();
            var m    = new MetricsEntity()
            {
                Name = "Test"
            };

            repo.Save(m);
            Assert.IsTrue(m.Id > 0);

            m.AddEntry(1);
            m.AddEntry(2);
            m.AddEntry(3);
            repo.SaveOrUpdate(m);

            var mm = repo.Load(m.Id);

            Assert.AreEqual(mm.Id, m.Id);
            Assert.AreEqual(3, mm.Entries.Count);
        }
 private decimal[] SparkleValues(MetricsEntity d)
 {
     return(d.Entries.Skip(Math.Max(0, d.Entries.Count - 20))
            .Select(e => e.Value).ToArray());
 }