public Plan Clone()
        {
            Plan plan = new Plan(_intDefendantId, this.ID, this.UpdatedBy, this.UpdatedDate);

            plan.RaiseChangedEvents = false;

            plan.PlanName            = this.PlanName;
            plan.CAPP                = this.CAPP;
            plan.NonCAPP             = this.NonCAPP;
            plan.IsFiled             = this.IsFiled;
            plan.NonComplianceNotice = this.NonComplianceNotice;
            plan.HasInsurance        = this.HasInsurance;
            plan.InContempt          = this.InContempt;
            plan.FiledDate           = this.FiledDate;

            // cloning object collections
            plan.Cases = (_PlanCases == null) ? null : _PlanCases.Clone();
            plan.Fees  = (_PlanFees == null) ? null : _PlanFees.Clone();
            plan.PaymentArrangements = (_PlanPaymentArrangements == null) ? null : _PlanPaymentArrangements.Clone();
            plan.Payments            = (_PlanPayments == null) ? null : _PlanPayments.Clone();

            plan.Save();

            plan.RaiseChangedEvents = true;

            return(plan);
        }
        private void RestoreBackups()
        {
            _strPlanName            = _strPlanName_orig;
            _bolCAPP                = _bolCAPP_orig;
            _bolNonCAPP             = _bolNonCAPP_orig;
            _bolIsFiled             = _bolIsFiled_orig;
            _bolNonComplianceNotice = _bolNonComplianceNotice_orig;
            _bolHasInsurance        = _bolHasInsurance_orig;
            _bolInContempt          = _bolInContempt_orig;
            _FiledDate              = _FiledDate_orig;

            _PlanCases = (_PlanCases_orig == null) ? null : _PlanCases_orig.Clone();
            _PlanFees  = (_PlanFees_orig == null) ? null : _PlanFees_orig.Clone();
            _PlanPaymentArrangements = (_PlanPaymentArrangements_orig == null) ? null : _PlanPaymentArrangements_orig.Clone();
            _PlanPayments            = (_PlanPayments_orig == null) ? null : _PlanPayments_orig.Clone();
        }