Example #1
0
        public async Task <ActionResult <ICollection <TrainingPlan> > > GetPlanById(int id)
        {
            var plan = await _context.TrainingPlans.Where(x => x.Id == id).FirstOrDefaultAsync();

            if (plan == null)
            {
                return(new NoContentResult());
            }
            //var exscercises =await  _context.ExcercisesInPlan.Where(x => x.PlanId == id).Include(x => x.Excercise).Include(x => x.Excercise.AssistantMuscle).Include(x => x.Excercise.TargetMuscle).ToListAsync();
            List <List <ExscercisePlanViewModel> > trainings = new List <List <ExscercisePlanViewModel> >();

            for (int i = 1; i < 8; i++)
            {
                List <ExscercisePlanViewModel> exscercisePlanViews = new List <ExscercisePlanViewModel>();
                var exscer = await _context.ExcercisesInPlan.Where(x => x.PlanId == id && x.Day == i).Include(x => x.Excercise).Include(x => x.Excercise.AssistantMuscle).Include(x => x.Excercise.TargetMuscle).ToListAsync();

                foreach (var a in exscer)
                {
                    ExscercisePlanViewModel exscercisePlanViewModel = new ExscercisePlanViewModel()
                    {
                        Id = a.Id, Name = a.Excercise.Name, Description = a.Excercise.Description, setsNumber = a.SetsNumber, TargetMuscle = a.Excercise.TargetMuscle, TargetMuscleId = a.Excercise.TargetMuscleId, AssistantMuscle = a.Excercise.AssistantMuscle, AssistantMuscleId = a.Excercise.AssistantMuscleId
                    };
                    exscercisePlanViews.Add(exscercisePlanViewModel);
                }

                trainings.Add(exscercisePlanViews);
            }
            TrainingPlanByCategoryViewModel trainingPlanByCategory = new TrainingPlanByCategoryViewModel()
            {
                planId = plan.Id, category = plan.Category, trainings = trainings, planDescription = plan.Discription, planName = plan.Name, photo = plan.Photo
            };

            return(new JsonResult(trainingPlanByCategory));
        }
        public async Task <TrainingPlanViewModel> GetPlanByIdAndDay(int Id, int Day, List <ExcerciseInPlan> userExser)
        {
            List <ExscercisePlanViewModel> excercises = new List <ExscercisePlanViewModel>();
            var days = new List <int>();

            for (int i = 0; i < userExser.Count; i++)
            {
                ExscercisePlanViewModel excer = new ExscercisePlanViewModel();
                excer.setsNumber        = userExser[i].SetsNumber;
                excer.Id                = userExser[i].Excercise.Id;
                excer.Name              = userExser[i].Excercise.Name;
                excer.TargetMuscleId    = userExser[i].Excercise.TargetMuscleId;
                excer.AssistantMuscleId = userExser[i].Excercise.AssistantMuscleId;
                excer.Description       = userExser[i].Excercise.Description;
                excer.TargetMuscle      = userExser[i].Excercise.TargetMuscle;
                excer.AssistantMuscle   = userExser[i].Excercise.AssistantMuscle;
                excer.Photo             = userExser[i].Excercise.Photo;
                excercises.Add(excer);
            }

            var userExserDays = await _context.ExcercisesInPlan.Where(p => p.PlanId == Id).ToListAsync();

            for (int i = 1; i < 7; i++)
            {
                var day = userExserDays.Find(x => x.Day == i);
                if (day != null)
                {
                    days.Add(day.Day);
                }
            }
            var trainingPlan = new TrainingPlanViewModel()
            {
                planId = userExser[0].PlanId, muscleGroupId = userExser[0].MuscleGroupId, excercises = excercises, muscleGroupName = userExser[0].MuscleGroup.Name, planDiscription = userExser[0].TrainingPlan.Discription, day = userExser[0].Day, activeDays = days
            };

            return(trainingPlan);
        }