Пример #1
0
        public void Save(SqlTransaction trx, DateTime updateDate, int defendantId)
        {
            _intDefendantId = defendantId;

            switch (base.MyState)
            {
            case MyObjectState.New:
                Insert(trx, updateDate);

                // After an insert, plan child collections must have their parentid
                // updated with the new defendantid and planid or they will get orphaned.
                if (_PlanCases != null)
                {
                    _PlanCases.UpdateParentIds(this.ID, this.DefendantId);
                    _PlanCases.SavePlanCases(trx);
                }

                if (_PlanFees != null)
                {
                    _PlanFees.UpdateParentIds(this.ID, this.DefendantId);
                    _PlanFees.SavePlanFees(trx);
                }

                if (_PlanPaymentArrangements != null)
                {
                    _PlanPaymentArrangements.UpdateParentIds(this.ID, this.DefendantId);
                    _PlanPaymentArrangements.SavePlanPaymentArrangements(trx);
                }

                if (_PlanPayments != null)
                {
                    _PlanPayments.UpdateParentIds(this.ID, this.DefendantId);
                    _PlanPayments.SavePlanFeePayments(trx);
                }

                break;

            case MyObjectState.Modified:

                if (HasChanged)
                {
                    Update(trx, updateDate);
                }

                if (_PlanCases != null)
                {
                    _PlanCases.SavePlanCases(trx);
                }

                if (_PlanFees != null)
                {
                    _PlanFees.SavePlanFees(trx);
                }

                if (_PlanPaymentArrangements != null)
                {
                    _PlanPaymentArrangements.SavePlanPaymentArrangements(trx);
                }

                if (_PlanPayments != null)
                {
                    _PlanPayments.SavePlanFeePayments(trx);
                }

                break;
            }
        }