public IActionResult CreateTrainingDay(TrainingDayViewModel viewModel) { if (ModelState.IsValid) { if (string.IsNullOrWhiteSpace(viewModel.UserId) || viewModel.Year == 0 || viewModel.WeekOfYear == 0 || viewModel.DayOfWeek < 0 || viewModel.DayOfWeek > 6 || SessionUserId != viewModel.UserId) return View(viewModel); //Verify trainingWeek exist var trainingWeekKey = new TrainingWeekKey() { UserId = viewModel.UserId, Year = viewModel.Year, WeekOfYear = viewModel.WeekOfYear }; var trainingWeekScenario = new TrainingWeekScenario() { ManageTrainingDay = false }; var trainingWeek = _trainingWeeksService.GetTrainingWeek(trainingWeekKey, trainingWeekScenario); if (trainingWeek == null) { ModelState.AddModelError(string.Empty, string.Format(Translation.P0_NOT_EXIST, Translation.TRAINING_WEEK)); return View(viewModel); } //Verify valid week of year if (viewModel.WeekOfYear > 0 && viewModel.WeekOfYear <= 52) { var trainingDay = ControllerUtils.TransformViewModelToTrainingDay(viewModel); trainingDay = _trainingDaysService.CreateTrainingDay(trainingDay); 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(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 static TrainingDay TransformViewModelToTrainingDay(TrainingDayViewModel viewModel) { TrainingDay trainingDay = new TrainingDay(); trainingDay.UserId = viewModel.UserId; trainingDay.Year = viewModel.Year; trainingDay.WeekOfYear = viewModel.WeekOfYear; trainingDay.DayOfWeek = viewModel.DayOfWeek; trainingDay.TrainingDayId = viewModel.TrainingDayId; trainingDay.BeginHour = viewModel.BeginHour.ToUniversalTime(); trainingDay.EndHour = viewModel.EndHour.ToUniversalTime(); return trainingDay; }