private void butOK_Click(object sender, System.EventArgs e) { if (textDateTL.errorProvider1.GetError(textDateTL) != "" ) { MessageBox.Show(Lan.g(this, "Please fix data entry errors first.")); return; } Cur.Descript = textDescript.Text; Cur.DateTL = PIn.Date(textDateTL.Text); Cur.DateType = (TaskDateType)listDateType.SelectedIndex; if (!checkFromNum.Checked) //user unchecked the box { Cur.FromNum = 0; } Cur.ObjectType = (TaskObjectType)listObjectType.SelectedIndex; Cur.GlobalTaskFilterType = comboGlobalFilter.GetSelected <GlobalTaskFilterType>(); try{ if (IsNew) { TaskLists.Insert(Cur); SecurityLogs.MakeLogEntry(Permissions.TaskListCreate, 0, Cur.Descript + " " + Lan.g(this, "added")); } else { TaskLists.Update(Cur); } } catch (Exception ex) { MessageBox.Show(ex.Message); return; } DialogResult = DialogResult.OK; }
private void butOK_Click(object sender, System.EventArgs e) { if (textDescription.Text == "") { MsgBox.Show(this, "Description not allowed to be blank."); return; } if (comboAction.SelectedIndex == -1) { MsgBox.Show(this, "Action not allowed to be blank."); return; } AutoCur.Description = textDescription.Text; AutoCur.Autotrigger = (AutomationTrigger)comboTrigger.SelectedIndex; //should never be <0 #region ProcCodes AutoCur.ProcCodes = ""; //set to correct proc code string below if necessary if (new[] { AutomationTrigger.CompleteProcedure, AutomationTrigger.ScheduleProcedure }.Contains(AutoCur.Autotrigger)) { if (textProcCodes.Text.Contains(" ")) { MsgBox.Show(this, "Procedure codes cannot contain any spaces."); return; } if (textProcCodes.Text == "") { MsgBox.Show(this, "Please enter valid procedure code(s) first."); return; } string strInvalidCodes = string.Join(", ", textProcCodes.Text.Split(',').Where(x => !ProcedureCodes.IsValidCode(x))); if (!string.IsNullOrEmpty(strInvalidCodes)) { MessageBox.Show(Lan.g(this, "The following procedure code(s) are not valid") + ": " + strInvalidCodes); return; } AutoCur.ProcCodes = textProcCodes.Text; } #endregion ProcCodes #region Automation Action //Dictionary linking actions to their associated sheet types and the string to add to the message box text. //Only valid for actions PrintPatientLetter, PrintReferralLetter, ShowExamSheet, and ShowConsentForm. Dictionary <AutomationAction, Tuple <SheetTypeEnum, string> > dictAutoActionSheetType = new Dictionary <AutomationAction, Tuple <SheetTypeEnum, string> >() { { AutomationAction.PrintPatientLetter, Tuple.Create(SheetTypeEnum.PatientLetter, "a patient letter") }, { AutomationAction.PrintReferralLetter, Tuple.Create(SheetTypeEnum.ReferralLetter, "a referral letter") }, { AutomationAction.ShowExamSheet, Tuple.Create(SheetTypeEnum.ExamSheet, "an exam sheet") }, { AutomationAction.ShowConsentForm, Tuple.Create(SheetTypeEnum.Consent, "a consent form") }, { AutomationAction.PrintRxInstruction, Tuple.Create(SheetTypeEnum.RxInstruction, "an Rx instruction sheet") } }; AutoCur.AutoAction = _listAutoActions[comboAction.SelectedIndex]; AutoCur.SheetDefNum = 0; AutoCur.CommType = 0; AutoCur.MessageContent = ""; AutoCur.AptStatus = ApptStatus.None; AutoCur.AppointmentTypeNum = 0; switch (AutoCur.AutoAction) { case AutomationAction.CreateCommlog: if (comboActionObject.SelectedIndex == -1) { MsgBox.Show(this, "A commlog type must be selected."); return; } AutoCur.CommType = _listCommLogTypeDefs[comboActionObject.SelectedIndex].DefNum; AutoCur.MessageContent = textMessage.Text; break; case AutomationAction.PopUp: case AutomationAction.PopUpThenDisable10Min: if (string.IsNullOrEmpty(textMessage.Text.Trim())) { MsgBox.Show(this, "The message cannot be blank."); return; } AutoCur.MessageContent = textMessage.Text; break; case AutomationAction.PrintPatientLetter: case AutomationAction.PrintReferralLetter: case AutomationAction.ShowExamSheet: case AutomationAction.ShowConsentForm: case AutomationAction.PrintRxInstruction: if (comboActionObject.SelectedIndex == -1) { MsgBox.Show(this, "A sheet definition must be selected."); return; } List <SheetDef> listSheets = SheetDefs.GetDeepCopy().FindAll(x => !SheetDefs.IsDashboardType(x)); if (listSheets[comboActionObject.SelectedIndex].SheetType != dictAutoActionSheetType[AutoCur.AutoAction].Item1) { MessageBox.Show(this, Lan.g(this, "The selected sheet type must be") + " " + dictAutoActionSheetType[AutoCur.AutoAction].Item2 + "."); return; } AutoCur.SheetDefNum = listSheets[comboActionObject.SelectedIndex].SheetDefNum; break; case AutomationAction.SetApptASAP: break; case AutomationAction.SetApptType: if (comboActionObject.SelectedIndex == -1) { MsgBox.Show(this, "An appointment type must be selected."); return; } AutoCur.AppointmentTypeNum = _listAptTypes[comboActionObject.SelectedIndex].AppointmentTypeNum; break; case AutomationAction.ChangePatStatus: if (comboAction.SelectedIndex == -1) { MsgBox.Show(this, "A patient status must be selected."); return; } AutoCur.PatStatus = comboActionObject.GetSelected <PatientStatus>(); break; } #endregion Automation Action Automations.Update(AutoCur); //Because always inserted before opening this form. DialogResult = DialogResult.OK; }