private IEnumerable <Coordinates> getUserCoordinates(string accessToken, int id) { var user = context.GetUserById(id); if (user == null || user.StartCoordinates == null || user.StartCoordinates.Count == 0) { IEnumerable <Coordinates> coordinates = stravaClient.getAllUserCoordinatesById(accessToken, id); //Activities without a valid location cannot be mapped coordinates = from c in coordinates where !(c.Longitude == null || c.Longitude == null) select c; if (user == null) { user = new User() { StartCoordinates = coordinates.ToList(), UserId = id, LastDownload = DateTime.Now.Date }; context.Add(user); context.SaveChanges(); } else { //Update UserId if it is not valid if (user.UserId <= 0 && user.UserId != id) { user.UserId = id; } addCoordinates(user, coordinates); } } else { var latestCoordinates = stravaClient.getUserCoordinatesByIdAfter(accessToken, user.LastDownload); addCoordinates(user, latestCoordinates); } return(user.StartCoordinates); }
public ActionResult Add(double?xCoord, double?yCoord) { Point newPoint = new Point { X = xCoord ?? 0, Y = yCoord ?? 0 }; bool pointAdded = _repo.Add(newPoint); if (pointAdded) { _logger.Info("new point added"); } return(RedirectToAction("Index", "Home", _repo.GetAll())); }