private void butApptProcs_Click(object sender, EventArgs e) { if (!MsgBox.Show(this, MsgBoxButtons.OKCancel, "This will fix procedure descriptions in the Appt module that aren't correctly showing tooth numbers.\r\nContinue?")) { return; } Cursor = Cursors.WaitCursor; //The ApptProcDescript region is also in FormProcEdit.SaveAndClose() and FormDatabaseMaintenance.butApptProcs_Click() Make any changes there as well. #region ApptProcDescript List <long> aptNums = new List <long>(); Appointment[] aptList = Appointments.GetForPeriod(DateTime.Now.Date.AddMonths(-6), DateTime.MaxValue.AddDays(-10)); for (int i = 0; i < aptList.Length; i++) { aptNums.Add(aptList[i].AptNum); } List <Procedure> procsMultApts = Procedures.GetProcsMultApts(aptNums); for (int i = 0; i < aptList.Length; i++) { Appointment newApt = aptList[i].Clone(); newApt.ProcDescript = ""; Procedure[] procsForOne = Procedures.GetProcsOneApt(aptList[i].AptNum, procsMultApts); string procDescript = ""; for (int j = 0; j < procsForOne.Length; j++) { ProcedureCode procCode = ProcedureCodes.GetProcCodeFromDb(procsForOne[j].CodeNum); if (j > 0) { procDescript += ", "; } switch (procCode.TreatArea) { case TreatmentArea.Surf: procDescript += "#" + Tooth.GetToothLabel(procsForOne[j].ToothNum) + "-" + procsForOne[j].Surf + "-"; //""#12-MOD-" break; case TreatmentArea.Tooth: procDescript += "#" + Tooth.GetToothLabel(procsForOne[j].ToothNum) + "-"; //"#12-" break; case TreatmentArea.Quad: procDescript += procsForOne[j].Surf + "-"; //"UL-" break; case TreatmentArea.Sextant: procDescript += "S" + procsForOne[j].Surf + "-"; //"S2-" break; case TreatmentArea.Arch: procDescript += procsForOne[j].Surf + "-"; //"U-" break; case TreatmentArea.ToothRange: break; default: //area 3 or 0 (mouth) break; } procDescript += procCode.AbbrDesc; } newApt.ProcDescript = procDescript; Appointments.Update(newApt, aptList[i]); } #endregion Cursor = Cursors.Default; MsgBox.Show(this, "Done. Please refresh Appt module to see the changes."); }