public IWorkoutViewModel[] GetWorkOuts(ISessionViewModel session)
        {
            var sessionDefinition = _sessionDefinitionRepository
                                    .GetSessionDefinitions()
                                    .First(f => f.SessionDefinitonId == session.SessionDefinitionId);
            var assignments        = _workoutAssignmentRepository.GetAssignments(sessionDefinition);
            var workOutDefinitions = _workOutDefinitionRepository.GetWorkOutDefinitions(assignments);

            using (var connection = DependencyService.Get <ISQLite>().GetConnection())
            {
                return(connection
                       .Query <WorkOutRow>("SELECT * FROM WorkOut WHERE SessionId = ?", session.SessionId)
                       .Select(workOut => CreateWorkOutFromWorkOutRow(workOut, workOutDefinitions.FirstOrDefault(f => f.WorkOutId == workOut.WorkOutDefinitionId)))
                       .ToArray());
            }
        }
Exemple #2
0
 public ISessionDefinitionViewModel[] GetSessionDefinitions()
 {
     using (var connection = DependencyService.Get <ISQLite>().GetConnection())
     {
         return(connection.Query <SessionDefinitionRow>("SELECT * FROM SessionDefinition ORDER BY SessionOrder")
                .Select(s =>
         {
             var newSessionDefinitionViewModel = App.Container.Resolve <ISessionDefinitionViewModel>();
             newSessionDefinitionViewModel.SessionDefinitonId = s.SessionDefinitonId;
             newSessionDefinitionViewModel.SessionName = s.SessionName;
             newSessionDefinitionViewModel.SessionOrder = s.SessionOrder;
             foreach (var workoutAssignment in _workOutAssignmentRepository.GetAssignments(newSessionDefinitionViewModel))
             {
                 newSessionDefinitionViewModel.WorkOutDefinitions.Add(workoutAssignment);
             }
             return newSessionDefinitionViewModel;
         }).ToArray());
     }
 }