예제 #1
0
        protected override IEnumerable <PrescribedMedicationDetails> Execute(FindPrescribedMedicationsByPrescription query, IDbConnection connection)
        {
            var expressions = connection.Expressions();

            return(connection.Query <PrescribedMedicationDetails>(SqlScripts.FindPrescribedMedicationsByPrescription.Replace("@", expressions.ParameterPrefix()),
                                                                  new { PrescriptionId = query.PrescriptionIdentifier }));
        }
예제 #2
0
        public async Task HandleAsync_WhenCalled_ReturnsValidResults(FindPrescribedMedicationsByPrescription query, IEnumerable <PrescribedMedicationDetails> expectedResults)
        {
            // Arrange
            this.fixture.ExecuteScriptFromResources("FindPrescribedMedicationsByPrescription");
            var handler = new PrescribedMedicationsByPrescriptionFinder(this.fixture.ConnectionFactory);
            // Act
            var results = await handler.HandleAsync(query);

            // Assert
            results.Should().BeEquivalentTo(expectedResults);
        }
        protected override Task <IEnumerable <PrescribedMedicationDetails> > ExecuteAsync(FindPrescribedMedicationsByPrescription query,
                                                                                          IDbConnection connection,
                                                                                          CancellationToken cancellationToken = default)
        {
            var expressions = connection.Expressions();

            return(connection.QueryAsync <PrescribedMedicationDetails>
                   (
                       new CommandDefinition
                       (
                           SqlScripts.FindPrescribedMedicationsByPrescription.Replace("@", expressions.ParameterPrefix()),
                           new { PrescriptionId = query.PrescriptionIdentifier },
                           cancellationToken: cancellationToken
                       )
                   ));
        }