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); }