public async Task <ActionResult <bool> > RunRegistrationRules([FromBody] PatientDTO registrationDTO) { bool commandResult = false; var command = new RunRegistrationRulesCommand(registrationDTO.FirstName, registrationDTO.LastName, registrationDTO.BirthDate, registrationDTO.Gender); _logger.LogInformation("-----Sending command: RunRegistrationRulesCommand"); commandResult = await _mediatr.Send(command); if (!commandResult) { return(BadRequest()); } return(Ok()); }
public async Task Handle(RegistrationReceivedIntegrationEvent @event) { using (LogContext.PushProperty("IntegrationEventContext", $"{@event.Id}-{QAService.API.Program.AppName}")) { _logger.LogInformation("----- Handling integration event: {IntegrationEventId} at {AppName} - ({@IntegrationEvent})", @event.Id, QAService.API.Program.AppName, @event); if (await _grpcClientService.ClientFacilitySubscribesToModuleByFacilityId(@event.ClientId, @event.FacilityId)) { try { Adt adt = await _grpcRegistrationService.RegistrationDataById(@event.DocumentId, @event.ClientId); bool commandResult = false; string[] format = { "yyyyMMdd" }; DateTime date; DateTime.TryParseExact(adt.content.PID[0].dateTimeBirth, format, System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, out date); var command = new RunRegistrationRulesCommand(adt.content.PID[0].patientName[0].firstName, "", adt.content.PID[0].patientName[0].lastName, date, adt.content.PID[0].sex, adt.PatientId, adt.PatientVisitId, adt.PatientTransactionId, adt.ClientId); _logger.LogInformation("-----Sending command: RunRegistrationRulesCommand"); commandResult = await _mediatr.Send(command); } catch (Exception e) { Console.WriteLine("Error: " + e.Message); } } await Task.CompletedTask; } }