public TrainingDayKey(TrainingDayKey key) { UserId = key.UserId; Year = key.Year; WeekOfYear = key.WeekOfYear; DayOfWeek = key.DayOfWeek; TrainingDayId = key.TrainingDayId; }
public TrainingDayKey Clone() { var copy = new TrainingDayKey(); copy.UserId = UserId; copy.Year = Year; copy.WeekOfYear = WeekOfYear; copy.DayOfWeek = DayOfWeek; copy.TrainingDayId = TrainingDayId; return(copy); }
private static void UpdateTrainingDayModificationDate(ApplicationDbContext dbContext, DateTime modificationDate, TrainingDayKey trainingDayKey) { var trainingDaysService = WebAppConfiguration.ServiceProvider.GetService<ITrainingDaysService>(); ((BodyReportService)trainingDaysService).SetDbContext(dbContext); var scenario = new TrainingDayScenario() { ManageExercise = false }; var trainingDay = trainingDaysService.GetTrainingDay(trainingDayKey, scenario); if(trainingDay != null && trainingDay.ModificationDate != null && modificationDate != null && (modificationDate - trainingDay.ModificationDate).TotalSeconds > 2) // don't spam database { trainingDaysService.UpdateTrainingDay(trainingDay, scenario); } }
/// <summary> /// Delete data in database /// </summary> /// <param name="key">Primary Key</param> public void Delete(TrainingDayKey key) { if (key == null || string.IsNullOrWhiteSpace(key.UserId) || key.Year == 0 || key.WeekOfYear == 0 || key.DayOfWeek < 0 || key.DayOfWeek > 6 || key.TrainingDayId == 0) return; var row = _dbContext.TrainingDay.Where(t => t.UserId == key.UserId && t.Year == key.Year && t.WeekOfYear == key.WeekOfYear && t.DayOfWeek == key.DayOfWeek && t.TrainingDayId == key.TrainingDayId).FirstOrDefault(); if (row != null) { _dbContext.TrainingDay.Remove(row); _dbContext.SaveChanges(); } }
public void DeleteTrainingDay(TrainingDayKey key) { var trainingDayScenario = new TrainingDayScenario() { ManageExercise = true }; var trainingDay = GetTrainingDay(key, trainingDayScenario); if (trainingDay != null) { _trainingDayModule.Delete(trainingDay); SynchroManager.TrainingDayChange(DbContext, trainingDay, true); if (trainingDay.TrainingExercises != null) { foreach (var trainingExercise in trainingDay.TrainingExercises) { _trainingWeeksService.DeleteTrainingExercise(trainingExercise); } } } }
public void DeleteTrainingDay(TrainingDayKey key) { BeginTransaction(); try { GetTrainingDayManager().DeleteTrainingDay(key); CommitTransaction(); } catch (Exception exception) { _logger.LogCritical("Unable to delete training day", exception); RollbackTransaction(); throw exception; } finally { EndTransaction(); } }
public static void TrainingExerciseChange(ApplicationDbContext dbContext, TrainingExercise trainingExercise, bool deleted = false) { if (trainingExercise == null || (!deleted && trainingExercise.ModificationDate == null)) return; var trainingDayKey = new TrainingDayKey() { UserId = trainingExercise.UserId, Year = trainingExercise.Year, WeekOfYear = trainingExercise.WeekOfYear, DayOfWeek = trainingExercise.DayOfWeek, TrainingDayId = trainingExercise.TrainingDayId }; var modificationDate = deleted ? Utils.DateTimeWithoutMs : trainingExercise.ModificationDate; UpdateTrainingDayModificationDate(dbContext, modificationDate, trainingDayKey); var trainingWeekKey = new TrainingWeekKey() { UserId = trainingExercise.UserId, Year = trainingExercise.Year, WeekOfYear = trainingExercise.WeekOfYear }; UpdateTrainingWeekModificationDate(dbContext, modificationDate, trainingWeekKey); }
/// <summary> /// Get data in database /// </summary> /// <param name="key">Primary Key</param> /// <returns>read data</returns> public TrainingDay Get(TrainingDayKey key) { if (key == null || string.IsNullOrWhiteSpace(key.UserId) || key.Year == 0 || key.WeekOfYear == 0 || key.DayOfWeek < 0 || key.DayOfWeek > 6 || key.TrainingDayId == 0) return null; var row = _dbContext.TrainingDay.Where(t => t.UserId == key.UserId && t.Year == key.Year && t.WeekOfYear == key.WeekOfYear && t.DayOfWeek == key.DayOfWeek && t.TrainingDayId == key.TrainingDayId).FirstOrDefault(); if (row != null) { return TrainingDayTransformer.ToBean(row); } return null; }
public TrainingDay(TrainingDayKey key) : base(key) { }
public TrainingDayKey Clone() { var copy = new TrainingDayKey(); copy.UserId = UserId; copy.Year = Year; copy.WeekOfYear = WeekOfYear; copy.DayOfWeek = DayOfWeek; copy.TrainingDayId = TrainingDayId; return copy; }
/// <summary> /// Equals by key /// </summary> /// <returns></returns> public static bool IsEqualByKey(TrainingDayKey key1, TrainingDayKey key2) { return key1.UserId == key2.UserId && key1.Year == key2.Year && key1.WeekOfYear == key2.WeekOfYear && key1.DayOfWeek == key2.DayOfWeek && key1.TrainingDayId == key2.TrainingDayId; }
public TrainingDay GetTrainingDay(TrainingDayKey key, TrainingDayScenario trainingDayScenario) { return GetTrainingDayManager().GetTrainingDay(key, trainingDayScenario); }
public IActionResult AddTrainingExercises(TrainingExercisesViewModel viewModel, string buttonType) { if (IncorrectHttpData(viewModel.UserId, viewModel.Year, viewModel.WeekOfYear, viewModel.DayOfWeek, viewModel.TrainingDayId)) return View(viewModel); bool displayMessage = buttonType == "submit"; int currentMuscularGroupId = 0, currentMuscleId = 0; if (viewModel != null) { currentMuscularGroupId = viewModel.MuscularGroupId; currentMuscleId = viewModel.MuscleId; } List<BodyExercise> bodyExerciseList; InsertViewBagOnEditTrainingExercise(out bodyExerciseList, currentMuscularGroupId, currentMuscleId); ModelState.Clear(); if (ModelState.IsValid) { if(viewModel.BodyExerciseList != null) { // filter selected data with existing exercise if (bodyExerciseList == null) viewModel.BodyExerciseList = null; else { var deleteList = new List<SelectBodyExercise>(); foreach(var selectBodyExercise in viewModel.BodyExerciseList) { if(bodyExerciseList.FirstOrDefault(c => c.Id == selectBodyExercise.Id) == null) { deleteList.Add(selectBodyExercise); } } foreach (var selectBodyExercise in deleteList) { viewModel.BodyExerciseList.Remove(selectBodyExercise); } } } if (viewModel.BodyExerciseList == null || viewModel.BodyExerciseList.Count(b => b.Selected == true) == 0) { CopyViewBagBodyExerciseToViewModel(viewModel, bodyExerciseList); if (displayMessage) ModelState.AddModelError(string.Empty, string.Format(Translation.THE_P0_FIELD_IS_REQUIRED, Translation.BODY_EXERCISES)); return View(viewModel); } var trainingDayKey = new TrainingDayKey() { UserId = viewModel.UserId, Year = viewModel.Year, WeekOfYear = viewModel.WeekOfYear, DayOfWeek = viewModel.DayOfWeek, TrainingDayId = viewModel.TrainingDayId }; var trainingDayScenario = new TrainingDayScenario() { ManageExercise = true }; var trainingDay = _trainingDaysService.GetTrainingDay(trainingDayKey, trainingDayScenario); if(trainingDay == null) { CopyViewBagBodyExerciseToViewModel(viewModel, bodyExerciseList); ModelState.AddModelError(string.Empty, string.Format(Translation.P0_NOT_EXIST, Translation.TRAINING_DAY)); return View(viewModel); } if (trainingDay.TrainingExercises == null) trainingDay.TrainingExercises = new List<TrainingExercise>(); int bodyExerciseCount = trainingDay.TrainingExercises.Count; int maxId = 1; if (bodyExerciseCount > 0) maxId = trainingDay.TrainingExercises.Max(t => t.Id) + 1; TrainingExercise trainingExercise; var bodyExerciseSelectedList = viewModel.BodyExerciseList.Where(b => b.Selected == true); foreach (var bodyExercise in bodyExerciseSelectedList) { //Only manage add in this page trainingExercise = new TrainingExercise() { UserId = viewModel.UserId, Year = viewModel.Year, WeekOfYear = viewModel.WeekOfYear, DayOfWeek = viewModel.DayOfWeek, TrainingDayId = viewModel.TrainingDayId, Id = maxId, BodyExerciseId = bodyExercise.Id, RestTime = 0, EccentricContractionTempo = 1, StretchPositionTempo = 0, ConcentricContractionTempo = 1, ContractedPositionTempo = 0 }; trainingDay.TrainingExercises.Add(trainingExercise); maxId++; } if(bodyExerciseCount != trainingDay.TrainingExercises.Count) { //data changed _trainingDaysService.UpdateTrainingDay(trainingDay, trainingDayScenario); } return GetViewActionResult(viewModel.UserId, viewModel.Year, viewModel.WeekOfYear, viewModel.DayOfWeek); } CopyViewBagBodyExerciseToViewModel(viewModel, bodyExerciseList); return View(viewModel); }
internal TrainingDay GetTrainingDay(TrainingDayKey key, TrainingDayScenario trainingDayScenario) { var trainingDay = _trainingDayModule.Get(key); if (trainingDayScenario.ManageExercise && trainingDay != null) { CompleteTrainingDayWithExercise(trainingDay); } return trainingDay; }
public IActionResult EditTrainingDay(TrainingDayViewModel viewModel) { if (ModelState.IsValid) { if (string.IsNullOrWhiteSpace(viewModel.UserId) || viewModel.Year == 0 || viewModel.WeekOfYear == 0 || viewModel.DayOfWeek < 0 || viewModel.DayOfWeek > 6 || viewModel.TrainingDayId == 0 || SessionUserId != viewModel.UserId) return View(viewModel); //Verify valide week of year if (viewModel.WeekOfYear > 0 && viewModel.WeekOfYear <= 52) { var trainingDay = ControllerUtils.TransformViewModelToTrainingDay(viewModel); var key = new TrainingDayKey() { UserId = trainingDay.UserId, Year = trainingDay.Year, WeekOfYear = trainingDay.WeekOfYear, DayOfWeek = trainingDay.DayOfWeek, TrainingDayId = trainingDay.TrainingDayId }; var trainingDayScenario = new TrainingDayScenario() { ManageExercise = false }; var foundTrainingDay = _trainingDaysService.GetTrainingDay(key, trainingDayScenario); if (foundTrainingDay == null) // no data found { ModelState.AddModelError(string.Empty, string.Format(Translation.P0_NOT_EXIST, Translation.TRAINING_DAY)); return View(viewModel); } trainingDay = _trainingDaysService.UpdateTrainingDay(trainingDay, trainingDayScenario); if (trainingDay != null) { return RedirectToAction("View", new { userId = trainingDay.UserId, year = trainingDay.Year, weekOfYear = trainingDay.WeekOfYear, dayOfWeekSelected = trainingDay.DayOfWeek }); } } } return View(viewModel); }
public IActionResult EditTrainingDay(string userId, int year, int weekOfYear, int dayOfWeek, int trainingDayId) { if (string.IsNullOrWhiteSpace(userId) || year == 0 || weekOfYear == 0 || dayOfWeek < 0 || dayOfWeek > 6 || trainingDayId == 0 || SessionUserId != userId) return RedirectToAction("Index"); var key = new TrainingDayKey() { UserId = userId, Year = year, WeekOfYear = weekOfYear, DayOfWeek = dayOfWeek, TrainingDayId = trainingDayId }; var trainingDayScenario = new TrainingDayScenario() { ManageExercise = true }; var trainingDay = _trainingDaysService.GetTrainingDay(key, trainingDayScenario); if (trainingDay == null) // no data found return RedirectToAction("View", new { userId = userId, year = year, weekOfYear = weekOfYear, dayOfWeek = dayOfWeek }); var userInfo = _userInfosService.GetUserInfo(new UserInfoKey() { UserId = SessionUserId }); if (userInfo == null) userInfo = new UserInfo(); return View(TrainingViewModelTransformer.TrainingDayToViewModel(trainingDay, userInfo)); }
public IActionResult DeleteTrainingDay(string userId, int year, int weekOfYear, int dayOfWeek, int trainingDayId, bool confirmation = false) { if (string.IsNullOrWhiteSpace(userId) || year == 0 || weekOfYear == 0 || dayOfWeek < 0 || dayOfWeek > 6 || trainingDayId == 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 TrainingDayKey() { UserId = userId, Year = year, WeekOfYear = weekOfYear, DayOfWeek = dayOfWeek, TrainingDayId = trainingDayId }; var trainingDayScenario = new TrainingDayScenario() { ManageExercise = true }; var trainingDay = _trainingDaysService.GetTrainingDay(key, trainingDayScenario); if (trainingDay == null) return actionResult; _trainingDaysService.DeleteTrainingDay(trainingDay); return actionResult; } else { string title = Translation.TRAINING_DAY; string message = Translation.ARE_YOU_SURE_YOU_WANNA_DELETE_THIS_ELEMENT_PI; string returnUrlYes = Url.Action("DeleteTrainingDay", "TrainingJournal", new { Area = "User", userId = userId, year = year, weekOfYear = weekOfYear, dayOfWeek = dayOfWeek, trainingDayId = trainingDayId, 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 }); } }
/// <summary> /// Equals by key /// </summary> /// <returns></returns> public static bool IsEqualByKey(TrainingDayKey key1, TrainingDayKey key2) { return(key1.UserId == key2.UserId && key1.Year == key2.Year && key1.WeekOfYear == key2.WeekOfYear && key1.DayOfWeek == key2.DayOfWeek && key1.TrainingDayId == key2.TrainingDayId); }
public IActionResult Get(TrainingDayKey trainingDayKey, TrainingDayScenario trainingDayScenario) { try { if (trainingDayKey == null || trainingDayScenario == null) return BadRequest(); var trainingday = _trainingDaysService.GetTrainingDay(trainingDayKey, trainingDayScenario); return new OkObjectResult(trainingday); } catch (Exception exception) { return BadRequest(new WebApiException("Error", exception)); } }