Beispiel #1
0
        /// <summary>
        /// takes in feedback for a workout item and passes it to the user's plan for processing
        /// </summary>
        /// <param name="root"></param>
        /// <param name="db"></param>
        /// <param name="manager"></param>
        static void SetupExerciseFeedbackManager(mpBase root, Database db, UserManager manager)
        {
            root.addProperty("exercise-feedback",
                             new mpRestfulTarget(
                                 new Func <System.Net.HttpListenerRequest, mpResponse>(
                                     req => {
                return(mpResponse.empty400());
            }
                                     ),
                                 new Func <System.Net.HttpListenerRequest, mpResponse>(
                                     req => {
                Console.Write("Exercise Feedback Data Requested...");

                string requestData  = req.data();
                string requestEmail = "", requestPasswordEmailHash = "";

                try {
                    mpObject requestJSON = (mpObject)mpJson.parse(requestData);

                    requestEmail             = ((mpValue)requestJSON.getChild("email")).data.asString();
                    requestPasswordEmailHash = ((mpValue)requestJSON.getChild("passwordEmailHash")).data.asString();

                    mpObject feedback = (mpObject)requestJSON.getChild("feedback");

                    WorkoutItem item = new WorkoutItem(feedback);

                    UserDataAccess access = new UserDataAccess(db, manager.getUser(requestEmail, requestPasswordEmailHash));

                    access.UpdateItem(item);
                    access.Store();
                    access.Dispose();
                } catch (Exception ex) {
                    Console.WriteLine("Exercise Request Error: " + ex.Message);
                    return(new mpResponse(new binaryData("{\"good\":false, \"message\":\"" + ex.Message + "\"}"), 400));
                }
                return(new mpResponse(new binaryData("{\"good\":true}"), 200));
            }
                                     )
                                 )
                             );
        }
Beispiel #2
0
 public void UpdateItem(WorkoutItem item)
 {
     updatedItems.Add(item);
 }