public async Task <bool> Handle(LoadFromEmrCommand request, CancellationToken cancellationToken) { var extractIds = request.Extracts.Select(x => x.Extract.Id).ToList(); await _mediator.Send(new ClearAllExtracts(extractIds), cancellationToken); var patientProfile = request.Extracts.FirstOrDefault(x => x.Extract.IsPriority); //Generate extract patient command if (patientProfile != null) { var extractPatient = new ExtractPatient() { //todo check if extracts from all emrs are loaded Extract = patientProfile.Extract, DatabaseProtocol = patientProfile.DatabaseProtocol }; var result = await _mediator.Send(extractPatient, cancellationToken); if (!result) { return(false); } } return(await ExtractAll(request, cancellationToken)); }
public async Task <IActionResult> Load([FromBody] ExtractPatient request) { if (!ModelState.IsValid) { return(BadRequest()); } var result = await _mediator.Send(request, HttpContext.RequestAborted); return(Ok(result)); }