public IActionResult Show(DayOfWeek?dayTraining = null) { var userId = userManager.GetUserId(HttpContext.User); int headId = 0; if (TempData["dayTraining"] != null) { dayTraining = (DayOfWeek)TempData["dayTraining"]; } else if (dayTraining == null) { dayTraining = FindFirstTrainingDay(userId); } headId = FindHeadIdByDay(dayTraining.Value, userId); var viewModel = new TrainigPlanViewModel { Id = headId, CurrentTrainingDay = dayTraining.Value, Lines = new List <TrainingPlanSpec>() }; if (headId != 0) { viewModel.Lines = appContext.TrainingPlanSpecs.Where(x => x.HeadId.Equals(headId)).Include(x => x.Exercise).OrderBy(x => x.Order).ToList(); } return(View(viewModel)); }
public IActionResult Start() { DayOfWeek currentDay = DateTime.UtcNow.DayOfWeek; string userId = userManager.GetUserId(HttpContext.User); var trainingPlan = appContext.TrainingPlanHeads .Where(x => x.TrainingDays.Equals(dayConverter.DaysToByte(currentDay))) ?.ToList().OrderBy(x => x.Date) .LastOrDefault(); if (trainingPlan == null) { ModelState.AddModelError(sharedErrorMessageLocalizer["ProgramPlanNotFoundShort"], sharedErrorMessageLocalizer["ProgramPlanNotFoundLong"]); return(View("Error")); } ; if (appContext.TrainingHeads.Where(x => x.TrainingPlanHeadId.Equals(trainingPlan.Id)).FirstOrDefault() != null) { ModelState.AddModelError(sharedErrorMessageLocalizer["TrainingAlreadyExistsShort"], sharedErrorMessageLocalizer["TrainingAlreadyExistsLong"]); return(View("Error")); } List <TrainingPlanSpec> planSpec = appContext.TrainingPlanSpecs.Include(x => x.Exercise) .Where(x => x.HeadId.Equals(trainingPlan.Id)) .OrderBy(x => x.Order) .ToList(); TrainigPlanViewModel model = new TrainigPlanViewModel { CurrentTrainingDay = currentDay, Id = trainingPlan.Id, Date = trainingPlan.Date.ToLocalTime(), Description = trainingPlan.Description, Name = trainingPlan.Name, Lines = planSpec, }; return(View(model)); }