Ejemplo n.º 1
0
        public async Task <bool> Handle(LoadMnchFromEmrCommand request, CancellationToken cancellationToken)
        {
            var extractIds = request.Extracts.Select(x => x.Extract.Id).ToList();

            await _mediator.Send(new ClearAllMnchExtracts(extractIds), cancellationToken);


            var patientProfile = request.Extracts.FirstOrDefault(x => x.Extract.IsPriority);

            //Generate extract patient command
            if (patientProfile != null)
            {
                var extractPatient = new ExtractPatientMnch()
                {
                    //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));
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Load([FromBody] ExtractPatientMnch request)
        {
            if (!request.IsValid())
            {
                return(BadRequest());
            }

            var result = await _mediator.Send(request, HttpContext.RequestAborted);

            return(Ok(result));
        }