コード例 #1
0
        public IActionResult AddModifySpecLine(int headId, int id, DateTime date)
        {
            if (headId != 0)
            {
                ViewBag.TrainingDay = date;
                TrainigSpecLineChangeViewModel model = new TrainigSpecLineChangeViewModel
                {
                    Exercises = appContext.Exercises.ToList(),
                    HeadId    = headId,
                };

                if (id != 0) //existed Line
                {
                    ViewBag.Tittle = localizer["TittleModify"];
                    var spec = appContext.TrainingSpecs.Include(x => x.Exercise).Where(x => x.Id == id).ToList().FirstOrDefault();
                    model.Id     = id;
                    model.Name   = spec.Exercise.Name;
                    model.Set    = spec.Set;
                    model.Weight = spec.Weight;
                    model.Amount = spec.Amount;
                    return(View(model));
                }
                else //new Line
                {
                    ViewBag.Tittle = localizer["TittleAdd"];
                    return(View(model));
                }
            }
            return(RedirectToAction("Index", "Home"));
        }
コード例 #2
0
 public IActionResult AddModifyTrainingSpecLine(int headId, int specId = 0)
 {
     if (headId == 0)
     {
         ModelState.AddModelError("Incorrect Head Id", "Incorrect Head Id");
     }
     else
     {
         var line = new TrainigSpecLineChangeViewModel()
         {
             HeadId    = headId,
             Exercises = appContext.Exercises.ToList(),
         };
         if (specId != 0)   //ветка модификации существующей позиции
         {
             ViewBag.Tittle = localizer["TittleModify"];
             var spec = appContext.TrainingProgramSpecs.Include(x => x.Exercise).Where(x => x.Id == specId).ToList().FirstOrDefault();
             line.Id     = spec.Id;
             line.Name   = spec.Exercise.Name;
             line.Set    = spec.Set;
             line.Weight = spec.Weight;
             line.Amount = spec.Amount;
         }
         else
         {
             ViewBag.Tittle = localizer["TittleAdd"];
         }
         return(View(line));
     }
     return(RedirectToAction("List"));
 }
コード例 #3
0
        public IActionResult AddModifyTrainingPlanLine(DayOfWeek dayTraining, int headId)
        {
            var exercises = appContext.Exercises.OrderBy(x => x.Name).ToList();
            int specId    = 0;
            var model     = new TrainigSpecLineChangeViewModel
            {
                Exercises = exercises,
                HeadId    = headId
            };

            if (TempData["specId"] != null && TempData["headId"] != null && TempData["dayTraining"] != null)
            {
                specId             = (int)TempData["specId"];
                headId             = (int)TempData["headId"];
                dayTraining        = (DayOfWeek)TempData["dayTraining"];
                ViewData["Tittle"] = (string)localizer["ModifyPlanExercise"];

                var line = appContext.TrainingPlanSpecs.Find(specId);
                model.Id     = specId;
                model.HeadId = headId;
                model.Set    = line.Set;
                model.Weight = line.Weight;
                model.Name   = line.Exercise.Name;
                model.Amount = line.Amount;
            }
            else
            {
                ViewData["Tittle"] = (string)localizer["AddingExerciseToPlan"];
            }
            ViewBag.TrainingDay = dayTraining;
            return(View(model));
        }
コード例 #4
0
        public async Task <IActionResult> AddModifyTrainingPlanLine(TrainigSpecLineChangeViewModel viewModel)
        {
            if (viewModel != null)
            {
                var exercises = appContext.Exercises.ToList();
                if (!specLineValidator.IsSpecLineHasCorrectWeight(viewModel.ExerciseId, viewModel.Weight, exercises, out string shortMessage, out string longMessage))
                {
                    ModelState.AddModelError(shortMessage, longMessage);
                }

                if (ModelState.IsValid)
                {
                    int headId = viewModel.HeadId;
                    if (viewModel.HeadId == 0)
                    {
                        headId = await CreateTrainigPlanHead(viewModel.DayTraining, CreateTrainingPlanName(viewModel.DayTraining));
                    }
                    documentSpecHandler.FillDocument(appContext.TrainingPlanSpecs.Where(x => x.HeadId.Equals(headId)).ToList());
                    var planSpecLine = new TrainingPlanSpec
                    {
                        HeadId = headId,
                        ExId   = viewModel.ExerciseId,
                        Set    = viewModel.Set,
                        Weight = viewModel.Weight,
                        Amount = viewModel.Amount,
                        Order  = documentSpecHandler.GetLastOrder()
                    };

                    if (viewModel.Id == 0)
                    {
                        await appContext.TrainingPlanSpecs.AddAsync(planSpecLine);

                        await appContext.SaveChangesAsync();
                    }
                    else
                    {
                        planSpecLine.Id = viewModel.Id;
                        var changingProgramPlanSpec = appContext.TrainingPlanSpecs.Find(planSpecLine.Id);
                        if (changingProgramPlanSpec != null)
                        {
                            changingProgramPlanSpec.ExId   = planSpecLine.ExId;
                            changingProgramPlanSpec.Set    = planSpecLine.Set;
                            changingProgramPlanSpec.Weight = planSpecLine.Weight;
                            changingProgramPlanSpec.Amount = planSpecLine.Amount;
                        }
                        appContext.TrainingPlanSpecs.Update(changingProgramPlanSpec);
                        await appContext.SaveChangesAsync();
                    }
                }
                else
                {
                    viewModel.Exercises = exercises.OrderBy(x => x.Name).ToList();
                    ViewBag.TrainingDay = viewModel.DayTraining;
                    ViewData["Tittle"]  = viewModel.Id == 0 ? (string)localizer["AddingExerciseToPlan"] : (string)localizer["ModifyPlanExercise"];
                    return(View(viewModel));
                }
            }
            TempData["dayTraining"] = viewModel.DayTraining;
            return(RedirectToAction("Show"));
        }
コード例 #5
0
        public async Task <IActionResult> AddModifySpecLine(TrainigSpecLineChangeViewModel viewModel)
        {
            ViewBag.Tittle = viewModel.Id != 0 ? localizer["TittleModify"] : localizer["TittleAdd"];
            string userId = userManager.GetUserId(HttpContext.User);

            if (viewModel == null)
            {
                ModelState.AddModelError("Incorrect TrainigSpecLineChangeViewModel", "Incorrect TrainigSpecLineChangeViewModel");
                return(RedirectToAction("AddTrainingManually"));
            }

            var exercises = appContext.Exercises.ToList();

            if (!specLineValidator.IsSpecLineHasCorrectWeight(viewModel.ExerciseId, viewModel.Weight, exercises, out string shortMessage, out string longMessage))
            {
                ModelState.AddModelError(shortMessage, longMessage);
            }

            if (ModelState.IsValid)
            {
                var spec = new TrainingSpec
                {
                    HeadId = viewModel.HeadId,
                    Set    = viewModel.Set,
                    ExId   = viewModel.ExerciseId,
                    Weight = viewModel.Weight,
                    Amount = viewModel.Amount,
                    Id     = viewModel.Id
                };
                if (viewModel.Id == 0)
                {
                    documentSpecHandler.FillDocument(appContext.TrainingSpecs.Where(x => x.HeadId.Equals(viewModel.HeadId)).ToList());
                    spec.Order = documentSpecHandler.GetLastOrder();
                    await appContext.TrainingSpecs.AddAsync(spec);
                }
                else
                {
                    spec        = appContext.TrainingSpecs.Find(viewModel.Id);
                    spec.Set    = viewModel.Set;
                    spec.ExId   = viewModel.ExerciseId;
                    spec.Weight = viewModel.Weight;
                    spec.Amount = viewModel.Amount;
                    appContext.TrainingSpecs.Update(spec);
                }
                await appContext.SaveChangesAsync();

                int headId = viewModel.HeadId;
                return(RedirectToAction("ViewTrainingSpecs", new { headId = headId }));
            }
            else
            {
                viewModel.Exercises = exercises;
            }
            return(View(viewModel));
        }
コード例 #6
0
        public async Task <IActionResult> AddModifyTrainingSpecLine(TrainigSpecLineChangeViewModel viewModel)
        {
            ViewBag.Tittle = viewModel.Id == 0?localizer["TittleAdd"]:localizer["TittleModify"];

            if (viewModel == null)
            {
                ModelState.AddModelError("Incorrect TrainigSpecLineChangeViewModel", "Incorrect TrainigSpecLineChangeViewModel");
                return(RedirectToAction("List"));
            }

            var exercises = appContext.Exercises.ToList();

            if (!specValidator.IsSpecLineHasCorrectWeight(viewModel.ExerciseId, viewModel.Weight, exercises, out string shortMessage, out string longMessage))
            {
                ModelState.AddModelError(shortMessage, longMessage);
            }
            if (ModelState.IsValid)
            {
                if (viewModel.Id == 0)
                {
                    TrainingProgramSpec programSpec = new TrainingProgramSpec
                    {
                        HeadId = viewModel.HeadId,
                        ExId   = viewModel.ExerciseId,
                        Set    = viewModel.Set,
                        Weight = viewModel.Weight,
                        Amount = viewModel.Amount
                    };

                    await appContext.TrainingProgramSpecs.AddAsync(programSpec);

                    await appContext.SaveChangesAsync();
                }
                else
                {
                    TrainingProgramSpec programSpec = await appContext.TrainingProgramSpecs.FindAsync(viewModel.Id);

                    programSpec.ExId   = viewModel.ExerciseId;
                    programSpec.Set    = viewModel.Set;
                    programSpec.Weight = viewModel.Weight;
                    programSpec.Amount = viewModel.Amount;
                    appContext.Update(programSpec);
                    await appContext.SaveChangesAsync();
                }

                return(View("TrainingSpecList", Getmodel(viewModel.HeadId)));
            }
            viewModel.Exercises = exercises;
            return(View(viewModel));
        }