private List <PatientDto> GetPatientDtos()
        {
            var dtos     = new List <PatientDto>();
            var patients = patientService.GetAllPatients().ToList();

            foreach (var patient in patients)
            {
                var dto = new PatientDto();
                dto.Patient = patient;

                var bill = patientService.GetPatientBill()?.ToList()?.Find(x => x.PatientId == patient.Id);
                dto.Patient.Bill = bill;

                dto.SelectedTestTitles = new List <TestTitles>();
                var testResults = testService.GetTestResults().Where(x => x.PatientId == patient.Id).ToList();
                if (testResults != null && testResults.Count > 0)
                {
                    foreach (var testResult in testResults)
                    {
                        var testTitle = testService.GetTestTitle(testResult.TitleId);
                        if (!dto.SelectedTestTitles.Contains(testTitle))
                        {
                            dto.SelectedTestTitles.Add(testTitle);
                        }
                    }
                }

                dtos.Add(dto);
            }

            return(dtos);
        }
        public ActionResult UpdateTestTitle(TestTitleDto testTitleDto)
        {
            if (testTitleDto != null)
            {
                try
                {
                    var testTitleFromDb = testsService.GetTestTitle(testTitleDto.Id);
                    if (testTitleFromDb != null)
                    {
                        var convertedTestTitle = testTitleDto.GetTestTitle(testTitleFromDb, testTitleDto);
                        testsService.UpdateTestTitle(convertedTestTitle);
                    }
                    else
                    {
                        throw new Exception("The test title does not exist");
                    }
                }
                catch (Exception e)
                {
                    Program.Logger.Error(e);
                    return(Ok(GetResponse(ResponseType.FAIL, ResponseStatusCode.FAIL, GetError(ErrorCodes.dataNotFound, "Failed", "Error occurred while updating the test title"))));
                }

                return(Ok(GetResponse(ResponseType.ACK, ResponseStatusCode.SUCCESS)));
            }
            else
            {
                return(BadRequest(GetResponse(ResponseType.ERROR, ResponseStatusCode.ERROR, GetError(ErrorCodes.invalidData, "Invalid input", "Please enter proper test title details"))));
            }
        }