Example #1
0
 public TrainingSet(string name, TrainingSettings training, TrainingDataSettings trainingData, TrainingNetworkSettings network)
 {
     Name         = name;
     Training     = training;
     TrainingData = trainingData;
     Network      = network;
 }
        public TrainingDataTainingDetailsModel GetTrainingDataForPeriod(int userId,
                                                                        int period,
                                                                        DateTime now, TrainingDataSettings
                                                                        settings)
        {
            var trainingDataTainingDetailsModel = new TrainingDataTainingDetailsModel();

            Types.MeasurementInfoTypes type;
            Enum.TryParse(settings.MeasurmentType.ToString(), out type);
            var periodTrainingDataStrategy     = DataUtils.GetPeriodTrainingDataStrategy(userId, period);
            var numericCalculationTypeStrategy = _calculationStrategies[settings.MesurmentInfoCalculationType];

            var sessions = TrainingSessionRepository.GetAsQueryable <TrainingSession>().ToList()
                           .Where(d => d.UserId == userId && periodTrainingDataStrategy.IsInLowerTimeBound(d))
                           .ToList();

            var measurements = GetMeasurementInfoSummary(now, periodTrainingDataStrategy, numericCalculationTypeStrategy, periodTrainingDataStrategy.NumberOfRecords,
                                                         DataUtils.MeasurmentPropertySelectors[type], sessions);

            var activities = GetActivityInfoSummary(now, periodTrainingDataStrategy.NumberOfRecords,
                                                    periodTrainingDataStrategy,
                                                    numericCalculationTypeStrategy,
                                                    settings.SelectedActivitiesTypes.Cast <Types.TrainingType>().ToList(), sessions);

            var efforts = GetEffortSummary(now, periodTrainingDataStrategy,
                                           numericCalculationTypeStrategy,
                                           periodTrainingDataStrategy.NumberOfRecords, sessions);

            // NormalizeAllArrayValues(activities, measurements, efforts);
            if (measurements != null)
            {
                trainingDataTainingDetailsModel.Measurments = measurements.ToList();
            }
            if (activities != null)
            {
                trainingDataTainingDetailsModel.Activities = AddaptActivityDataFillOnlyOne(activities, periodTrainingDataStrategy.NumberOfRecords);
            }
            if (efforts != null)
            {
                trainingDataTainingDetailsModel.Efort = efforts.ToList();
            }

            trainingDataTainingDetailsModel.Activities.Reverse();
            trainingDataTainingDetailsModel.Efort.Reverse();
            trainingDataTainingDetailsModel.Measurments.Reverse();


            return(trainingDataTainingDetailsModel);
        }