public void Init()
        {
            ValidMeasurement = new GeneralMeasurementsPastModel
            {
                RestingHeartrate = 90
            };

            ValidMeasurementNew = new GeneralMeasurementsNewModel
            {
                Timestamp        = DateTime.Now,
                RestingHeartrate = 90,
                PostToFacebook   = null,
                PostToTwitter    = null
            };
        }
        /// <summary>
        /// Prepares the request object to update an existing model.
        /// </summary>
        /// <param name="measurementToUpdate"></param>
        /// <returns></returns>
        private IRestRequest PrepareMeasurementUpdateRequest(GeneralMeasurementsPastModel measurementToUpdate)
        {
            var request = new RestRequest(Method.PUT);

            request.Resource = measurementToUpdate.Uri;

            ValidateModel(measurementToUpdate);

            //Add body to the request
            request.AddParameter(GeneralMeasurementsPastModel.ContentType, _tokenManager.DefaultJsonSerializer.Serialize(new
            {
                blood_calcium     = measurementToUpdate.BloodCalcium,
                blood_chromium    = measurementToUpdate.BloodChromium,
                blood_folic_acid  = measurementToUpdate.BloodFolicAcid,
                blood_magnesium   = measurementToUpdate.BloodMagnesium,
                blood_potassium   = measurementToUpdate.BloodPotassium,
                blood_sodium      = measurementToUpdate.BloodSodium,
                blood_vitamin_b12 = measurementToUpdate.BloodVitaminB12,
                blood_zinc        = measurementToUpdate.BloodZinc,
                creatine_kinase   = measurementToUpdate.CreatineKinase,
                crp               = measurementToUpdate.Crp,
                diastolic         = measurementToUpdate.Diastolic,
                ferritin          = measurementToUpdate.Ferritin,
                hdl               = measurementToUpdate.Hdl,
                hscrp             = measurementToUpdate.Hscrp,
                il6               = measurementToUpdate.Il6,
                ldl               = measurementToUpdate.Ldl,
                resting_heartrate = measurementToUpdate.RestingHeartrate,
                systolic          = measurementToUpdate.Systolic,
                testosterone      = measurementToUpdate.Testosterone,
                total_cholesterol = measurementToUpdate.TotalCholesterol,
                tsh               = measurementToUpdate.Tsh,
                uric_acid         = measurementToUpdate.UricAcid,
                vitamin_d         = measurementToUpdate.VitaminD,
                white_cell_count  = measurementToUpdate.WhiteCellCount
            }), ParameterType.RequestBody);
            return(request);
        }
        public void UpdateMeasurementAsync(Action <GeneralMeasurementsPastModel> success, Action <HealthGraphException> failure, GeneralMeasurementsPastModel measurementToUpdate)
        {
            var request = PrepareMeasurementUpdateRequest(measurementToUpdate);

            _tokenManager.ExecuteAsync <GeneralMeasurementsPastModel>(request, success, failure);
        }
        public GeneralMeasurementsPastModel UpdateMeasurement(GeneralMeasurementsPastModel measurementToUpdate)
        {
            var request = PrepareMeasurementUpdateRequest(measurementToUpdate);

            return(_tokenManager.Execute <GeneralMeasurementsPastModel>(request));
        }