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(); } }
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)); }