Exemplo n.º 1
0
        public async Task <UpdateMedicalRecordRes> UpdateBloodTests(BloodTests result, string mRecordId)
        {
            try
            {
                var medicalRecordRaw = await _medicalRecordRepository.GetMedicalRecordById(mRecordId);

                if (medicalRecordRaw != null)
                {
                    var medicalRecord = Helper.AutoDTO <MedicalRecord, MedicalRecordModel>(medicalRecordRaw);
                    var user          = _userService.GetUserById(medicalRecord.Details.BloodTests.DoctorId);
                    if (medicalRecord.Details.BloodTests == null)
                    {
                        medicalRecord.Details.BloodTests = result;
                    }
                    if (!medicalRecord.Details.BloodTests.IsRegistered || user == null)
                    {
                        return(null);
                    }
                    if (user != null)
                    {
                        medicalRecordRaw.ServiceUsed++;
                    }
                    medicalRecord.Details.BloodTests = result;
                    FinishExamination(medicalRecordRaw);
                    medicalRecordRaw.Details = Helper.AutoDTO <MedicalRecordDetails, string>(medicalRecord.Details);
                    return(await _medicalRecordRepository.UpdateMedicalRecord(medicalRecordRaw));
                }
                return(null);
            }
            catch (Exception)
            {
                return(null);
            }
        }
        public async Task <IActionResult> UpdateBloodTests([FromBody] BloodTests result, string mRecordId)
        {
            if (ModelState.IsValid)
            {
                var response = await _medicalRecordService.UpdateBloodTests(result, mRecordId);

                if (response != null)
                {
                    return(Ok(response));
                }
            }
            return(BadRequest());
        }