/// <summary>
        /// Undoes the record.
        /// </summary>
        /// <param name="record">The record.</param>
        /// <returns></returns>
        public int UndoRecord(UPCRMRecord record)
        {
            CRMDatabase database = this.DatabaseInstance;
            Record      rec      = this.CreateRecord(record, true);

            if (rec == null)
            {
                return(-1);
            }

            database.BeginTransaction();
            int ret = rec.Update();

            if (ret == 0 && !this.Disable86326)
            {
                this.UpdateParticipantsTablesForRecord(rec, database);
            }

            database.Commit();
            return(ret);
        }
        /// <summary>
        /// Saves the record rollback request nr.
        /// </summary>
        /// <param name="record">The record.</param>
        /// <param name="requestNr">The request nr.</param>
        /// <returns></returns>
        public int SaveRecordRollbackRequestNr(UPCRMRecord record, int requestNr)
        {
            CRMDatabase database = this.DatabaseInstance;
            Record      rec      = this.CreateRecord(record);

            if (rec == null)
            {
                return(-1);
            }

            database.BeginTransaction();
            int ret = rec.InsertOrUpdate();

            if (ret == 0 && !this.Disable86326)
            {
                this.UpdateParticipantsTablesForRecord(rec, database);
            }

            database.Commit();
            return(ret);
        }