public async Task <IHttpActionResult> GetOrientation(int ID) { TrackerOrientationsHandler TOH = new TrackerOrientationsHandler(db); TrackerOrientation TO = TOH.GetTrackerOrientation(ID); KeyValuePair <DateTime, int> result = new KeyValuePair <DateTime, int>(TO.TimeStamp, TO.Orientation); return(Ok(result)); }
public TrackerOrientation GetTrackerOrientation(int id) { var trackerLoc = from b in db.TrackerOrientations where b.Tracker.ID == id select b; var trackerOrientation = trackerLoc.OrderByDescending(x => x.TimeStamp).First(); TrackerOrientation result = new TrackerOrientation(trackerOrientation.ID, trackerOrientation.TimeStamp, trackerOrientation.Tracker, trackerOrientation.Orientation); return(result); }
public async Task <IHttpActionResult> PutOrientation() { Heading newHeading = JsonConvert.DeserializeObject <Heading>(Request.Content.ReadAsStringAsync().Result); TrackerOrientationsHandler TOH = new TrackerOrientationsHandler(db); TrackersHandler TH = new TrackersHandler(db); Tracker tracker = TH.GetTracker(newHeading.ID); TrackerOrientation trackerOrientation = new TrackerOrientation(DateTime.Now, tracker, newHeading.Orientation); TOH.PutOrientation(trackerOrientation); return(Ok()); }
public void PutOrientation(TrackerOrientation tO) { var trackerOrientations = db.TrackerOrientations.Where(x => x.Tracker.ID == tO.Tracker.ID); if (trackerOrientations.Count() == 0) { db.TrackerOrientations.Add(tO); } else { var trackerOrientation = trackerOrientations.First(); trackerOrientation.Orientation = tO.Orientation; trackerOrientation.TimeStamp = tO.TimeStamp; db.Entry(trackerOrientation).State = EntityState.Modified; } try { db.SaveChanges(); } catch (System.Data.Entity.Infrastructure.DbUpdateConcurrencyException) { throw; } }