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); }
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); }
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); } }
public async Task <ActionResult <ExerciseDetail> > PostExerciseDetails(ExerciseDetail exerciseDetail) { await _exerciseDetailRepository.AddExerciseDetail(exerciseDetail); return(CreatedAtAction(nameof(GetExerciseDetails), new { id = exerciseDetail.ExerciseDetailId }, exerciseDetail)); }