Esempio n. 1
0
        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);
            }
        }
Esempio n. 2
0
        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);
            }
        }
Esempio n. 3
0
 public PPTActivitySummary(PPTExercise exercise)
 {
     Exercise = exercise;
     Laps     = new LapSummaryCollection();
     Laps.Add(this);
 }