Ejemplo n.º 1
0
        public async Task <IActionResult> AddAssessmentVisitDetail([FromBody] RiskAssessmentVisitDetailCommand command)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.Values.Select(x => x.Errors)));
            }

            var response = await _mediator.Send(command, HttpContext.RequestAborted);

            if (!response.IsValid)
            {
                return(BadRequest(response));
            }

            return(Ok(response.Value));
        }
Ejemplo n.º 2
0
        public async Task <Result <RiskAssessmentResponse> > Handle(RiskAssessmentVisitDetailCommand request, CancellationToken cancellationToken)
        {
            try
            {
                if (request.PatientMasterVisitId > 0)
                {
                    int PatientMasterVisitId = request.PatientMasterVisitId;



                    if (request.riskAssessments.Count > 0)
                    {
                        foreach (var ra in request.riskAssessments)
                        {
                            var RiskAssessments = await _prepUnitOfWork.Repository <RiskAssessment>().Get(x => x.PatientMasterVisitId == PatientMasterVisitId && x.PatientId == request.PatientId &&
                                                                                                          x.Id == ra.Id).ToListAsync();


                            if (RiskAssessments != null && RiskAssessments.Count > 0)
                            {
                                foreach (var rass in RiskAssessments)
                                {
                                    rass.DeleteFlag          = ra.DeleteFlag;
                                    rass.RiskAssessmentId    = ra.RiskAssessmentid;
                                    rass.RiskAssessmentValue = ra.Value;
                                    rass.AssessmentDate      = ra.Date;
                                    rass.Comment             = ra.Comment;
                                    _prepUnitOfWork.Repository <RiskAssessment>().Update(rass);

                                    await _prepUnitOfWork.SaveAsync();
                                }
                            }
                            else
                            {
                                RiskAssessment riskass = new RiskAssessment();
                                riskass.PatientMasterVisitId = PatientMasterVisitId;
                                riskass.PatientId            = request.PatientId;
                                riskass.RiskAssessmentId     = ra.RiskAssessmentid;
                                riskass.RiskAssessmentValue  = ra.Value;
                                riskass.DeleteFlag           = ra.DeleteFlag;
                                riskass.CreateDate           = DateTime.Now;
                                riskass.Comment        = ra.Comment;
                                riskass.AssessmentDate = ra.Date;
                                await _prepUnitOfWork.Repository <RiskAssessment>().AddAsync(riskass);

                                await _prepUnitOfWork.SaveAsync();
                            }
                        }
                        _prepUnitOfWork.Save();

                        message += "The Risk Assessment Form Has Been Updated";
                    }

                    if (request.ClinicalNotes.Count > 0)
                    {
                        foreach (var clinicalnotes in request.ClinicalNotes)
                        {
                            var clinicalNotes = await _prepUnitOfWork.Repository <PatientClinicalNotes>().Get(x => x.PatientMasterVisitId == PatientMasterVisitId && x.PatientId == request.PatientId &&
                                                                                                              x.Id == clinicalnotes.Id).ToListAsync();

                            if (clinicalNotes != null && clinicalNotes.Count > 0)
                            {
                                foreach (var clinicaln in clinicalNotes)
                                {
                                    clinicaln.ClinicalNotes        = clinicalnotes.Comment;
                                    clinicaln.CreatedBy            = request.UserId;
                                    clinicaln.CreateDate           = DateTime.Now;
                                    clinicaln.DeleteFlag           = clinicalnotes.DeleteFlag;
                                    clinicaln.ServiceAreaId        = clinicaln.ServiceAreaId;
                                    clinicaln.PatientId            = request.PatientId;
                                    clinicaln.PatientMasterVisitId = PatientMasterVisitId;



                                    _prepUnitOfWork.Repository <PatientClinicalNotes>().Update(clinicaln);

                                    await _prepUnitOfWork.SaveAsync();
                                }
                            }
                            else
                            {
                                if (!String.IsNullOrEmpty(clinicalnotes.Comment))
                                {
                                    PatientClinicalNotes pcn = new PatientClinicalNotes();
                                    pcn.ClinicalNotes        = clinicalnotes.Comment;
                                    pcn.CreatedBy            = request.UserId;
                                    pcn.CreateDate           = DateTime.Now;
                                    pcn.DeleteFlag           = clinicalnotes.DeleteFlag;
                                    pcn.ServiceAreaId        = clinicalnotes.ServiceAreaId;
                                    pcn.PatientId            = request.PatientId;
                                    pcn.PatientMasterVisitId = PatientMasterVisitId;

                                    await _prepUnitOfWork.Repository <PatientClinicalNotes>().AddAsync(pcn);

                                    await _prepUnitOfWork.SaveAsync();
                                }
                            }
                            _prepUnitOfWork.Save();
                        }
                    }
                }

                return(Result <RiskAssessmentResponse> .Valid(new RiskAssessmentResponse
                {
                    PatientMasterVisitId = pmvId,
                    Message = message
                }));
            }
            catch (Exception ex)
            {
                {
                    string message = $"An error  has Occured" + ex.Message;


                    return(await Task.FromResult(Result <RiskAssessmentResponse> .Invalid(message)));
                }
            }
        }