Ejemplo n.º 1
0
        private async Task SavePatient()
        {
            var patient = !NewPatient
        ? await _patientsService.GetPatientAsync(_patientID.Value)
        : new Patient();

            patient.Name       = nameTextBox.Text.TrimLowerCapitalizeFirstLetter();
            patient.Surname    = surnameTextBox.Text.TrimLowerCapitalizeFirstLetter();
            patient.SecondName = secnameTextBox.Text.TrimLowerCapitalizeFirstLetter();

            patient.PhoneNumber = phoneNumberTextBox.Text != @"+375 (  )    -"
        ? phoneNumberTextBox.Text
        : null;

            patient.Address   = addressTextBox.Text;
            patient.Diagnosis = diagnosisTextBox.Text;

            patient.LastVisitDate = lastVisitDatePicker.Value;
            patient.BirthDate     = dateOfBirthPicker.Value;

            patient.Gender  = maleRadioButton.Checked ? Gender.Male : Gender.Female;
            patient.Storage = (Storage)storageComboBox.SelectedIndex;

            patient.Description = descriptionTextBox.Text;

            _patientPicturesManager.ApplyChanges();

            if (NewPatient)
            {
                patient.Diary    = _diary;
                patient.Teeth    = _patientTeeth;
                patient.Payments = _payments;
                patient          = await _patientsService.AddPatientAsync(patient);

                await _dentalRecordsService.AddPatientDentalRecordsAsync(_dentalRecords);

                _patientPicturesManager.MoveDisplayedPicturesToPatientDirectory(patient.ID);
            }
            else
            {
                await _diaryRecordsService.UpdatePatientDairyRecordsAsync(patient, _diary);

                await _dentalRecordsService.UpdatePatientDentalRecordsAsync(patient, _dentalRecords);

                await _patientTeethService.UpdatePatientTeethAsync(patient, _patientTeeth);

                await _paymentsService.UpdatePatientPaymentsAsync(patient, _payments);

                await _patientsService.UpdatePatientAsync(patient);
            }
        }