public IActionResult Delete([FromBody] TrainingExerciseKey trainingExerciseKey) { try { if (trainingExerciseKey == null) { return(BadRequest()); } if (trainingExerciseKey.UserId != SessionUserId || string.IsNullOrWhiteSpace(trainingExerciseKey.UserId) || trainingExerciseKey.Year == 0 || trainingExerciseKey.WeekOfYear == 0 || trainingExerciseKey.DayOfWeek < 0 || trainingExerciseKey.DayOfWeek > 6 || trainingExerciseKey.TrainingDayId == 0 || trainingExerciseKey.Id == 0) { return(BadRequest()); } _trainingExercisesService.DeleteTrainingExercise(trainingExerciseKey); return(new OkObjectResult(true)); // bool } catch (Exception exception) { return(BadRequest(new WebApiException("Error", exception))); } }
public TrainingExercise GetTrainingExercise(TrainingExerciseKey key) { var trainingExercise = _trainingExerciseModule.Get(key); if (trainingExercise != null) { CompleteTrainingExerciseWithSet(trainingExercise); } return(trainingExercise); }
public TrainingExercise GetTrainingExercise(TrainingExerciseKey key) { var trainingExercise = _trainingExerciseModule.Get(key); if (trainingExercise != null) { var criteria = CreateTrainingExerciseSetCriteria(trainingExercise); trainingExercise.TrainingExerciseSets = _trainingExerciseSetModule.Find(criteria); } return(trainingExercise); }
/// <summary> /// Delete data in database /// </summary> /// <param name="key">Primary Key</param> public void Delete(TrainingExerciseKey key) { if (key == null || string.IsNullOrWhiteSpace(key.UserId) || key.Year == 0 || key.WeekOfYear == 0 || key.DayOfWeek < 0 || key.DayOfWeek > 6 || key.Id == 0) return; var row = _dbContext.TrainingExercise.Where(t => t.UserId == key.UserId && t.Year == key.Year && t.WeekOfYear == key.WeekOfYear && t.DayOfWeek == key.DayOfWeek && t.TrainingDayId == key.TrainingDayId && t.Id == key.Id).FirstOrDefault(); if (row != null) { _dbContext.TrainingExercise.Remove(row); _dbContext.SaveChanges(); } }
/// <summary> /// Delete data in database /// </summary> /// <param name="key">Primary Key</param> public void Delete(TrainingExerciseKey key) { if (key == null || string.IsNullOrWhiteSpace(key.UserId) || key.Year == 0 || key.WeekOfYear == 0 || key.DayOfWeek < 0 || key.DayOfWeek > 6 || key.Id == 0) { return; } var row = _dbContext.Table <TrainingExerciseRow>().Where(t => t.UserId == key.UserId && t.Year == key.Year && t.WeekOfYear == key.WeekOfYear && t.DayOfWeek == key.DayOfWeek && t.TrainingDayId == key.TrainingDayId && t.Id == key.Id).FirstOrDefault(); if (row != null) { _dbContext.Delete(row); } }
public void DeleteTrainingExercise(TrainingExerciseKey key) { var trainingExercise = GetTrainingExercise(key); if (trainingExercise != null) { _trainingExerciseModule.Delete(trainingExercise); if (trainingExercise.TrainingExerciseSets != null) { foreach (var trainingExerciseSet in trainingExercise.TrainingExerciseSets) { _trainingExerciseSetManager.DeleteTrainingExerciseSet(trainingExerciseSet); } } } }
public void DeleteTrainingExercise(TrainingExerciseKey key) { var trainingExercise = GetTrainingExercise(key); if (trainingExercise != null) { _trainingDayExerciseModule.Delete(trainingExercise); SynchroManager.TrainingExerciseChange(DbContext, trainingExercise, true); if (trainingExercise.TrainingExerciseSets != null) { foreach (var trainingExerciseSet in trainingExercise.TrainingExerciseSets) { _trainingExerciseSetModule.Delete(trainingExerciseSet); } } } }
public void DeleteTrainingExercise(TrainingExerciseKey key) { var trainingExercise = GetTrainingExercise(key); if (trainingExercise != null) { _trainingExerciseModule.Delete(trainingExercise); SynchroManager.TrainingExerciseChange(DbContext, trainingExercise, true); if (trainingExercise.TrainingExerciseSets != null) { foreach (var trainingExerciseSet in trainingExercise.TrainingExerciseSets) { _trainingExerciseSetModule.Delete(trainingExerciseSet); } } } }
public void DeleteTrainingExercise(TrainingExerciseKey key) { BeginTransaction(); try { GetTrainingExerciseManager().DeleteTrainingExercise(key); CommitTransaction(); } catch { RollbackTransaction(); throw; } finally { EndTransaction(); } }
public void DeleteTrainingExercise(TrainingExerciseKey key) { BeginTransaction(); try { GetTrainingExerciseManager().DeleteTrainingExercise(key); CommitTransaction(); } catch (Exception exception) { _logger.LogCritical("Unable to delete training exercises", exception); RollbackTransaction(); throw exception; } finally { EndTransaction(); } }
/// <summary> /// Get data in database /// </summary> /// <param name="key">Primary Key</param> /// <returns>read data</returns> public TrainingExercise Get(TrainingExerciseKey key) { if (key == null || string.IsNullOrWhiteSpace(key.UserId) || key.Year == 0 || key.WeekOfYear == 0 || key.DayOfWeek < 0 || key.DayOfWeek > 6 || key.Id == 0) { return(null); } var rowQuery = _dbContext.TrainingExercise.Where(t => t.UserId == key.UserId && t.Year == key.Year && t.WeekOfYear == key.WeekOfYear && t.DayOfWeek == key.DayOfWeek && t.TrainingDayId == key.TrainingDayId && t.Id == key.Id); var row = rowQuery.FirstOrDefault(); if (row != null) { return(GetBean(row)); } return(null); }
public TrainingExercise GetTrainingExercise(TrainingExerciseKey key) { TrainingExercise result = null; BeginTransaction(); try { result = GetTrainingExerciseManager().GetTrainingExercise(key); CommitTransaction(); } catch { RollbackTransaction(); throw; } finally { EndTransaction(); } return(result); }
/// <summary> /// Get data in database /// </summary> /// <param name="key">Primary Key</param> /// <returns>read data</returns> public TrainingExercise Get(TrainingExerciseKey key) { if (key == null || string.IsNullOrWhiteSpace(key.UserId) || key.Year == 0 || key.WeekOfYear == 0 || key.DayOfWeek < 0 || key.DayOfWeek > 6 || key.Id == 0) return null; var rowQuery = _dbContext.TrainingExercise.Where(t => t.UserId == key.UserId && t.Year == key.Year && t.WeekOfYear == key.WeekOfYear && t.DayOfWeek == key.DayOfWeek && t.TrainingDayId == key.TrainingDayId && t.Id == key.Id); var row = rowQuery.FirstOrDefault(); if (row != null) { return GetBean(row); } return null; }
public TrainingExercise GetTrainingExercise(TrainingExerciseKey key) { return(GetTrainingExerciseManager().GetTrainingExercise(key)); }
public IActionResult DeleteTrainingExercise(string userId, int year, int weekOfYear, int dayOfWeek, int trainingDayId, int trainingExerciseId, bool confirmation = false) { if (string.IsNullOrWhiteSpace(userId) || year == 0 || weekOfYear == 0 || dayOfWeek < 0 || dayOfWeek > 6 || trainingDayId == 0 || trainingExerciseId == 0 || SessionUserId != userId) return RedirectToAction("Index"); if (confirmation) { var actionResult = RedirectToAction("View", "TrainingJournal", new { Area = "User", userId = userId, year = year, weekOfYear = weekOfYear, dayOfWeekSelected = dayOfWeek }); var key = new TrainingExerciseKey() { UserId = userId, Year = year, WeekOfYear = weekOfYear, DayOfWeek = dayOfWeek, TrainingDayId = trainingDayId, Id = trainingExerciseId }; var trainingExercise = _trainingExercisesService.GetTrainingExercise(key); if (trainingExercise == null) return actionResult; _trainingExercisesService.DeleteTrainingExercise(trainingExercise); return actionResult; } else { string title = Translation.TRAINING_DAY; string message = Translation.ARE_YOU_SURE_YOU_WANNA_DELETE_THIS_ELEMENT_PI; string returnUrlYes = Url.Action("DeleteTrainingExercise", "TrainingJournal", new { Area = "User", userId = userId, year = year, weekOfYear = weekOfYear, dayOfWeek = dayOfWeek, trainingDayId = trainingDayId, trainingExerciseId = trainingExerciseId, confirmation = true }); string returnUrlNo = Url.Action("View", "TrainingJournal", new { Area = "User", userId = userId, year = year, weekOfYear = weekOfYear, dayOfWeekSelected = dayOfWeek }); return RedirectToAction("Confirm", "Message", new { Area = "Site", title = title, message = message, returnUrlYes = returnUrlYes, returnUrlNo = returnUrlNo }); } }
private async Task ValidateActionAsync() { try { if (BindingTrainingExerciseSetReps != null && BindingTrainingExerciseSetReps.Count > 0 && _trainingExercise != null) { var trainingExercise = _trainingExercise.Clone(); if (trainingExercise.TrainingExerciseSets == null) { trainingExercise.TrainingExerciseSets = new List <TrainingExerciseSet>(); } else { trainingExercise.TrainingExerciseSets.Clear(); // empty sets for replacing } trainingExercise.RestTime = RestTime; // don't forget restime... trainingExercise.EccentricContractionTempo = EccentricContractionTempo; trainingExercise.StretchPositionTempo = StretchPositionTempo; trainingExercise.ConcentricContractionTempo = ConcentricContractionTempo; trainingExercise.ContractedPositionTempo = ContractedPositionTempo; int nbSet = 0, currentRepValue = 0; var tupleSetRepList = new List <Tuple <int, int, double> >(); int repValue; double weightValue, currentWeightValue = 0; for (int i = 0; i < BindingTrainingExerciseSetReps.Count; i++) { repValue = BindingTrainingExerciseSetReps[i].Reps; weightValue = BindingTrainingExerciseSetReps[i].Weights; if (repValue == 0) { continue; } if (weightValue == currentWeightValue && repValue == currentRepValue) { nbSet++; } else { if (nbSet != 0) { tupleSetRepList.Add(new Tuple <int, int, double>(nbSet, currentRepValue, currentWeightValue)); } currentRepValue = repValue; currentWeightValue = weightValue; nbSet = 1; } } //last data if (nbSet != 0) { tupleSetRepList.Add(new Tuple <int, int, double>(nbSet, currentRepValue, currentWeightValue)); } var unit = await GetExerciseUnit(); int id = 1; foreach (Tuple <int, int, double> tupleSetRep in tupleSetRepList) { trainingExercise.TrainingExerciseSets.Add(new TrainingExerciseSet() { UserId = trainingExercise.UserId, Year = trainingExercise.Year, WeekOfYear = trainingExercise.WeekOfYear, DayOfWeek = trainingExercise.DayOfWeek, TrainingDayId = trainingExercise.TrainingDayId, TrainingExerciseId = trainingExercise.Id, Id = id, NumberOfSets = tupleSetRep.Item1, NumberOfReps = tupleSetRep.Item2, Weight = tupleSetRep.Item3, Unit = unit }); id++; } //Save in server var trainingDayKey = new TrainingDayKey() { UserId = trainingExercise.UserId, Year = trainingExercise.Year, WeekOfYear = trainingExercise.WeekOfYear, DayOfWeek = trainingExercise.DayOfWeek, TrainingDayId = trainingExercise.TrainingDayId }; var trainingDayScenario = new TrainingDayScenario() { ManageExercise = true }; var trainingDay = await TrainingDayWebService.GetTrainingDayAsync(trainingDayKey, trainingDayScenario); //modify datas var trainingExerciseTmp = trainingDay.TrainingExercises.Where(t => TrainingExerciseKey.IsEqualByKey(t, trainingExercise)).FirstOrDefault(); var indexOf = trainingDay.TrainingExercises.IndexOf(trainingExerciseTmp); if (indexOf != -1) { //Replace exercise and sets trainingDay.TrainingExercises[indexOf] = trainingExercise; //update to server trainingDay = await TrainingDayWebService.UpdateTrainingDayAsync(trainingDay, trainingDayScenario); //Save modified data in local database _trainingDayService.UpdateTrainingDay(trainingDay, trainingDayScenario); CloseViewModel(); } } } catch (Exception except) { ILogger.Instance.Error("Unable to validate training rep/set", except); await _userDialog.AlertAsync(except.Message, Translation.Get(TRS.ERROR), Translation.Get(TRS.OK)); } }
public IActionResult EditTrainingExercise(string userId, int year, int weekOfYear, int dayOfWeek, int trainingDayId, int trainingExerciseId, bool upward=false, bool downward=false) { if (IncorrectHttpData(userId, year, weekOfYear, dayOfWeek, trainingDayId, trainingExerciseId)) return RedirectToAction("Index"); var actionResult = GetViewActionResult(userId, year, weekOfYear, dayOfWeek); if (upward || downward) { var findcriteria = new TrainingExerciseCriteria() { UserId = new StringCriteria() { Equal = userId }, Year = new IntegerCriteria() { Equal = year }, WeekOfYear = new IntegerCriteria() { Equal = weekOfYear }, DayOfWeek = new IntegerCriteria() { Equal = dayOfWeek }, TrainingDayId = new IntegerCriteria() { Equal = trainingDayId } }; var trainingExercises = _trainingExercisesService.FindTrainingExercise(findcriteria); if (trainingExercises == null || trainingExercises.Count == 0) return actionResult; trainingExercises = trainingExercises.OrderBy(t => t.Id).ToList(); int indexOfCurrentExercice = trainingExercises.FindIndex(t => t.Id == trainingExerciseId); if (indexOfCurrentExercice == -1) return actionResult; foreach (var trainingExerciseTmp in trainingExercises) _trainingExercisesService.DeleteTrainingExercise(trainingExerciseTmp); OrderTrainingExercices(trainingExercises, indexOfCurrentExercice, upward == true); foreach (var trainingExerciseTmp in trainingExercises) _trainingExercisesService.CreateTrainingExercise(trainingExerciseTmp); return actionResult; } ViewBag.UserUnit = GetUserUnit(userId); var key = new TrainingExerciseKey() { UserId = userId, Year = year, WeekOfYear = weekOfYear, DayOfWeek = dayOfWeek, TrainingDayId = trainingDayId, Id = trainingExerciseId }; var trainingExercise = _trainingExercisesService.GetTrainingExercise(key); if (trainingExercise == null) return actionResult; var bodyExercise = _bodyExercisesService.GetBodyExercise(new BodyExerciseKey() { Id = trainingExercise.BodyExerciseId }); var viewModel = new TrainingExerciseViewModel(); viewModel.UserId = userId; viewModel.Year = year; viewModel.WeekOfYear = weekOfYear; viewModel.DayOfWeek = dayOfWeek; viewModel.TrainingDayId = trainingDayId; viewModel.TrainingExerciseId = trainingExerciseId; viewModel.BodyExerciseId = bodyExercise.Id; viewModel.BodyExerciseName = bodyExercise.Name; viewModel.BodyExerciseImage = bodyExercise.ImageName; viewModel.RestTime = trainingExercise.RestTime; viewModel.EccentricContractionTempo = trainingExercise.EccentricContractionTempo; viewModel.StretchPositionTempo = trainingExercise.StretchPositionTempo; viewModel.ConcentricContractionTempo = trainingExercise.ConcentricContractionTempo; viewModel.ContractedPositionTempo = trainingExercise.ContractedPositionTempo; viewModel.Unit = (int)GetUserUnit(userId); if (trainingExercise.TrainingExerciseSets != null) { if(trainingExercise.TrainingExerciseSets.Count > 0) //Take unit of first user set if exist viewModel.Unit = (int)trainingExercise.TrainingExerciseSets[0].Unit; foreach (var trainingExerciseSet in trainingExercise.TrainingExerciseSets) { for(int i=0; i < trainingExerciseSet.NumberOfSets; i++) { viewModel.Reps.Add(trainingExerciseSet.NumberOfReps); viewModel.Weights.Add(trainingExerciseSet.Weight); } } } if(viewModel.Reps == null || viewModel.Reps.Count == 0) viewModel.Reps = new List<int?>() { 8 }; if (viewModel.Weights == null || viewModel.Weights.Count == 0) viewModel.Weights = new List<double?>() { 0 }; return View(viewModel); }
public TrainingExerciseKey Clone() { var copy = new TrainingExerciseKey(); copy.UserId = UserId; copy.Year = Year; copy.WeekOfYear = WeekOfYear; copy.DayOfWeek = DayOfWeek; copy.TrainingDayId = TrainingDayId; copy.Id = Id; return copy; }
public IActionResult EditTrainingExercise(TrainingExerciseViewModel viewModel, string buttonType) { const int MAX_REPS = 10; if(viewModel == null) return RedirectToAction("Index"); ViewBag.UserUnit = GetUserUnit(viewModel.UserId); if (viewModel.Reps == null || viewModel.Reps.Count == 0) //Security viewModel.Reps = new List<int?>() { 8, 8, 8, 8 }; if (viewModel.Weights == null) viewModel.Weights = new List<double?>(); while (viewModel.Reps.Count > MAX_REPS) { viewModel.Reps.RemoveAt(viewModel.Reps.Count - 1); } while (viewModel.Weights.Count > MAX_REPS) { viewModel.Weights.RemoveAt(viewModel.Weights.Count - 1); } while (viewModel.Weights.Count < viewModel.Reps.Count) { viewModel.Weights.Add(0); } for (int i = 0; i < viewModel.Reps.Count; i++) { if(viewModel.Reps[i] == null) viewModel.Reps[i] = 0; if (viewModel.Weights[i] == null) viewModel.Weights[i] = 0; } if ("addRep" == buttonType) { if (viewModel.Reps.Count < MAX_REPS) { int newRepValue = 8; if (viewModel.Reps.Count > 0) newRepValue = viewModel.Reps[viewModel.Reps.Count - 1].Value; viewModel.Reps.Add(newRepValue); double newWeightValue = 8; if (viewModel.Weights.Count > 0) newWeightValue = viewModel.Weights[viewModel.Weights.Count - 1].Value; viewModel.Weights.Add(newWeightValue); } return View(viewModel); } else if ("delete" == buttonType) { if (viewModel.Reps.Count > 1) viewModel.Reps.RemoveAt(viewModel.Reps.Count - 1); if (viewModel.Weights.Count > 1) viewModel.Weights.RemoveAt(viewModel.Weights.Count - 1); } else if ("submit" == buttonType && ModelState.IsValid) { if (string.IsNullOrWhiteSpace(viewModel.UserId) || SessionUserId != viewModel.UserId || viewModel.Year == 0 || viewModel.WeekOfYear == 0 || viewModel.DayOfWeek < 0 || viewModel.DayOfWeek > 6 || viewModel.TrainingDayId == 0 || viewModel.TrainingExerciseId == 0 || viewModel.BodyExerciseId == 0 && (viewModel.Unit == (int)TUnitType.Imperial || viewModel.Unit == (int)TUnitType.Metric)) return View(viewModel); var key = new TrainingExerciseKey() { UserId = viewModel.UserId, Year = viewModel.Year, WeekOfYear = viewModel.WeekOfYear, DayOfWeek = viewModel.DayOfWeek, TrainingDayId = viewModel.TrainingDayId, Id = viewModel.TrainingExerciseId }; var trainingExercise = _trainingExercisesService.GetTrainingExercise(key); if (trainingExercise == null) { ModelState.AddModelError(string.Empty, string.Format("{0} {1}", Translation.INVALID_INPUT_2P, Translation.TRAINING_EXERCISE)); return View(viewModel); } trainingExercise.BodyExerciseId = viewModel.BodyExerciseId; trainingExercise.RestTime = viewModel.RestTime; //Tempos trainingExercise.EccentricContractionTempo = viewModel.EccentricContractionTempo; trainingExercise.StretchPositionTempo = viewModel.StretchPositionTempo; trainingExercise.ConcentricContractionTempo = viewModel.ConcentricContractionTempo; trainingExercise.ContractedPositionTempo = viewModel.ContractedPositionTempo; if (viewModel.Reps != null && viewModel.Reps.Count > 0) { //Regroup Reps with Set int nbSet = 0, currentRepValue = 0; var tupleSetRepList = new List<Tuple<int, int, double>>(); int repValue; double weightValue, currentWeightValue = 0; for (int i=0; i < viewModel.Reps.Count; i++) { repValue = viewModel.Reps[i].Value; weightValue = viewModel.Weights[i].Value; if (repValue == 0) continue; if (weightValue == currentWeightValue && repValue == currentRepValue) nbSet++; else { if (nbSet != 0) tupleSetRepList.Add(new Tuple<int, int, double>(nbSet, currentRepValue, currentWeightValue)); currentRepValue = repValue; currentWeightValue = weightValue; nbSet = 1; } } //last data if (nbSet != 0) tupleSetRepList.Add(new Tuple<int, int, double>(nbSet, currentRepValue, currentWeightValue)); trainingExercise.TrainingExerciseSets = new List<TrainingExerciseSet>(); int id = 1; var unit = Utils.IntToEnum<TUnitType>(viewModel.Unit); foreach (Tuple<int, int, double> tupleSetRep in tupleSetRepList) { trainingExercise.TrainingExerciseSets.Add(new TrainingExerciseSet() { UserId = viewModel.UserId, Year = viewModel.Year, WeekOfYear = viewModel.WeekOfYear, DayOfWeek = viewModel.DayOfWeek, TrainingDayId = viewModel.TrainingDayId, TrainingExerciseId = viewModel.TrainingExerciseId, Id = id, NumberOfSets = tupleSetRep.Item1, NumberOfReps = tupleSetRep.Item2, Weight = tupleSetRep.Item3, Unit = unit }); id++; } _trainingExercisesService.UpdateTrainingExercise(trainingExercise, true); return RedirectToAction("View", "TrainingJournal", new { Area = "User", userId = viewModel.UserId, year = viewModel.Year, weekOfYear = viewModel.WeekOfYear, dayOfWeekSelected = viewModel.DayOfWeek }); } } return View(viewModel); }
public TrainingExercise GetTrainingExercise(TrainingExerciseKey key) { var trainingExercise = _trainingDayExerciseModule.Get(key); if(trainingExercise != null) { CompleteTrainingExerciseWithSet(trainingExercise); } return trainingExercise; }
/// <summary> /// Equals by key /// </summary> /// <returns></returns> public static bool IsEqualByKey(TrainingExerciseKey key1, TrainingExerciseKey key2) { return key1.UserId == key2.UserId && key1.Year == key2.Year && key1.WeekOfYear == key2.WeekOfYear && key1.DayOfWeek == key2.DayOfWeek && key1.TrainingDayId == key2.TrainingDayId && key1.Id == key2.Id; }
public TrainingExercise GetTrainingExercise(TrainingExerciseKey key) { return GetTrainingExerciseManager().GetTrainingExercise(key); }
public static async Task <bool> DeleteTrainingExerciseAsync(TrainingExerciseKey trainingExerciseKey) { return(await HttpConnector.Instance.PostAsync <TrainingExerciseKey, bool>("Api/TrainingExercises/Delete", trainingExerciseKey)); }
public TrainingExerciseKey(TrainingExerciseKey key) { UserId = key.UserId; Year = key.Year; WeekOfYear = key.WeekOfYear; DayOfWeek = key.DayOfWeek; TrainingDayId = key.TrainingDayId; Id = key.Id; }