private void btnSave_Click(object sender, EventArgs e)
 {
     if (PEMRBusinessLogic.ActivePEMRObject != null)
     {
         if (PEMRBusinessLogic.ActivePEMRObject.List_VisitTiming_TreatmentPlan == null)
         {
             Active_VisitTiming_TreatmentPlan =
                 PEMRBusinessLogic.CreateNew_VisitTiming_TreatmentPlan(this, DB_PEMRSavingMode.SaveImmediately);
             if (Active_VisitTiming_TreatmentPlan == null)
             {
                 return;
             }
             if (PEMRBusinessLogic.ActivePEMRObject.List_VisitTiming_TreatmentPlan == null)
             {
                 PEMRBusinessLogic.ActivePEMRObject.List_VisitTiming_TreatmentPlan = new List <VisitTiming_TreatmentPlan>();
             }
             PEMRBusinessLogic.ActivePEMRObject.List_VisitTiming_TreatmentPlan.Add(Active_VisitTiming_TreatmentPlan);
             XtraMessageBox.Show("Saved Successfully", "Saved", MessageBoxButtons.OK,
                                 MessageBoxIcon.Information);
         }
         else
         {
             if (Active_VisitTiming_TreatmentPlan == null)
             {
                 return;
             }
             if (PEMRBusinessLogic.Update_VisitTiming_TreatmentPlan(this, Active_VisitTiming_TreatmentPlan))
             {
                 XtraMessageBox.Show("Saved Successfully", "Saved", MessageBoxButtons.OK,
                                     MessageBoxIcon.Information);
             }
         }
     }
 }
        private void btnDown_Click(object sender, EventArgs e)
        {
            if (Selected_VisitTiming_TreatmentPlan == null)
            {
                XtraMessageBox.Show("You should select the Treatment before Moving Up", "Notice",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1,
                                    DefaultBoolean.Default);
                return;
            }

            if (PEMRBusinessLogic.ActivePEMRObject.List_VisitTiming_TreatmentPlan == null ||
                PEMRBusinessLogic.ActivePEMRObject.List_VisitTiming_TreatmentPlan.Count == 0)
            {
                XtraMessageBox.Show("The list has no Treatment Plan", "Notice",
                                    MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1,
                                    DefaultBoolean.Default);
                return;
            }

            VisitTiming_TreatmentPlan visitTimingTreatmentPlan =
                PEMRBusinessLogic.ActivePEMRObject.List_VisitTiming_TreatmentPlan.Find(
                    item => Convert.ToInt32(item.StepOrderIndex)
                    .Equals(Convert.ToInt32(Selected_VisitTiming_TreatmentPlan.StepOrderIndex)));

            if (visitTimingTreatmentPlan == null)
            {
                return;
            }

            VisitTiming_TreatmentPlan previousVisitTimingTreatmentPlan = null;

            foreach (VisitTiming_TreatmentPlan timingTreatmentPlan in PEMRBusinessLogic.ActivePEMRObject
                     .List_VisitTiming_TreatmentPlan.FindAll(
                         item => !Convert.ToInt32(item.PEMRElementStatus)
                         .Equals(Convert.ToInt32(PEMRElementStatus.Removed))).OrderByDescending(item => item.StepOrderIndex))
            {
                if (timingTreatmentPlan.Equals(visitTimingTreatmentPlan))
                {
                    break;
                }

                previousVisitTimingTreatmentPlan = timingTreatmentPlan;
            }

            if (previousVisitTimingTreatmentPlan != null)
            {
                previousVisitTimingTreatmentPlan.StepOrderIndex    = previousVisitTimingTreatmentPlan.StepOrderIndex - 1;
                previousVisitTimingTreatmentPlan.PEMRElementStatus = PEMRElementStatus.Updated;
            }
            else
            {
                return;
            }

            visitTimingTreatmentPlan.StepOrderIndex    = visitTimingTreatmentPlan.StepOrderIndex + 1;
            visitTimingTreatmentPlan.PEMRElementStatus = PEMRElementStatus.Updated;

            if (!PEMRBusinessLogic.Update_VisitTiming_TreatmentPlan(this, Active_VisitTiming_TreatmentPlan))
            {
                return;
            }

            grdTreatmentPlans.DataSource =
                PEMRBusinessLogic.ActivePEMRObject.List_VisitTiming_TreatmentPlan.FindAll(
                    item => !Convert.ToInt32(item.PEMRElementStatus)
                    .Equals(Convert.ToInt32(PEMRElementStatus.Removed))).OrderBy(item => item.StepOrderIndex);
            grdTreatmentPlans.RefreshDataSource();
            ClearControls(false);

            StepOrderIndex = PEMRBusinessLogic.ActivePEMRObject.List_VisitTiming_TreatmentPlan
                             .FindAll(item =>
                                      !Convert.ToInt32(item.PEMRElementStatus)
                                      .Equals(Convert.ToInt32(PEMRElementStatus.Removed)))
                             .OrderBy(item => item.StepOrderIndex).Count() + 1;
        }