public async Task<IHttpActionResult> PutExerciseRecord(long id, ExerciseRecord exerciseRecord)
        {
            await HubGateway.GetInstance().IsDataUpdateRequiredForWeb(user.Email, true, "Update exercise record operation");

            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != exerciseRecord.Id)
            {
                return BadRequest();
            }

            if (db.Entry(exerciseRecord).Entity.Exercise.Set.AspNetUser.Id.ToLower().CompareTo(user.Id.ToLower()) != 0)
                return NotFound();

            db.Entry(exerciseRecord).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();

            }
            catch (DbUpdateConcurrencyException)
            {
                if (!ExerciseRecordExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return StatusCode(HttpStatusCode.NoContent);
        }
        public async Task<IHttpActionResult> PostExerciseRecord(ExerciseRecord exerciseRecord)
        {
            await HubGateway.GetInstance().IsDataUpdateRequiredForWeb(user.Email, true, "Create exercise record operation");

            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            db.ExerciseRecords.Add(exerciseRecord);
            await db.SaveChangesAsync();


            return CreatedAtRoute("DefaultApi", new { id = exerciseRecord.Id }, exerciseRecord);
        }