public IActionResult UpdatePatient(Guid Id, [FromBody] PatientRequestDto patientRequest) { var patient = _patientRepository.GetPatientById(Id); if (patient == null) { return(NotFound("No such patient exists")); } if (!ModelState.IsValid) { return(BadRequest("Invalid JSON")); } patient.First_Name = patientRequest.First_Name; patient.Last_Name = patientRequest.Last_Name; patient.Gender = patientRequest.Gender; patient.Date_Of_Birth = patientRequest.Date_Of_Birth; patient.Email = patientRequest.Email; patient.Phone = patientRequest.Phone; patient.Is_Active = patientRequest.Is_Active; patient.Updated_At = DateTime.UtcNow; _patientRepository.UpdatePatient(Id, patient); return(Ok(patient)); }
public async Task <IActionResult> AddPatient([FromBody] PatientRequestDto patientRequestDto) { if (String.IsNullOrEmpty(patientRequestDto.StudyRequests[0].EstimatedEndTime)) { patientRequestDto.StudyRequests[0].EstimatedEndTime = null; } var resultModel = new ServiceResultModel <Patient> { IsSuccess = false, Errors = new List <string>() }; var patientExsists = _patientRepository.Any(p => p.PatientName == patientRequestDto.PatientName); if (patientExsists) { return(BadRequest("Patient already exsits")); } var newPatient = _patientRepository.Add(new Patient { PatientName = patientRequestDto.PatientName, DOB = patientRequestDto.DOB, PatientSexId = patientRequestDto.PatientSex, RoomId = (int)patientRequestDto.RoomNameId, }); var saved = (newPatient != null) ? await _unitOfWork.CommitAsync() : 0; var newDoctorPatient = _doctorPatientRepository.Add(new DoctorPatient { DoctorId = patientRequestDto.DoctorRequests[0].DoctorId, PatientId = newPatient.PatientId }); var doctorPatientSaved = (newDoctorPatient != null) ? await _unitOfWork.CommitAsync() : 0; var newStudy = _studyRepository.Add(new Study { PatientId = newPatient.PatientId, StudyStatusId = patientRequestDto.StudyRequests[0].StudyStatusId, DoctorId = patientRequestDto.DoctorRequests[0].DoctorId, PlannedStartTime = DateTime.Now.ToShortDateString(), EstimatedEndTime = patientRequestDto.StudyRequests[0].EstimatedEndTime, Descriptions = patientRequestDto.StudyRequests[0].Descriptions }); var savedStudy = (newStudy != null) ? await _unitOfWork.CommitAsync() : 0; var resultPatient = _patientRepository.GetById(newPatient.PatientId); if (saved > 0 && doctorPatientSaved > 0 && savedStudy > 0) { resultModel.IsSuccess = true; resultModel.Data = resultPatient; return(Ok(resultModel)); } return(Ok("No Patient Details found")); }
public IActionResult AddPatient([FromBody] PatientRequestDto patientRequest) { try { if (patientRequest == null) { return(BadRequest("Invalid JSON")); } if (!ModelState.IsValid) { return(BadRequest("Invalid JSON")); } var patient = new Patient() { Id = Guid.NewGuid(), First_Name = patientRequest.First_Name, Last_Name = patientRequest.Last_Name, Gender = patientRequest.Gender, Date_Of_Birth = patientRequest.Date_Of_Birth, Email = patientRequest.Email, Phone = patientRequest.Phone, Is_Active = patientRequest.Is_Active, Created_At = DateTime.UtcNow, Updated_At = DateTime.UtcNow }; var isPatientAdded = _patientRepository.AddPatient(patient); if (isPatientAdded) { return(Created("", patient)); } else { return(StatusCode(500, "Unexpected error happened. Please try after sometime")); } } catch (Exception) { return(StatusCode(500, "Unexpected error happened. Please try after sometime")); } }
public async Task <IActionResult> UpdatePatient([FromBody] PatientRequestDto patientRequestDto) { if (String.IsNullOrEmpty(patientRequestDto.StudyRequests[0].EstimatedEndTime)) { patientRequestDto.StudyRequests[0].EstimatedEndTime = null; } var patientDetails = await _patientRepository.FirstOrDefaultWithIncludeAsync(p => p.PatientId == patientRequestDto.PatientId, pt => pt.Include(p => p.DoctorPatients).Include(p => p.Room).Include(p => p.Studies).ThenInclude(x => x.Doctor)); if (patientDetails == null) { return(BadRequest("UserDetails does not exsists")); } var studyDetails = await _studyRepository.FirstOrDefaultWithIncludeAsync(s => s.PatientId == patientDetails.PatientId); studyDetails.StudyStatusId = patientRequestDto.StudyRequests[0].StudyStatusId; studyDetails.Descriptions = patientRequestDto.StudyRequests[0].Descriptions; studyDetails.EstimatedEndTime = patientRequestDto.StudyRequests[0].EstimatedEndTime; patientDetails.PatientName = patientRequestDto.PatientName; patientDetails.PatientSexId = patientRequestDto.PatientSex; patientDetails.Room.RoomTypeId = patientRequestDto.RoomNameId; var doctorPatientDetails = _doctorPatientRepository.FirstOrDefault(d => d.PatientId == patientDetails.PatientId); doctorPatientDetails.DoctorId = patientRequestDto.DoctorRequests[0].DoctorId; _doctorPatientRepository.Edit(doctorPatientDetails); _studyRepository.Edit(studyDetails); _patientRepository.Edit(patientDetails); var saved = await _unitOfWork.CommitAsync(); if (saved > 0) { return(Ok("Successfully Modified ")); } return(BadRequest("Could not modify ")); }