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));
        }
Example #2
0
        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));
        }