Ejemplo n.º 1
0
        internal TrainingDay UpdateTrainingDay(TrainingDay trainingDay, TrainingDayScenario trainingDayScenario)
        {
            TrainingDay trainingDayResult = null;

            trainingDayResult = _trainingDayModule.Update(trainingDay, AppUtils.GetUserUnit(_userInfosService, trainingDay.UserId));
            SynchroManager.TrainingDayChange(DbContext, trainingDayResult);

            if (trainingDayScenario != null && trainingDayScenario.ManageExercise)
            {
                var trainingExerciseCriteria = new TrainingExerciseCriteria()
                {
                    UserId = new StringCriteria()
                    {
                        Equal = trainingDay.UserId
                    },
                    Year = new IntegerCriteria()
                    {
                        Equal = trainingDay.Year
                    },
                    WeekOfYear = new IntegerCriteria()
                    {
                        Equal = trainingDay.WeekOfYear
                    },
                    DayOfWeek = new IntegerCriteria()
                    {
                        Equal = trainingDay.DayOfWeek
                    },
                    TrainingDayId = new IntegerCriteria()
                    {
                        Equal = trainingDay.TrainingDayId
                    }
                };
                var trainingExercisesDb = _trainingExercisesService.FindTrainingExercise(trainingExerciseCriteria);
                if (trainingExercisesDb != null && trainingExercisesDb.Count > 0)
                {
                    foreach (var trainingExerciseDb in trainingExercisesDb)
                    {
                        //remove only training exercises who do not present (for keep exercise tempos: retrocompatibility)
                        if (trainingDay.TrainingExercises == null || !trainingDay.TrainingExercises.Any(te => te.Id == trainingExerciseDb.Id))
                        {
                            _trainingExercisesService.DeleteTrainingExercise(trainingExerciseDb);
                        }
                    }
                }

                if (trainingDay.TrainingExercises != null)
                {
                    trainingDayResult.TrainingExercises = new List <TrainingExercise>();
                    foreach (var trainingExercise in trainingDay.TrainingExercises)
                    {
                        trainingDayResult.TrainingExercises.Add(_trainingExercisesService.UpdateTrainingExercise(trainingExercise, true));
                    }
                }
            }

            return(trainingDayResult);
        }
        internal TrainingDay UpdateTrainingDay(TrainingDay trainingDay, TrainingDayScenario trainingDayScenario)
        {
            TrainingDay trainingDayResult = null;

            trainingDayResult = _trainingDayModule.Update(trainingDay);

            if (trainingDayScenario != null && trainingDayScenario.ManageExercise)
            {
                var trainingExerciseService = new TrainingExerciseService(DbContext);

                var trainingExerciseCriteria = new TrainingExerciseCriteria()
                {
                    UserId = new StringCriteria()
                    {
                        Equal = trainingDay.UserId
                    },
                    Year = new IntegerCriteria()
                    {
                        Equal = trainingDay.Year
                    },
                    WeekOfYear = new IntegerCriteria()
                    {
                        Equal = trainingDay.WeekOfYear
                    },
                    DayOfWeek = new IntegerCriteria()
                    {
                        Equal = trainingDay.DayOfWeek
                    },
                    TrainingDayId = new IntegerCriteria()
                    {
                        Equal = trainingDay.TrainingDayId
                    }
                };
                var trainingExercisesDb = trainingExerciseService.FindTrainingExercise(trainingExerciseCriteria);
                if (trainingExercisesDb != null && trainingExercisesDb.Count > 0)
                {
                    foreach (var trainingExerciseDb in trainingExercisesDb)
                    {
                        trainingExerciseService.DeleteTrainingExercise(trainingExerciseDb);
                    }
                }

                if (trainingDay.TrainingExercises != null)
                {
                    trainingDayResult.TrainingExercises = new List <TrainingExercise>();
                    foreach (var trainingExercise in trainingDay.TrainingExercises)
                    {
                        trainingDayResult.TrainingExercises.Add(trainingExerciseService.UpdateTrainingExercise(trainingExercise, true));
                    }
                }
            }

            return(trainingDayResult);
        }