コード例 #1
0
    /// <summary>
    /// Se encarga de validar las respuestas obtenidas de los métodos de la clase SQL
    /// </summary>
    /// <param name="res">Resultado devuelto por los métodos sql</param>
    /// <param name="Area">Aréa o Tabla de la Base de Datos</param>
    /// <param name="MensajeError">Mensaje de Error para Insertar en el Control de Errores, en caso de ocurrir</param>
    /// <returns></returns>

    public static object[] Control(object[] res, string Area, string MensajeError)
    {
        var resultado = new object[2] {
            true, ""
        };
        var checkPoint = "";

        if (Convert.ToBoolean(res[0]) != true)
        {
            resultado[0] = false;
            if (res[2] != null)
            {
                checkPoint = res[2].ToString();
            }

            resultado[1] = checkPoint;
            if (res[1] != null)
            {
                var ex = res[1] as Exception;
                RegistrarError.QTCO(Area, MensajeError, ex);
            }
        }
        else
        {
            resultado[1] = res[1];
        }

        return(resultado);
    }
コード例 #2
0
    public static List <SelectListItem> ListItems(String BaseDatos, String sql, String selected)
    {
        var listado = new List <SelectListItem>();

        var table = SelectDataTable(BaseDatos, sql);

        foreach (DataRow row in table.Rows)
        {
            try
            {
                var item = new SelectListItem();
                item.Text  = tDatos.ToString(row["text"]);
                item.Value = tDatos.ToString(row["value"]);

                if (item.Value == selected)
                {
                    item.Selected = true;
                }

                listado.Add(item);
            }
            catch (Exception ex)
            {
                RegistrarError.General(BaseDatos, cAreas.Html, "Leer ListItem de la consulta:" + sql, ex);
            }
        }

        return(listado);
    }
コード例 #3
0
    public static DateTime?SelectFecha(String sql, String BaseDatos)
    {
        DateTime?c = null;

        try
        {
            var table = SQL.SelectDataTable(BaseDatos, sql);

            if (table != null)
            {
                if (table.Rows.Count > 0)
                {
                    var row = table.Rows[0];
                    if (row != null)
                    {
                        c = tDatos.ToDateTimeN(row[0]);
                    }
                }
            }
        }
        catch (Exception ex)
        {
            RegistrarError.General(BaseDatos, cAreas.SQL, "Select Fecha?, " + sql, ex);
        }
        return(c);
    }
コード例 #4
0
    /// <summary>
    /// lee una cadea de una consulta sql
    /// </summary>
    /// <param name="sql">consulta sql</param>
    /// <param name="BaseDatos">clave de la base de datos</param>
    /// <returns></returns>
    public static String SelectString(String sql, String BaseDatos)
    {
        var c = "";

        try
        {
            var table = SQL.SelectDataTable(BaseDatos, sql);

            if (table != null)
            {
                if (table.Rows.Count > 0)
                {
                    var row = table.Rows[0];
                    if (row != null)
                    {
                        c = tDatos.ToString(row[0]);
                    }
                }
            }
        }
        catch (Exception ex)
        {
            RegistrarError.General(BaseDatos, cAreas.SQL, "Select String, " + sql, ex);
        }
        return(c);
    }
コード例 #5
0
    /// <summary>
    /// lee un decimal o un nulo devuelto de una consulta sql
    /// </summary>
    /// <param name="sql">consulta sql</param>
    /// <param name="BaseDatos">clave de la base de datos</param>
    /// <returns></returns>
    public static decimal?SelectDecimal(String sql, String BaseDatos)
    {
        decimal?c = 0;

        try
        {
            var table = SQL.SelectDataTable(BaseDatos, sql);

            if (table != null)
            {
                if (table.Rows.Count > 0)
                {
                    var row = table.Rows[0];
                    if (row != null)
                    {
                        c = tDatos.ToDecimal(row[0]);
                    }
                }
            }
        }
        catch (Exception ex)
        {
            RegistrarError.General(BaseDatos, cAreas.SQL, "Select Decimal?, " + sql, ex);
        }

        if (c == null)
        {
            c = 0;
        }

        return(c);
    }
コード例 #6
0
    public static List <T> SelectList <T>(String BaseDatos, String sql) where T : new()
    {
        var conexion = Conexion.Create(BaseDatos);

        conexion.Open();

        using (var tabla = new DataTable())
        {
            SqlDataAdapter adapter = new SqlDataAdapter();
            try
            {
                adapter.SelectCommand = new SqlCommand(sql, conexion);
                adapter.Fill(tabla);
            }
            catch (Exception ex)
            {
                RegistrarError.General(BaseDatos, cAreas.SQL, "Buscar Dinámico para DataTable: " + sql.Replace("'", "*"), ex);
            }
            finally
            {
                try
                {
                    adapter.Dispose();
                }
                catch (Exception ex)
                {
                    RegistrarError.General(BaseDatos, cAreas.SQL, "Dispose Adapter en Buscar Dinámico para DataTable: " + sql, ex);
                }

                try
                {
                    conexion.Close();
                    conexion.Dispose();
                }
                catch (Exception ex)
                {
                    RegistrarError.General(BaseDatos, cAreas.SQL, "Cerrar y Dispose conexión en Buscar Dinámico para DataTable: " + sql, ex);
                }
            }

            var listado = tDatos.TableToList <T>(tabla);
            return(listado);
        }
    }
コード例 #7
0
    /// <summary>
    /// ejecuta el procedimiento almacenado especificado y retorna un valor
    /// </summary>
    /// <param name="BaseDatos">clave de la bd</param>
    /// <param name="area">area del sistema</param>
    /// <param name="procedure">nombre del sp</param>
    /// <param name="parametros">lista de parametros, el primero debe ser el parametro output</param>
    /// <param name="OperacionCompleta">breve descripcion de la tarea invocadora realizada </param>
    /// <returns></returns>
    public static object[] ExecuteOutPut(String BaseDatos, String area, String procedure, List <SqlParameter> parametros, String OperacionCompleta)
    {
        object[] resultado = new object[3] {
            true, null, ""
        };
        var checkPoint = "";

        if (parametros.Count > 0)
        {
            checkPoint = " Crear la conexión. ";
            var conexion = Conexion.Create(BaseDatos);

            checkPoint = " Abrir la conexión. ";
            conexion.Open();

            checkPoint = " Crear SqlCommand. ";
            var cmd = new SqlCommand("[dbo].[" + procedure + "]");

            checkPoint = " Comenzar Transaction. ";
            SqlTransaction transaccion = conexion.BeginTransaction();

            cmd.Transaction = transaccion;
            cmd.Connection  = conexion;
            cmd.CommandType = CommandType.StoredProcedure;

            checkPoint = " Asignar parametro de retorno.";
            var parametroR = parametros.FirstOrDefault();
            cmd.Parameters.AddWithValue(parametroR.ParameterName, parametroR.Value);
            cmd.Parameters[parametroR.ParameterName].Direction = ParameterDirection.Output;

            parametros.Remove(parametroR);

            checkPoint = " Asignar parametros. ";
            foreach (var parametro in parametros)
            {
                cmd.Parameters.AddWithValue(parametro.ParameterName, parametro.Value);
            }

            checkPoint = " Ejecutar Procedure. ";
            int result = 0;

            try
            {
                cmd.ExecuteNonQuery();
                resultado[1] = result = tDatos.ToInt(cmd.Parameters[parametroR.ParameterName].Value);
                transaccion.Commit();
            }
            catch (Exception ex)
            {
                resultado[2] = checkPoint;
                try
                {
                    checkPoint = " Deshacer Transaction. ";
                    transaccion.Rollback();
                }
                catch (Exception ex2)
                {
                    resultado[2] = checkPoint;
                    RegistrarError.General(BaseDatos, area, checkPoint + OperacionCompleta, ex2);
                }
                resultado[0] = false;
                resultado[1] = ex;
            }
            finally
            {
                try
                {
                    checkPoint = " Desechar Transaction. ";
                    transaccion.Dispose();
                }
                catch (Exception ex)
                {
                    resultado[2] = checkPoint;
                    RegistrarError.General(BaseDatos, area, checkPoint + OperacionCompleta, ex);
                }

                try
                {
                    checkPoint = " Desechar SqlCommand. ";
                    cmd.Dispose();
                }
                catch (Exception ex)
                {
                    resultado[2] = checkPoint;
                    RegistrarError.General(BaseDatos, area, checkPoint + OperacionCompleta, ex);
                }

                try
                {
                    checkPoint = " Cerrar conexión. ";
                    conexion.Close();
                    conexion.Dispose();
                }
                catch (Exception ex)
                {
                    resultado[2] = checkPoint;
                    RegistrarError.General(BaseDatos, area, checkPoint + OperacionCompleta, ex);
                }
            }
        }
        else
        {
            resultado[0] = false;
        }
        return(resultado);
    }
コード例 #8
0
    public static object[] Ejecutar(String BaseDatos, String area, String sql, String OperacionCompleta)
    {
        object[] resultado = new object[3] {
            true, null, ""
        };
        var checkPoint = "";

        checkPoint = " Crear la conexión. ";
        var conexion = Conexion.Create(BaseDatos);

        checkPoint = " Abrir la conexión. ";
        conexion.Open();

        checkPoint = " Crear SqlCommand. ";
        var cmd = new SqlCommand(sql);

        checkPoint = " Comenzar Transaction. ";
        SqlTransaction transaccion = conexion.BeginTransaction();

        cmd.Transaction = transaccion;
        cmd.Connection  = conexion;

        checkPoint = " Ejecutar SQL.";
        try
        {
            cmd.ExecuteNonQuery();
            transaccion.Commit();
        }
        catch (Exception ex)
        {
            try
            {
                checkPoint = " Deshacer Transaction. ";
                transaccion.Rollback();
            }
            catch (Exception ex2)
            {
                RegistrarError.General(BaseDatos, area, checkPoint + OperacionCompleta + "-SQL:" + sql, ex2);
            }
            resultado[0] = false;
            resultado[1] = ex;
        }
        finally
        {
            try
            {
                checkPoint = " Desechar Transaction. ";
                transaccion.Dispose();
            }
            catch (Exception ex)
            {
                RegistrarError.General(BaseDatos, area, checkPoint + OperacionCompleta + "-SQL:" + sql, ex);
            }

            try
            {
                checkPoint = " Desechar SqlCommand. ";
                cmd.Dispose();
            }
            catch (Exception ex)
            {
                RegistrarError.General(BaseDatos, area, checkPoint + OperacionCompleta + "-SQL:" + sql, ex);
            }

            try
            {
                checkPoint = " Cerrar conexión. ";
                conexion.Close();
                conexion.Dispose();
            }
            catch (Exception ex)
            {
                RegistrarError.General(BaseDatos, area, checkPoint + OperacionCompleta + "-SQL:" + sql, ex);
            }
        }

        resultado[2] = checkPoint;
        return(resultado);
    }