public async Task <ActionResult <PatientViewModel> > Put(Guid id, [FromBody] PatientRequestViewModel patientRequestViewModel) { if (!ModelState.IsValid) { return(BadRequest("Invalid JSON")); } try { _logger.LogInformation($"Update patient FirstName :{patientRequestViewModel.FirstName} "); var model = _mapper.Map <PatientModel>(patientRequestViewModel); model.Id = id; model = await _patientManager.UpdatePatientAsync(model); if (model == null) { return(NotFound("No such patient exists")); } var result = _mapper.Map <PatientViewModel>(model); return(Ok(result)); } catch (Exception e) { throw new HttpStatusCodeException(500, "Error happend when update a patient." + e.Message); } }
public async Task <IActionResult> Create(PatientRequestViewModel patientRequestView) { if (ModelState.IsValid) { var newPatient = _map.Map <Patient>(patientRequestView); newPatient.History = _map.Map <VisitHistory>(patientRequestView); var createdPatient = await _uow.Patients.CreateAsync(newPatient); await _uow.Save(); return(RedirectToAction(nameof(Index))); } return(View(patientRequestView)); }
public async Task PatientControllerPostSuccessTest() { var testRequestModel = new PatientRequestViewModel() { FirstName = "test", LastNanme = "test", Gender = Gender.male, DateOfBirth = new DateTime(2019, 1, 1), Email = "*****@*****.**", Phone = "04240521321", IsActive = false }; var model = _mapper.Map <PatientModel>(testRequestModel); _mockPatientManager.Setup(r => r.AddNewPatientAsync(model)).ReturnsAsync(model); var patientController = new PatientsController(_mockLogger.Object, _mockPatientManager.Object, _mapper); dynamic result = await patientController.Post(testRequestModel); Assert.AreEqual(201, result.Result.StatusCode); }
public async Task <ActionResult <PatientViewModel> > Post([FromBody] PatientRequestViewModel patientRequestViewModel) { if (!ModelState.IsValid) { return(BadRequest("Invalid JSON")); } try { _logger.LogInformation($"Add new patient FirstName :{patientRequestViewModel.FirstName} "); var model = _mapper.Map <PatientModel>(patientRequestViewModel); model = await _patientManager.AddNewPatientAsync(model); var result = _mapper.Map <PatientViewModel>(model); return(StatusCode(201, result)); } catch (Exception e) { throw new HttpStatusCodeException(500, "Error happend when create new patient." + e.Message); } }