public IHttpActionResult GetLocation(int id) { var userId = this.User.Identity.GetUserId(); var location = this.data.Locations.All() .Where(l => l.UserID == userId) .FirstOrDefault(l => l.ID == id); if (location == null) { return(BadRequest("No location entry with this ID")); } var locationModel = LocationDataModel.FromGeolocation(location); return(Ok(locationModel)); }
public IHttpActionResult GetLocation() { var userId = this.User.Identity.GetUserId(); var lastLocation = this.data.Locations.All() .Where(l => l.UserID == userId) .OrderByDescending(l => l.CreatedOn) .FirstOrDefault(); if (lastLocation == null) { return(BadRequest("No locations in database!")); } var locationModel = LocationDataModel.FromGeolocation(lastLocation); return(Ok(locationModel)); }
public IHttpActionResult AddLocation(LocationDataModel locationModel) { if (!ModelState.IsValid) { return(BadRequest("Incorrect data passed for location!")); } var userId = this.User.Identity.GetUserId(); var newLocation = new Geolocation { Latitude = locationModel.Latitude, Longitude = locationModel.Longitude, UserID = userId, CreatedOn = DateTime.Now }; this.data.Locations.Add(newLocation); this.data.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = newLocation.ID }, newLocation)); }