Beispiel #1
0
        public override async Task <ViewModelQueryResult <WorkoutViewModel> > GetById(int id,
                                                                                      WorkoutOfmResourceParameters workoutOfmResourceParameters)
        {
            var ofmQueryResult = await ApiModelRepository.GetSingle(id, workoutOfmResourceParameters);

            var workoutViewModelQueryResult = new ViewModelQueryResult <WorkoutViewModel>();

            workoutViewModelQueryResult.HttpStatusCode = ofmQueryResult.HttpStatusCode;

            if ((int)ofmQueryResult.HttpStatusCode == 200)
            {
                workoutViewModelQueryResult.ViewModel =
                    Mapper.Map <WorkoutViewModel>(ofmQueryResult.OfmForGet);

                workoutViewModelQueryResult.ViewModel.MapsExerciseWorkout =
                    Mapper.Map <List <MapExerciseWorkoutViewModel> >(ofmQueryResult.OfmForGet.MapsExerciseWorkout);

                // Exercises
                var exerciseViewModelRepository = _exerciseViewModelRepository;

                var exerciseViewModelCollectionQueryResult
                    = await exerciseViewModelRepository.GetCollection(
                          new ExerciseOfmCollectionResourceParameters());

                workoutViewModelQueryResult.ViewModel.AllExercises
                    = exerciseViewModelCollectionQueryResult.ViewModelForGetCollection.ToList();
            }
            else
            {
                workoutViewModelQueryResult.ErrorMessagesPresented = ofmQueryResult.ErrorMessagesPresented;
            }

            // Done
            return(workoutViewModelQueryResult);
        }
Beispiel #2
0
        public async Task <ViewModelQueryResult <WorkoutHistoryViewModel> > Create(WorkoutHistoryOfmForPost workoutHistoryOfmForPost, bool includeExerciseHistories)
        {
            var ofmQueryResult = await _workoutHistoryApiModelRepository.Post(workoutHistoryOfmForPost, includeExerciseHistories);

            var workoutViewModelQueryResult = new ViewModelQueryResult <WorkoutHistoryViewModel>();

            workoutViewModelQueryResult.HttpStatusCode = ofmQueryResult.HttpStatusCode;

            if ((int)ofmQueryResult.HttpStatusCode == 201)
            {
                workoutViewModelQueryResult.ViewModel =
                    Mapper.Map <WorkoutHistoryViewModel>(ofmQueryResult.OfmForGet);
            }
            else
            {
                workoutViewModelQueryResult.ErrorMessagesPresented = ofmQueryResult.ErrorMessagesPresented;
            }

            return(workoutViewModelQueryResult);
        }
Beispiel #3
0
        public override async Task <ViewModelQueryResult <WorkoutHistoryViewModel> > GetById(int id, WorkoutHistoryOfmResourceParameters workoutHistoryOfmResourceParameters)
        {
            var ofmQueryResult = await _workoutHistoryApiModelRepository.GetSingle(id, workoutHistoryOfmResourceParameters);

            var workoutViewModelQueryResult = new ViewModelQueryResult <WorkoutHistoryViewModel>();

            workoutViewModelQueryResult.HttpStatusCode = ofmQueryResult.HttpStatusCode;

            if ((int)ofmQueryResult.HttpStatusCode == 200)
            {
                workoutViewModelQueryResult.ViewModel =
                    Mapper.Map <WorkoutHistoryViewModel>(ofmQueryResult.OfmForGet);

                foreach (var eH in ofmQueryResult.OfmForGet.ExerciseHistories)
                {
                    var relatedViewModelExerciseHistory = workoutViewModelQueryResult.ViewModel.ExerciseHistories.FirstOrDefault(f => f.Id == eH.Id);
                    if (relatedViewModelExerciseHistory != null)
                    {
                        if (relatedViewModelExerciseHistory.Exercise.ExerciseType == ExerciseTypeEnum.WeightLifting.ToString())
                        {
                            var historicWeightLiftingSets      = eH.PreviousExerciseHistory?.WeightLiftingSets?.OrderBy(o => o.Id).ToArray();
                            var currentWeightLiftingSets       = eH.WeightLiftingSets.OrderBy(o => o.Id).ToArray();
                            var historicWeightLiftingSetsCount = eH.PreviousExerciseHistory?.WeightLiftingSets?.Count();
                            var currentWeightLiftingSetsCount  = eH.WeightLiftingSets.Count();
                            var maxWeightLiftingSetsCount      = Math.Max(historicWeightLiftingSetsCount.GetValueOrDefault(), currentWeightLiftingSetsCount);

                            for (int i = 0; i < maxWeightLiftingSetsCount; i++)
                            {
                                var currentAndHistoricWeightLiftingSetPair = new ExerciseHistoryViewModel.CurrentAndHistoricWeightLiftingSetPair();
                                if (historicWeightLiftingSetsCount > i)
                                {
                                    currentAndHistoricWeightLiftingSetPair.HistoricWeightLiftingSet
                                        = Mapper.Map <WeightLiftingSetViewModel>(historicWeightLiftingSets[i]);
                                }

                                if (currentWeightLiftingSetsCount > i)
                                {
                                    currentAndHistoricWeightLiftingSetPair.CurrentWeightLiftingSet
                                        = Mapper.Map <WeightLiftingSetViewModel>(currentWeightLiftingSets[i]);
                                }
                                relatedViewModelExerciseHistory.CurrentAndHistoricWeightLiftingSetPairs.Add(currentAndHistoricWeightLiftingSetPair);
                            }
                        }

                        if (relatedViewModelExerciseHistory.Exercise.ExerciseType == ExerciseTypeEnum.Cardio.ToString())
                        {
                            var historicCardioSets      = eH.PreviousExerciseHistory?.CardioSets?.OrderBy(o => o.Id).ToArray();
                            var currentCardioSets       = eH.CardioSets.OrderBy(o => o.Id).ToArray();
                            var historicCardioSetsCount = eH.PreviousExerciseHistory?.CardioSets?.Count();
                            var currentCardioSetsCount  = eH.CardioSets.Count();
                            var maxCardioSetsCount      = Math.Max(historicCardioSetsCount.GetValueOrDefault(), currentCardioSetsCount);

                            for (int i = 0; i < maxCardioSetsCount; i++)
                            {
                                var currentAndHistoricCardioSetPair = new ExerciseHistoryViewModel.CurrentAndHistoricCardioSetPair();
                                if (historicCardioSetsCount > i)
                                {
                                    currentAndHistoricCardioSetPair.HistoricCardioSet
                                        = Mapper.Map <CardioSetViewModel>(historicCardioSets?[i]);
                                }

                                if (currentCardioSetsCount > i)
                                {
                                    currentAndHistoricCardioSetPair.CurrentCardioSet
                                        = Mapper.Map <CardioSetViewModel>(currentCardioSets[i]);
                                }
                                relatedViewModelExerciseHistory.CurrentAndHistoricCardioSetPairs.Add(currentAndHistoricCardioSetPair);
                            }
                        }
                    }
                }

                // Exercises
                var exerciseViewModelRepository = _exerciseHistoryViewModelRepository;

                var exerciseViewModelCollectionQueryResult
                    = await exerciseViewModelRepository.GetCollection(
                          new ExerciseOfmCollectionResourceParameters());

                workoutViewModelQueryResult.ViewModel.AllExercises
                    = exerciseViewModelCollectionQueryResult.ViewModelForGetCollection;
            }
            else
            {
                workoutViewModelQueryResult.ErrorMessagesPresented = ofmQueryResult.ErrorMessagesPresented;
            }

            // Done
            return(workoutViewModelQueryResult);
        }