internal void CopyValues(IDataReader source)
        {
            if (source == null)
            {
                return;
            }

            _record.CopyValues(source);
        }
        internal void Update(Ticket parent)
        {
            // if we're not dirty then don't update the database
            if (!this.IsDirty)
            {
                return;
            }

            this.OidTicket = parent.Oid;

            ValidationRules.CheckRules();

            if (!IsValid)
            {
                throw new iQValidationException(Library.Resources.Messages.GENERIC_VALIDATION_ERROR);
            }

            SessionCode = parent.SessionCode;
            TicketLineRecord obj = Session().Get <TicketLineRecord>(Oid);

            obj.CopyValues(Base.Record);
            Session().Update(obj);

            MarkOld();
        }