public async Task <IEnumerable <TrainingToReturnViewModel> > HandleAsync(GetTrainingsQuery query, CancellationToken cancellationToken = default) { var coachId = httpContext.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier)?.Value; var sql = @"SELECT [Core].[Trainings].[Id], [Core].[Trainings].[RunnerId], [Core].[Trainings].[DateToDo], [Core].[Trainings].[Created], [Core].[Trainings].[IsDone], [dbo].[TraningDetails].[Details], [dbo].[TraningDetails].[Comment], [Core].[Runners].[FirstName], [Core].[Runners].[LastName], [Core].[Runners].[CoachId] FROM (([Core].[Trainings] INNER JOIN [dbo].[TraningDetails] ON [Core].[Trainings].[TraningDetailsId] = [dbo].[TraningDetails].[Id]) INNER JOIN [Core].[Runners] ON [Core].[Trainings].[RunnerId] = [Core].[Runners].[Id]) WHERE [Core].[Runners].[CoachId] = @coachId"; using (var connection = new SqlConnection(databaseProvider.ConnectionStrings.DefaultConnection)) { connection.Open(); return(await connection.QueryAsync <TrainingToReturnViewModel>(sql, new { coachId })); } }
public async Task <IActionResult> GetTrainings() { var query = new GetTrainingsQuery(); var result = await queryDispatcher.ExecuteAsync(query); return(Ok(result)); }