public async Task <IActionResult> AddPNCVisitDetails([FromBody] AddPNCVisitCommand command) { var response = await _mediator.Send(command, Request.HttpContext.RequestAborted); if (response.IsValid) { return(Ok(response.Value)); } return(BadRequest(response)); }
public async Task <Result <AddPNCVisitResponse> > Handle(AddPNCVisitCommand request, CancellationToken cancellationToken) { try { //PatientMasterVisitService patientMasterVisitService = new PatientMasterVisitService(_commonUnitOfWork); //PatientEncounterService patientEncounterService = new PatientEncounterService(_commonUnitOfWork); //LookupLogic lookupLogic = new LookupLogic(_commonUnitOfWork); VisitDetailsService visitDetailsService = new VisitDetailsService(_unitOfWork); //var patientMasterVisit = await patientMasterVisitService.Add(request.PatientId, 1, DateTime.Today, 0, request.VisitDate, request.VisitDate, 0, 0, request.VisitType, 0); //var encounterTypeId = await lookupLogic.GetLookupIdbyName(request.EncounterType); //var encounter = await patientEncounterService.Add(request.PatientId, encounterTypeId, patientMasterVisit.Id, DateTime.Now, DateTime.Now, request.ServiceAreaId, request.UserId); PatientProfile patientProfile = new PatientProfile() { PatientId = request.PatientId, PatientMasterVisitId = request.PatientMasterVisitId, VisitType = request.VisitType, CreatedBy = (request.UserId < 1) ? 1 : request.UserId, CreateDate = DateTime.Now, DaysPostPartum = request.DaysPostPartum, VisitNumber = request.VisitNumber, AgeMenarche = request.AgeMenarche }; var profile = await visitDetailsService.AddPatientProfile(patientProfile); return(Result <AddPNCVisitResponse> .Valid(new AddPNCVisitResponse { ProfileId = profile.Id })); } catch (Exception ex) { Log.Error("An error occured while adding PNC patient visit details", ex); return(Result <AddPNCVisitResponse> .Invalid(ex.Message)); } }