Example #1
0
        public async Task <IActionResult> PutExerciseDetail(long id, ExerciseDetail exerciseDetail)
        {
            if (id != exerciseDetail.ExerciseDetailId)
            {
                return(BadRequest());
            }
            await _exerciseDetailRepository.UpdateExerciseDetail(exerciseDetail);

            return(NoContent());
        }
 public ExerciseDetailModel(ExerciseDetail exerciseDetail)
 {
     ExerciseDetailId = exerciseDetail.ExerciseDetailId;
     Name             = exerciseDetail.Name;
     Notes            = exerciseDetail.Notes;
     IsSearchable     = exerciseDetail.IsSearchable;
     CreatedById      = exerciseDetail.CreatedById;
     CreatedOn        = exerciseDetail.CreatedOn;
     UpdatedOn        = exerciseDetail.UpdatedOn;
 }
        public async Task <IActionResult> GetExerciseList()
        {
            var userID = User.Claims.Where(c => c.Type == ClaimTypes.NameIdentifier).FirstOrDefault().Value;
            var user   = await _userManager.FindByIdAsync(userID);

            if (user == null)
            {
                return(NotFound(new
                {
                    message = "user's token is invalid"
                }));
            }

            var allExercises      = _arDbContext.Exercises.ToList();
            var assignmentForUser = _arDbContext.AssignmentRecords.Where(ar => ar.UserID == userID).ToList();

            var exerciseDetails = new List <ExerciseDetail>();

            foreach (var exercise in allExercises)
            {
                var exerciseDetail = new ExerciseDetail
                {
                    ID          = exercise.ID,
                    Name        = exercise.Name,
                    Description = exercise.Description
                };

                var specificAssignmentRecord = assignmentForUser.Where(afu => afu.ExerciseID == exercise.ID).FirstOrDefault();
                exerciseDetail.CurrentNumber = specificAssignmentRecord == null ? 0 : specificAssignmentRecord.CurrentQuestionIndex;
                exerciseDetail.IsFinished    = specificAssignmentRecord == null ? false : specificAssignmentRecord.IsFinished;

                var sortedQuestions = (from q in _arDbContext.Questions
                                       join eqc in _arDbContext.ExerciseQuestionRelationMap on q.ID equals eqc.QuestionID
                                       where eqc.ExerciseID == exercise.ID
                                       orderby eqc.SerialNumber ascending
                                       select q).ToList();

                exerciseDetail.TotalNumber = sortedQuestions.Count;

                exerciseDetails.Add(exerciseDetail);
            }

            var vm = new GetExerciseListGetViewModel {
                ExerciseDetails = exerciseDetails
            };

            return(Ok(vm));
        }
        private static string GetExerciseDetail(Extension detail, out ExerciseDetail exerciseDetail)
        {
            var key = "";

            exerciseDetail = new ExerciseDetail();

            foreach (var extension in detail.Extension)
            {
                if (extension.Value == null)
                {
                    continue;
                }

                switch (extension.Url)
                {
                case HealthVaultExtensions.ExerciseDetailName:
                    key = ((FhirString)extension.Value).Value;

                    break;

                case HealthVaultExtensions.ExerciseDetailType:
                    exerciseDetail.Name = ((Coding)extension.Value).ToCodedValue();

                    break;

                case HealthVaultExtensions.ExerciseDetailValue:
                    var detailQuantity = (Quantity)extension.Value;

                    if (detailQuantity?.Value != null)
                    {
                        exerciseDetail.Value = new StructuredMeasurement(
                            (double)detailQuantity.Value,
                            CodeToHealthVaultHelper.CreateCodableValueFromQuantityValues(detailQuantity.System, detailQuantity.Code, detailQuantity.Unit)
                            );
                    }

                    break;
                }
            }

            return(key);
        }
Example #5
0
        private static Extension CreateDetailExtension(string key, ExerciseDetail exerciseDetail)
        {
            var extension = new Extension
            {
                Url = HealthVaultExtensions.ExerciseDetail
            };

            extension.AddExtension(HealthVaultExtensions.ExerciseDetailName, new FhirString(key));

            extension.AddExtension(HealthVaultExtensions.ExerciseDetailType, exerciseDetail.Name.ToFhir());

            extension.AddExtension(HealthVaultExtensions.ExerciseDetailValue, new Quantity
            {
                Value  = (decimal)exerciseDetail.Value.Value,
                Unit   = exerciseDetail.Value.Units.Text,
                Code   = exerciseDetail.Value.Units[0].Value,
                System = HealthVaultVocabularies.GenerateSystemUrl(exerciseDetail.Value.Units[0].VocabularyName, exerciseDetail.Value.Units[0].Family),
            });
            return(extension);
        }
Example #6
0
        private void btnFinish_Click(object sender, EventArgs e)
        {
            Boolean       isCountable = true;
            string        info, label;
            int           setsAmount = 0;
            trainingDone  newDone    = new trainingDone();
            List <string> setDetails = new List <string>();

            foreach (FlowLayoutPanel flp in panelBig.Controls)
            {
                info  = "";
                label = "";
                setDetails.Clear();
                foreach (Control ctrl in flp.Controls)
                {
                    if (ctrl is TextBox)
                    {
                        if (ctrl.Text != "")
                        {
                            //info += ctrl.Text + "|";
                            setDetails.Add(ctrl.Text);
                            setsAmount++;
                        }
                    }
                    if (ctrl is Label)
                    {
                        label = ctrl.Text;
                    }
                }
                IQueryable <Exercise> exName =
                    from ex in FPdatabase.Exercise
                    where ex.name == label
                    select ex;

                IQueryable <TE> exercise =
                    from te in FPdatabase.TE
                    where te.trainingID == training.trainingID && te.exerciseID == exName.FirstOrDefault().exerciseID
                    select te;


                if (setDetails.Count() != 0)
                {
                    for (int i = 0; i < setDetails.Count(); i++)
                    {
                        info += setDetails[i] + "|";
                    }
                    var exerciseToUpdate = exName.SingleOrDefault();
                    exerciseToUpdate.lastInfo = info;
                    FPdatabase.SubmitChanges();

                    ExerciseInfo exInfo = new ExerciseInfo
                    {
                        setsAmount = setsAmount
                    };
                    exInfo.trainingDone = newDone;
                    exInfo.TE           = exercise.AsEnumerable().LastOrDefault();

                    FPdatabase.ExerciseInfo.InsertOnSubmit(exInfo);
                    FPdatabase.SubmitChanges();
                    for (int i = 0; i < setDetails.Count(); i++)
                    {
                        ExerciseDetail exDetail = new ExerciseDetail
                        {
                            setNumber    = i + 1,
                            ExerciseInfo = exInfo,
                            setInfo      = setDetails[i]
                        };
                        FPdatabase.ExerciseDetail.InsertOnSubmit(exDetail);
                        FPdatabase.SubmitChanges();
                    }
                    isCountable = true;
                }
            }
            if (isCountable)
            {
                string comment = textBox1.Text;
                newDone.date       = DateTime.Today;
                newDone.trainingID = training.trainingID;
                //newDone.Training = training;


                if (comment == "" || comment == "Type here...")
                {
                    newDone.comment = "none";
                }
                else
                {
                    newDone.comment = comment;
                }
                FPdatabase.SubmitChanges();
                MessageBox.Show("Congratulations! You have succesfully finished training!", "Congrats!", MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.Close();
            }
            else
            {
                MessageBox.Show("You didn't do anything!", "??", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
        }
Example #7
0
        public async Task <ActionResult <ExerciseDetail> > PostExerciseDetails(ExerciseDetail exerciseDetail)
        {
            await _exerciseDetailRepository.AddExerciseDetail(exerciseDetail);

            return(CreatedAtAction(nameof(GetExerciseDetails), new { id = exerciseDetail.ExerciseDetailId }, exerciseDetail));
        }