Example #1
0
        private void butOK_Click(object sender, EventArgs e)
        {
            if (textDateExpiration.errorProvider1.GetError(textDateExpiration) != "")
            {
                MessageBox.Show(Lan.g(this, "Please fix data entry errors first."));
                return;
            }
            VaccineCompletionStatus vaccineCompletionStatus = (VaccineCompletionStatus)listCompletionStatus.SelectedIndex;

            if (comboVaccine.SelectedIndex == -1 && vaccineCompletionStatus != VaccineCompletionStatus.NotAdministered)
            {
                //When the vaccine is not administered, the CVX code is automatically assumed to be 998 and there is no manufacturer.  Therefore, no vaccine def is needed.
                MessageBox.Show(this, "Please select a vaccine.");
                return;
            }
            if (vaccineCompletionStatus == VaccineCompletionStatus.NotAdministered)
            {
                if (textNote.Text == "")
                {
                    MessageBox.Show(this, "Please enter documentation in the note.");
                    return;
                }
                VaccinePatCur.VaccineDefNum = 0;              //Written for clarity
            }
            else
            {
                VaccinePatCur.VaccineDefNum = _listVaccineDefs[comboVaccine.SelectedIndex].VaccineDefNum;
            }
            try {
                VaccinePatCur.DateTimeStart = PIn.DateT(textDateTimeStart.Text);
                VaccinePatCur.DateTimeEnd   = PIn.DateT(textDateTimeStop.Text);
            }
            catch {
                MessageBox.Show(this, "Please enter start and end times in format DD/MM/YYYY HH:mm AM/PM");
            }
            if (textAmount.Text == "")
            {
                VaccinePatCur.AdministeredAmt = 0;
            }
            else
            {
                try {
                    VaccinePatCur.AdministeredAmt = PIn.Float(textAmount.Text);
                }
                catch {
                    MessageBox.Show(this, "Please enter a valid amount.");
                }
            }
            if (comboUnits.SelectedIndex == 0)           //'none'
            {
                VaccinePatCur.DrugUnitNum = 0;
            }
            else
            {
                VaccinePatCur.DrugUnitNum = _listDrugUnits[comboUnits.SelectedIndex - 1].DrugUnitNum;
            }
            VaccinePatCur.LotNumber        = textLotNum.Text;
            VaccinePatCur.DateExpire       = PIn.Date(textDateExpiration.Text);
            VaccinePatCur.RefusalReason    = (VaccineRefusalReason)listRefusalReason.SelectedIndex;
            VaccinePatCur.CompletionStatus = (VaccineCompletionStatus)listCompletionStatus.SelectedIndex;
            VaccinePatCur.Note             = textNote.Text;
            VaccinePatCur.FilledCity       = textFilledCity.Text;
            VaccinePatCur.FilledST         = textFilledSt.Text;
            //VaccinePatCur.UserNum;//Was set when loading and cannot be edited by the user.
            VaccinePatCur.ProvNumOrdering        = _provNumSelectedOrdering;
            VaccinePatCur.ProvNumAdminister      = _provNumSelectedAdministering;
            VaccinePatCur.AdministrationRoute    = (VaccineAdministrationRoute)comboAdministrationRoute.SelectedIndex;
            VaccinePatCur.AdministrationSite     = (VaccineAdministrationSite)comboAdministrationSite.SelectedIndex;
            VaccinePatCur.AdministrationNoteCode = (VaccineAdministrationNote)listAdministrationNote.SelectedIndex;
            VaccinePatCur.ActionCode             = (VaccineAction)listAction.SelectedIndex;
            if (IsNew)
            {
                VaccinePats.Insert(VaccinePatCur);
            }
            else
            {
                VaccinePats.Update(VaccinePatCur);
            }
            //We must delete then update/insert the observations after we insert the vaccinepat record, in case the vaccinepat is new.
            VaccineObses.DeleteForVaccinePat(VaccinePatCur.VaccinePatNum);
            for (int i = 0; i < _listVaccineObservations.Count; i++)
            {
                VaccineObs vaccineObs = _listVaccineObservations[i];
                vaccineObs.VaccinePatNum = VaccinePatCur.VaccinePatNum;
                VaccineObses.Insert(vaccineObs);
            }
            //Update the vaccine observation group ids, now that the vaccine observation records have been inserted.
            for (int i = 0; i < _listVaccineObservations.Count; i++)
            {
                VaccineObs vaccineObs = _listVaccineObservations[i];
                vaccineObs.VaccineObsNumGroup = _listVaccineObservationGroups[i].VaccineObsNum;
                VaccineObses.Update(vaccineObs);
            }
            DialogResult = DialogResult.OK;
        }