public async Task <IActionResult> PostAsync([FromBody] SaveAppointmentResource resource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }

            //if appointment is created first time for a patient, create his medical record

            MedicalRecord medicalRecordForPatient = _medicalRecordService.GetByPatient(resource.PatientId);

            if (medicalRecordForPatient == null)
            {
                SaveMedicalRecordResource resource1 = new SaveMedicalRecordResource();
                resource1.Identifer   = DateTime.Now.Year.ToString() + DateTime.Now.Month.ToString() + DateTime.Now.Day.ToString() + "_" + resource.PatientId.ToString();
                resource1.PatientId   = resource.PatientId;
                resource1.Established = DateTime.Now;
                var medicalRecord = _mapper.Map <SaveMedicalRecordResource, MedicalRecord>(resource1);
                await _medicalRecordService.SaveAsync(medicalRecord).ConfigureAwait(false);
            }

            var appointment = _mapper.Map <SaveAppointmentResource, Appointment>(resource);
            var result      = await _appointmentService.SaveAsync(appointment).ConfigureAwait(false);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }

            var appointmentResource = _mapper.Map <Appointment, AppointmentResource>(result.Appointment);

            return(Ok(appointmentResource));
        }
Beispiel #2
0
        public async Task <IActionResult> PutAsync(int id, [FromBody] SaveMedicalRecordResource resource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }

            var medicalRecord = _mapper.Map <SaveMedicalRecordResource, MedicalRecord>(resource);
            var result        = await _medicalRecordService.UpdateAsync(id, medicalRecord);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }

            var medicalRecordResource = _mapper.Map <MedicalRecord, MedicalRecordResource>(result.MedicalRecord);

            return(Ok(medicalRecordResource));
        }
        public async Task <ActionResult> SaveByProfileId(int profileId, int personId, int petId, int providerId, [FromBody] SaveMedicalRecordResource resource)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState.GetErrorMessages()));
            }



            var medicalrecord = _mapper.Map <SaveMedicalRecordResource, MedicalRecord>(resource);
            var result        = await _medicalrecordService.SaveByProfileIdAsync(profileId, medicalrecord);

            if (!result.Success)
            {
                return(BadRequest(result.Message));
            }
            var MedicalRecordResource = _mapper.Map <MedicalRecord, MedicalRecordResource>(result.MedicalRecord);

            return(Ok(MedicalRecordResource));
        }