private void DataPortal_Delete(CriteriaCs criterio)
        {
            try
            {
                //Iniciamos la conexion y la transaccion
                SessionCode = OpenSession();
                BeginTransaction();

                CriteriaEx criteria = GetCriteria();
                criteria.AddOidSearch(criterio.Oid);

                // Obtenemos el objeto
                AuditoriaRecord obj = (AuditoriaRecord)(criteria.UniqueResult());
                Session().Delete(Session().Get <AuditoriaRecord>(obj.Oid));

                Transaction().Commit();
            }
            catch (Exception ex)
            {
                if (Transaction() != null)
                {
                    Transaction().Rollback();
                }
                iQExceptionHandler.TreatException(ex);
            }
            finally
            {
                CloseSession();
            }
        }
        public virtual void CopyValues(AuditoriaRecord source)
        {
            if (source == null)
            {
                return;
            }

            Oid                           = source.Oid;
            _oid_auditor                  = source.OidAuditor;
            _oid_tipo_auditoria           = source.OidTipoAuditoria;
            _codigo                       = source.Codigo;
            _serial                       = source.Serial;
            _fecha_inicio                 = source.FechaInicio;
            _fecha_fin                    = source.FechaFin;
            _referencia                   = source.Referencia;
            _observaciones                = source.Observaciones;
            _oid_plan                     = source.OidPlan;
            _estado                       = source.Estado;
            _oid_responsable              = source.OidResponsable;
            _oid_usuario_auditor          = source.OidUsuarioAuditor;
            _oid_usuario_responsable      = source.OidUsuarioResponsable;
            _oid_departamento_auditor     = source.OidDepartamentoAuditor;
            _oid_departamento_responsable = source.OidDepartamentoResponsable;
            _oid_plan_tipo                = source.OidPlanTipo;
            _fecha_comunicacion           = source.FechaComunicacion;
        }
 protected override void DataPortal_Update()
 {
     if (IsDirty)
     {
         try
         {
             AuditoriaRecord obj = Session().Get <AuditoriaRecord>(Oid);
             obj.CopyValues(this.Base.Record);
             Session().Update(obj);
         }
         catch (Exception ex)
         {
             iQExceptionHandler.TreatException(ex);
         }
     }
 }
        internal void Update(TipoAuditoria parent)
        {
            // if we're not dirty then don't update the database
            if (!this.IsDirty)
            {
                return;
            }

            //Debe obtener la sesion del padre pq el objeto es padre a su vez
            SessionCode = parent.SessionCode;

            OidTipoAuditoria = parent.Oid;

            try
            {
                ValidationRules.CheckRules();

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

                AuditoriaRecord obj = parent.Session().Get <AuditoriaRecord>(Oid);
                obj.CopyValues(this.Base.Record);
                parent.Session().Update(obj);

                _cuestiones.Update(this);
                _informes.Update(this);
                _historial.Update(this);
                _notificaciones.Update(this);
            }
            catch (Exception ex)
            {
                iQExceptionHandler.TreatException(ex);
            }

            MarkOld();
        }