Example #1
0
        public IHttpActionResult Put(int id, Sensor value)
        {
            IHttpActionResult ret = null;

            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                db.Configuration.LazyLoadingEnabled = false;
                var sensor = db.Sensors.Find(id);

                sensor.LowerLimit = value.LowerLimit;
                sensor.UpperLimit = value.UpperLimit;
                if (value.DeviceID != 0)
                {
                    sensor.DeviceID = value.DeviceID;
                }
                if (value.UnitID != 0)
                {
                    sensor.UnitID = value.UnitID;
                }

                sensor.UpdateDate = DateTime.Now;

                db.SaveChanges();

                ret = Ok(sensor);
            }


            return(ret);
        }
Example #2
0
        public IEnumerable <object> GetFilterSensor(string searchInput)
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                //db.Configuration.ProxyCreationEnabled = false;
                db.Configuration.LazyLoadingEnabled = false;

                List <SpGetSensors_Result> items;

                if (searchInput.Equals("*"))
                {
                    items = db.SpGetSensors().ToList();
                }
                else
                {
                    items = db.SpGetSensors()
                            .Where(x => x.Equipment.ToLower().Contains(searchInput.ToLower()) ||
                                   x.Group.ToLower().Contains(searchInput.ToLower()) ||
                                   x.Unit.ToLower().Contains(searchInput.ToLower()))
                            .ToList();
                }

                return(items);
            }
        }
Example #3
0
        private async void CheckAlarm(Record record)
        {
            using (var context = new EnergyMonitoringContext())
            {
                DateTime dt = DateTime.Now;

                if ((int)dt.DayOfWeek == Config.AuditDayOfWeek)
                {
                    if (dt.TimeOfDay >= Config.AuditTimeStart && dt.TimeOfDay <= Config.AuditTimeEnd)
                    {
                        if (record.Value < record.Sensor.LowerLimit || record.Value > record.Sensor.UpperLimit)
                        {
                            Alarm alarm = new Alarm();
                            alarm.RecordId   = record.RecordId;
                            alarm.CreateDate = DateTime.Now;

                            _logger.LogInformation($"Alarm: {record.Equipment.Name};");

                            context.Alarm.Add(alarm);

                            await context.SaveChangesAsync();
                        }
                    }
                }
            }
        }
        private List <string> GetSensorsFromDB()
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                var items = (from s in db.Sensors
                             join d in db.Devices
                             on s.DeviceID equals d.DeviceID
                             join u in db.Units
                             on s.UnitID equals u.UnitID
                             where d.Active == true
                             select new
                {
                    Sensor = s,
                    Device = d,
                }).ToList();


                List <string> result = new List <string>();
                foreach (var item in items)
                {
                    result.Add(String.Format("Sensor={0}, Device={1}", item.Sensor, item.Device.Name));
                }


                return(result);
            }
        }
Example #5
0
 public IEnumerable <object> GetAvgFlowEquipments(int year, int week, int weekday, TimeSpan startTime, TimeSpan endTime)
 {
     using (EnergyMonitoringContext db = new EnergyMonitoringContext())
     {
         var item = db.SpGetAvgFlowEquipments(year, week, weekday, startTime, endTime).ToList();
         return(item);
     }
 }
        public IEnumerable <object> GetEquipmentsCountPerWeekday(int year, int weekday)
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                var item = db.SpGetEquipmentsCount(year, weekday).ToList();

                return(item);
            }
        }
Example #7
0
        // GET: api/Records
        public IEnumerable <Record> GetRecord()
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                db.Configuration.LazyLoadingEnabled = false;

                return(db.Records.Take(1000).ToList());
            }
        }
        // GET: api/Equipments
        public IEnumerable <Equipment> GetEquipment()
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                db.Configuration.LazyLoadingEnabled = false;

                return(db.Equipments.ToList());
            }
        }
Example #9
0
        public IEnumerable <object> GetFilterRecordsAvg(DateTime startDate, DateTime endDate, int groupId, int equipmentId)
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                var item = db.SpGetFilterRecordsAvg(startDate, endDate, groupId, equipmentId).ToList();

                return(item);
            }
        }
        // GET: api/Groups
        public IEnumerable <Group> GetGroup()
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                db.Configuration.LazyLoadingEnabled = false;

                return(db.Groups.OrderBy(x => x.Name).ToList());
            }
        }
Example #11
0
        public IEnumerable <object> GetMaxValues(DateTime startDate, DateTime endDate)
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                var item = db.SpGetMaxValues(startDate, endDate).ToList();

                return(item);
            }
        }
        public IEnumerable <Activity> GetActivity()
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                db.Configuration.LazyLoadingEnabled = false;

                return(db.Activity.ToList());
            }
        }
Example #13
0
        // GET: api/Configs
        public IEnumerable <Config> Get()
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                db.Configuration.LazyLoadingEnabled = false;

                var items = db.Configs.ToList();

                return(items);
            }
        }
        public IEnumerable <object> GetFilterAlarms(DateTime startDate, DateTime endDate)
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                db.Configuration.LazyLoadingEnabled = false;

                var items = db.SpGetFilterAlarms(startDate, endDate).ToList();

                return(items);
            }
        }
Example #15
0
        // GET: api/Configs/5
        public Config Get(int id)
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                db.Configuration.LazyLoadingEnabled = false;

                var item = db.Configs.Find(id);


                return(item);
            }
        }
Example #16
0
        public int GetRecordsCount()
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                int count = db.Records.Count();

                var sql  = "SELECT COUNT(*) FROM Record";
                var item = db.Database.SqlQuery <int>(sql).Single();

                return(item);
            }
        }
        //[Route("api/activities/{id}")]
        public Activity Get(int id)
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                db.Configuration.LazyLoadingEnabled = false;

                Activity activity = db.Activity.Find(id);


                return(activity);
            }
        }
Example #18
0
        public IEnumerable <Sensor> GetSensorsFromDevice(int DeviceId)
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                db.Configuration.LazyLoadingEnabled = false;

                var items = db.Sensors.Where(x => x.DeviceID == DeviceId)
                            .Include(x => x.Unit)
                            .ToList();
                return(items);
            }
        }
Example #19
0
        public IEnumerable <Sensor> GetSensor()
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                //db.Configuration.ProxyCreationEnabled = false;
                db.Configuration.LazyLoadingEnabled = false;

                var items = db.Sensors.ToList();

                return(items);
            }
        }
Example #20
0
        // GET: api/Sensors/5
        public Sensor Get(int id)
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                //db.Configuration.ProxyCreationEnabled = false;
                db.Configuration.LazyLoadingEnabled = false;

                var item = db.Sensors.Find(id);


                return(item);
            }
        }
        public IEnumerable <Activity> GetActivitiesByEquipment(int equipmentId)
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                db.Configuration.LazyLoadingEnabled = false;

                var items = db.Activity
                            .Where(x => x.EquipmentID == equipmentId)
                            .OrderByDescending(x => x.CreateDate).ToList();

                return(items);
            }
        }
        // GET: api/Devices
        public IEnumerable <Device> GetDevice()
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                db.Configuration.LazyLoadingEnabled = false;

                var items = db.Devices
                            //.Include(x => x.Sensors.Select(y => y.Unit))
                            .Include(x => x.Equipment)
                            .ToList();

                return(items);
            }
        }
        public IEnumerable <Equipment> GetEquipmentsByGroup(int GroupId)
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                db.Configuration.LazyLoadingEnabled = false;

                var items = db.Equipments.Where(x => x.GroupID == GroupId)
                            .Include(x => x.Group)
                            .Include(x => x.Devices.Select(d => d.Sensors))
                            .ToList();

                return(items);
            }
        }
        public IEnumerable <object> GetFilterActivities(DateTime startDate, DateTime endDate)
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                db.Configuration.LazyLoadingEnabled = false;

                var items = db.Activity.Include(x => x.Equipment)
                            .Where(x => DbFunctions.TruncateTime(x.CreateDate) >= DbFunctions.TruncateTime(startDate) &&
                                   DbFunctions.TruncateTime(x.CreateDate) <= DbFunctions.TruncateTime(endDate))
                            .OrderByDescending(x => x.Date).ToList();

                return(items);
            }
        }
        public int GetEquipmentsCount()
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                db.Configuration.LazyLoadingEnabled = false;

                //int count = db.Equipments.Count();

                var sql  = "SELECT COUNT(*) FROM Equipment";
                var item = db.Database.SqlQuery <int>(sql).Single();

                return(item);
            }
        }
        // GET: api/Alarms
        public IEnumerable <Alarm> Get()
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                db.Configuration.LazyLoadingEnabled = false;

                var items = db.Alarms
                            .Include(x => x.Record.Sensor.Unit)
                            .Include(x => x.Record.Equipment.Group)
                            .ToList().Take(10);

                return(items);
            }
        }
Example #27
0
        // POST: api/Sensors
        public async Task <IHttpActionResult> PostSensor(Sensor sensor)
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                sensor.CreateDate = DateTime.Now;
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                db.Sensors.Add(sensor);
                await db.SaveChangesAsync();
            }
            return(CreatedAtRoute("DefaultApi", new { id = sensor.SensorID }, sensor));
        }
Example #28
0
        public IEnumerable <Record> GetRecordsByDevice(int deviceId, DateTime startDate, DateTime endDate)
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                db.Configuration.LazyLoadingEnabled = false;

                var items = db.Records
                            .Where(x => x.Sensor.DeviceID == deviceId)
                            .Where(x => DbFunctions.TruncateTime(x.CreateDate) >= DbFunctions.TruncateTime(startDate) &&
                                   DbFunctions.TruncateTime(x.CreateDate) <= DbFunctions.TruncateTime(endDate)).OrderBy(x => x.CreateDate)
                            .ToList();

                return(items);
            }
        }
        public async Task <IHttpActionResult> GetEquipment(int id)
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                db.Configuration.LazyLoadingEnabled = false;

                Equipment equipment = await db.Equipments.FindAsync(id);

                if (equipment == null)
                {
                    return(NotFound());
                }

                return(Ok(equipment));
            }
        }
        public async Task <IHttpActionResult> GetGroup(int id)
        {
            using (EnergyMonitoringContext db = new EnergyMonitoringContext())
            {
                db.Configuration.LazyLoadingEnabled = false;

                Group group = await db.Groups.FindAsync(id);

                if (group == null)
                {
                    return(NotFound());
                }

                return(Ok(group));
            }
        }