public IHttpActionResult AddActivity([FromBody] PPTExercise model) { var userName = User.Identity.Name; try { var db = new PetaPoco.Database("AuthContext"); var id = db.SingleOrDefault <string>("SELECT Id from AspNetUsers where Username=@0", userName); var key = db.SingleOrDefault <string>("SELECT ProviderKey from AspNetUserLogins where UserId=@0", id); var result = HealthGraphInteractions.AddActivity(model, key); if (result) { var user = _repo.FindByUsername(userName); user.CompletedExercises.Add(new PPTExerciseViewModel(model)); _repo.SaveChanges(); return(Ok()); } return(InternalServerError()); } catch (Exception e) { Elmah.ErrorLog.GetDefault(HttpContext.Current).Log(new Elmah.Error(e)); return(null); } }
public static bool AddActivity(PPTExercise exercise, string authorization) { try { var collection = new NameValueCollection { { "type", exercise.sport }, { "start_time", exercise.time.ToString("R") }, { "total_distance", exercise.distance.ToString() }, { "duration", Convert.ToInt32(exercise.duration.TotalSeconds).ToString() }, { "average_heart_rate", exercise.heartRate.average.ToString() }, { "total_calories", exercise.calories.ToString() }, { "notes", "" } }; var dictionary = APIHelper.NvcToDictionary(collection, false); var json = new JavaScriptSerializer().Serialize(dictionary); var request = (HttpWebRequest)WebRequest.Create("https://api.runkeeper.com/fitnessActivities"); request.Method = "POST"; request.ContentType = "application/vnd.com.runkeeper.NewFitnessActivity+json"; request.Headers["Authorization"] = "Bearer " + authorization; using (var streamWriter = new StreamWriter(request.GetRequestStream())) { streamWriter.Write(json); streamWriter.Flush(); streamWriter.Close(); } var response = (HttpWebResponse)request.GetResponse(); return(true); } catch (Exception e) { return(false); } }
public PPTActivitySummary(PPTExercise exercise) { Exercise = exercise; Laps = new LapSummaryCollection(); Laps.Add(this); }