public IEnumerable <Schedule> GetAll()
 {
     using (var context = new HomeAutomationContext())
     {
         return(context.Schedules.ToList());
     }
 }
        public Schedule Add(bool mon, bool tue, bool wed, bool thu, bool fri, bool sat, bool sun, int deviceID, DateTime time, short temperture, short fan, Mode mode)
        {
            int id = 0;

            using (var context = new HomeAutomationContext())
            {
                if (context.Schedules.Count() > 0)

                {
                    id = context.Schedules.Max(o => o.ID) + 1;
                }

                var schedule = new Schedule()
                {
                    ID          = id,
                    Mon         = mon,
                    Tue         = tue,
                    Wed         = wed,
                    Thu         = thu,
                    Fri         = fri,
                    Sun         = sun,
                    Sat         = sat,
                    DeviceID    = deviceID,
                    Time        = time,
                    Mode        = mode,
                    Fan         = fan,
                    Temperature = temperture
                };

                context.Schedules.Add(schedule);
                context.SaveChanges();
                return(schedule);
            }
        }
 public IEnumerable <Device> GetAll()
 {
     using (var context = new HomeAutomationContext())
     {
         return(context.Devices.ToList());
     }
 }
 public IEnumerable <User> GetAll()
 {
     using (var context = new HomeAutomationContext())
     {
         return(context.Users.ToList());
     }
 }
 public Device Get(int ID)
 {
     using (var context = new HomeAutomationContext())
     {
         return(context.Devices.Where(o => o.ID == ID).FirstOrDefault());
     }
 }
 public ChartData GetDailyTemperatures(DateTime fromDate, DateTime toDate)
 {
     using (var ctx = new HomeAutomationContext())
     {
         var temperatures = ctx.GetDailyTemperatures(fromDate, toDate);
         return(GetData(temperatures, "MM-dd"));
     }
 }
 public void Delete(int ID)
 {
     using (var context = new HomeAutomationContext())
     {
         context.Remove(context.Devices.Where(o => o.ID == ID).FirstOrDefault());
         context.SaveChanges();
     }
 }
 public void Delete(int iD)
 {
     using (var context = new HomeAutomationContext())
     {
         var r = context.Schedules.Where(o => o.ID == iD).FirstOrDefault();
         context.Schedules.Remove(r);
         context.SaveChanges();
     }
 }
        public void UpdateTemperature(int ID, float?temperature)
        {
            using (var context = new HomeAutomationContext())
            {
                var item = context.Devices.Where(o => o.ID == ID).FirstOrDefault();

                item.Temperature = temperature;
                context.SaveChanges();
            }
        }
 public IEnumerable <ViewSchedule> GetAllFormated()
 {
     using (var context = new HomeAutomationContext())
     {
         List <ViewSchedule> result = new List <ViewSchedule>();
         foreach (var schedule in context.Schedules)
         {
             result.Add(this.scheduleFactory.Create(schedule));
         }
         return(result);
     }
 }
        public void Update(Device device)
        {
            using (var context = new HomeAutomationContext())
            {
                var item = context.Devices.Where(o => o.ID == device.ID).FirstOrDefault();

                item.Appliance   = device.Appliance;
                item.Name        = device.Name;
                item.NodeAddress = device.NodeAddress;
                context.SaveChanges();
            }
        }
 public Device Add(string nodeAddress, string name, Appliance appliance)
 {
     using (var context = new HomeAutomationContext())
     {
         int id     = context.Devices.Max(o => o.ID) + 1;
         var device = new Device()
         {
             ID = id, NodeAddress = nodeAddress, Name = name, Appliance = appliance
         };
         context.Devices.Add(device);
         context.SaveChanges();
         return(device);
     }
 }
 private ChartData GetData(List <Temperature> temperatures, string format)
 {
     using (var ctx = new HomeAutomationContext())
     {
         var q = from r in ctx.Devices
                 select new Dataset()
         {
             Label = r.Name,
             Data  = (from t in temperatures where t.DeviceID == r.ID orderby t.Date select t.Value).ToList()
         };
         var result = new ChartData()
         {
             Labels   = temperatures.OrderBy(d => d.Date).Select(d => d.Date.ToString(format)).Distinct().ToList(),
             Datasets = q.ToList()
         };
         return(result);
     }
 }