Пример #1
0
        ///*******************************************************************************
        ///NOMBRE DE LA FUNCIÓN: MasterObject
        ///DESCRIPCIÓN:
        ///PARAMETROS:
        ///CREO:       CHANTAL ORIGEL
        ///FECHA_CREO:
        ///MODIFICO:
        ///FECHA_MODIFICO:
        ///CAUSA_MODIFICACIÓN:
        ///*******************************************************************************
        public Boolean MasterObject(TablaDB Objeto, MODO_DE_CAPTURA Obj_Captura, params FiltroBD[] filtros)
        {
            Boolean        Transaccion     = false;
            SqlTransaction Obj_Transaccion = null;
            SqlConnection  Obj_Conexion    = new SqlConnection(ConexionBD.BD);
            SqlCommand     Obj_Comando     = new SqlCommand();

            try
            {
                String Mi_SQL = QuerySQL.GeneraCMDExec(Objeto, Obj_Captura, filtros);

                Obj_Conexion.Open();
                Obj_Transaccion         = Obj_Conexion.BeginTransaction();
                Obj_Comando.Transaction = Obj_Transaccion;
                Obj_Comando.Connection  = Obj_Conexion;
                Obj_Comando.CommandText = Mi_SQL;
                Obj_Comando.ExecuteNonQuery();
                Obj_Transaccion.Commit();
                Transaccion = true;
            }
            catch (Exception ex)
            {
                Transaccion = false;
                Obj_Transaccion.Rollback();
                throw new Exception(ex.Message);
            }
            finally
            {
                Obj_Conexion.Close();
            }
            return(Transaccion);
        }
Пример #2
0
 ///*******************************************************************************
 /// NOMBRE DE LA CLASE: InsertaActualiza
 /// DESCRIPCIÓN: METODO QUE INSERTA/ACTUALIZA/ELIMINA
 /// PARÁMETROS :
 /// CREO       :  CHANTAL ORIGEL
 /// FECHA_CREO :
 /// MODIFICO          :
 /// FECHA_MODIFICO    :
 /// CAUSA_MODIFICACIÓN:
 ///*******************************************************************************
 public Boolean MasterRegistro(TablaDB Elemento, MODO_DE_CAPTURA Captura, params FiltroBD[] filtros)
 {
     try
     {
         //Variable de resultado.
         Boolean resultado = false;
         //Retornamos el resultado.
         resultado = Obj_OPSQL.MasterObject(Elemento, Captura, filtros);
         //Retornamos el resultado.
         return(resultado);
     }
     catch (Exception exDB)
     {
         //Cachamos la excepcion de tipo ejecucion de comandos y vemos que acciones tomar
         throw new Exception(exDB.Message);
     }
 }
Пример #3
0
        ///*******************************************************************************
        ///NOMBRE DE LA FUNCIÓN: GeneraCMDExec
        ///DESCRIPCIÓN: Método que sirve para generar un comando SQL en base a la tabla que se indique.
        ///PARAMETROS:  objetoTabla:Implementacion de la interfaz de objeto tabla de la cual se desea generar el comando.
        ///             modoDeCaptura: Modo de captura en el cual se desea generar el comando.
        ///CREO:       CHANTAL ORIGEL
        ///FECHA_CREO:
        ///MODIFICO:
        ///FECHA_MODIFICO:
        ///CAUSA_MODIFICACIÓN:
        ///*******************************************************************************
        public static String GeneraCMDExec(TablaDB Tabla, MODO_DE_CAPTURA Captura, params FiltroBD[] filtros)
        {
            String Query        = String.Empty;
            String Campo_Añadir = String.Empty;
            String Campo_Valor  = String.Empty;
            String Campo_Llave  = String.Empty;
            //Obtenemos los parametros.
            List <ParametroBD> parametrosBD = Tabla.ObtenParametros();

            //variable para comparar con la cantidad de filtros que nos ayudara asignar el operador condicional
            //Vaidamos el modo de captura.


            //QUERY SECUNDARIO
            if (filtros.Count() > 0)
            {
                foreach (FiltroBD filtro in filtros)
                {
                    foreach (TablaDB tabla in filtro.Tabla)
                    {
                        Campo_Añadir = String.Empty;
                        Campo_Valor  = String.Empty;
                        Campo_Llave  = String.Empty;
                        Query       += "\n";
                        parametrosBD = tabla.ObtenParametros();
                        //variable para comparar con la cantidad de filtros que nos ayudara asignar el operador condicional
                        //Vaidamos el modo de captura.
                        switch (filtro.Captura)
                        {
                        case MODO_DE_CAPTURA.CAPTURA_ALTA:
                            //Creamos la linea base.
                            Query += "INSERT INTO " + tabla.NombreTabla;
                            //Generamos el comando.
                            foreach (ParametroBD parametro in parametrosBD)
                            {
                                Campo_Añadir += parametro.CampoBD + ",";
                                Campo_Valor  += TipoDeDatoBD(parametro.ValorBD) + ",";
                            }
                            // añadimos los valores a la consulta
                            Query += "(" + Campo_Añadir.Remove(Campo_Añadir.Length - 1) + ") VALUES (" + Campo_Valor.Remove(Campo_Valor.Length - 1) + ")";
                            break;

                        case MODO_DE_CAPTURA.CAPTURA_ACTUALIZA:
                            //Creamos la linea base.
                            Query += "UPDATE " + tabla.NombreTabla + " SET ";
                            //Generamos el comando.
                            foreach (ParametroBD parametro in parametrosBD)
                            {
                                if (parametro.CampoBD != tabla.IDTabla)
                                {
                                    Campo_Valor   = TipoDeDatoBD(parametro.ValorBD).ToString();
                                    Campo_Añadir += parametro.CampoBD + " = " + Campo_Valor + ",";
                                }
                                else
                                {
                                    Campo_Llave = TipoDeDatoBD(parametro.ValorBD).ToString();
                                }
                            }
                            // añadimos los valores a la consulta
                            Query += Campo_Añadir.Remove(Campo_Añadir.Length - 1) + " WHERE " + tabla.IDTabla + " = " + Campo_Llave;
                            break;

                        case MODO_DE_CAPTURA.CAPTURA_ELIMINAR:
                            Query += "DELETE FROM " + tabla.NombreTabla + " WHERE " + tabla.IDTabla + " = " + TipoDeDatoBD(ObtenValorDeParametro(parametrosBD, tabla.IDTabla));
                            break;
                        }
                    }
                }
            }
            else
            {
                switch (Captura)
                {
                case MODO_DE_CAPTURA.CAPTURA_ALTA:
                    //Creamos la linea base.
                    Query = "INSERT INTO " + Tabla.NombreTabla;
                    //Generamos el comando.
                    foreach (ParametroBD parametro in parametrosBD)
                    {
                        if (parametro.ValorBD != null)
                        {
                            Campo_Añadir += parametro.CampoBD + ",";
                            Campo_Valor  += TipoDeDatoBD(parametro.ValorBD) + ",";
                        }
                    }
                    // añadimos los valores a la consulta
                    Query += "(" + Campo_Añadir.Remove(Campo_Añadir.Length - 1) + ") VALUES (" + Campo_Valor.Remove(Campo_Valor.Length - 1) + ")";
                    break;

                case MODO_DE_CAPTURA.CAPTURA_ACTUALIZA:
                    //Creamos la linea base.
                    Query = "UPDATE " + Tabla.NombreTabla + " SET ";
                    //Generamos el comando.
                    foreach (ParametroBD parametro in parametrosBD)
                    {
                        if (parametro.CampoBD != Tabla.IDTabla)
                        {
                            if (parametro.ValorBD != null)
                            {
                                Campo_Valor   = TipoDeDatoBD(parametro.ValorBD).ToString();
                                Campo_Añadir += parametro.CampoBD + " = " + Campo_Valor + ",";
                            }
                        }
                        else
                        {
                            Campo_Llave = TipoDeDatoBD(parametro.ValorBD).ToString();
                        }
                    }
                    // añadimos los valores a la consulta
                    Query += Campo_Añadir.Remove(Campo_Añadir.Length - 1) + " WHERE " + Tabla.IDTabla + " = " + Campo_Llave;
                    break;

                case MODO_DE_CAPTURA.CAPTURA_ELIMINAR:
                    //Creamos la linea base. Delete from Cat_Clientes where Cliente_ID=1
                    Query = "DELETE from " + Tabla.NombreTabla;
                    //Generamos el comando.
                    foreach (ParametroBD parametro in parametrosBD)
                    {
                        if (parametro.CampoBD != Tabla.IDTabla)
                        {
                        }
                        else
                        {
                            Campo_Llave = TipoDeDatoBD(parametro.ValorBD).ToString();
                        }
                    }
                    // añadimos los valores a la consulta
                    Query += " WHERE " + Tabla.IDTabla + " = " + Campo_Llave;
                    break;
                }
            }
            //Retornamos el comando.
            return(Query);
        }
Пример #4
0
 /// <summary>
 /// Inicializa una nueva instancia del parámetro con los valores proporcionados.
 /// </summary>
 public FiltroBD(List <TablaDB> Tabla = null, MODO_DE_CAPTURA Captura = MODO_DE_CAPTURA.CAPTURA_ALTA)
 {
     this.Tabla   = Tabla;
     this.Captura = Captura;
 }