Esempio n. 1
0
        public IActionResult Create([FromBody] SensorItem item)
        {
            if (item == null)
            {
                return(BadRequest());
            }

            //item.Timestamp.ToString("HH:mm:ss");
            TimeSpan TS = item.Timestamp.TimeOfDay;
            //check of er een status van agendaitem moet worden ge-update
            //verander timestamp, starttime en endtime naar Time value!
            var agendaitem = _context.Agendadata.FirstOrDefault(t => t.StartTime <TS && t.EndTime> TS && t.StartDate.Date <= item.Timestamp.Date && t.EndDate.Date >= item.Timestamp.Date && t.CostumerId == item.CostumerId);

            if (agendaitem != null)
            {
                agendaitem.State = "completed";
                _context.Agendadata.Update(agendaitem);
            }
            //Geef sensoritem een id
            var sensoritemhighid = _context.SensorItems.LastOrDefault();

            item.Id = sensoritemhighid.Id + 1;


            _context.SensorItems.Add(item);
            _context.SaveChanges();

            return(CreatedAtRoute("GetSensordata", new { id = item.Id }, item));
        }
        public IActionResult Create([FromBody] Agendadata item)
        {
            if (item == null)
            {
                return(BadRequest());
            }

            var agendaitemhighid = _context.Agendadata.LastOrDefault();

            item.MessageId = agendaitemhighid.MessageId + 1;
            item.State     = "pending";

            _context.Agendadata.Add(item);
            _context.SaveChanges();

            return(CreatedAtRoute("GetAgendadata", new { id = item.MessageId }, item));
        }
        public ProfileController(SensordataContext context)
        {
            _context = context;

            if (_context.Profile.Count() == 0)
            {
                _context.Profile.Add(new Profile {
                    CustomerId = 1
                });
                _context.SaveChanges();
            }
        }
Esempio n. 4
0
        public SensordataController(SensordataContext context)
        {
            _context = context;

            if (_context.SensorItems.Count() == 0)
            {
                _context.SensorItems.Add(new SensorItem {
                    SensorId = "testsensor"
                });
                _context.SaveChanges();
            }
        }
        public AgendadataController(SensordataContext context)
        {
            _context = context;

            if (_context.Agendadata.Count() == 0)
            {
                _context.Agendadata.Add(new Agendadata {
                    Description = "test"
                });
                _context.SaveChanges();
            }
        }
        public IActionResult GetAll()
        {
            //GET all profiles and their agenda items
            var      profile     = _context.Profile.FirstOrDefault();
            var      agendaitem  = _context.Agendadata.FirstOrDefault(t => t.CostumerId == profile.CustomerId);
            var      allprofiles = _context.Profile.ToList();
            var      items       = _context.Agendadata.ToList();
            var      Time        = DateTime.Now.TimeOfDay;
            DateTime thisDay     = DateTime.Today;

            //Check if agenda item failed
            foreach (Agendadata a in items)
            {
                if (a.State != "completed")
                {
                    if ((a.EndDate < thisDay) ||
                        (a.EndDate == thisDay && a.EndTime < Time))
                    {
                        a.State = "failed";
                        _context.Agendadata.Update(a);
                        _context.SaveChanges();
                    }
                }
                else
                {
                    //already completed
                }
            }

            //create the body with all profiles
            Object Profiles =
                new JObject(
                    new JProperty("profile",
                                  new JArray(
                                      from p in allprofiles
                                      orderby p.CustomerId
                                      select new JObject(
                                          new JProperty("customerId", p.CustomerId),
                                          new JProperty("firstName", p.Voornaam),
                                          new JProperty("lastName", p.Achternaam),
                                          new JProperty("gender", p.Geslacht),
                                          new JProperty("agenda",
                                                        new JArray(
                                                            from a in items
                                                            where a.CostumerId == p.CustomerId
                                                            group a by a.StartDate
                                                            into g
                                                            orderby g.Count() descending
                                                            select new JObject(
                                                                new JProperty("date", g.FirstOrDefault().StartDate.ToString("MM-dd-yyyy").Replace('-', '/')),
                                                                new JProperty("items",
                                                                              new JArray(
                                                                                  from i in g
                                                                                  where i.CostumerId == p.CustomerId
                                                                                  orderby i.StartTime
                                                                                  select new JObject(
                                                                                      new JProperty("messageId", i.MessageId),
                                                                                      new JProperty("title", i.Title),
                                                                                      new JProperty("customerId", i.CostumerId),
                                                                                      new JProperty("description", i.Description),
                                                                                      new JProperty("startDate", i.StartDate),
                                                                                      new JProperty("endDate", i.EndDate),
                                                                                      new JProperty("startTime", i.StartTime),
                                                                                      new JProperty("endTime", i.EndTime),
                                                                                      new JProperty("priority", i.Priority),
                                                                                      new JProperty("state", i.State)
                                                                                      )
                                                                                  )
                                                                              )
                                                                )
                                                            )
                                                        )
                                          )
                                      )
                                  )
                    );



            return(new JsonResult(Profiles));
        }