public int Delete(ResponsableTitulo param, SqlTransaction transaccion)
        {
            string       query  = "DELETE FROM Resp_detalle WHERE id_titulo_resp = @idRespDetalle  AND resp = @idResponsable AND  func = @idFuncion AND desc_func = @descripcionFunc ";
            SqlParameter param1 = new SqlParameter()
            {
                ParameterName = "@idRespDetalle", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NChar, Size = 10, Value = param.IdResponsableDetalle
            };
            SqlParameter param2 = new SqlParameter()
            {
                ParameterName = "@idResponsable", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NChar, Size = 10, IsNullable = true, Value = (String.IsNullOrEmpty(param.IdResponsable) ? DBNull.Value : (object)param.IdResponsable)
            };
            SqlParameter param3 = new SqlParameter()
            {
                ParameterName = "@idFuncion", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NChar, Size = 10, IsNullable = true, Value = (String.IsNullOrEmpty(param.IdFuncion) ? DBNull.Value : (object)param.IdFuncion)
            };
            SqlParameter param4 = new SqlParameter()
            {
                ParameterName = "@descripcionFunc", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NVarChar, IsNullable = true, Value = (String.IsNullOrEmpty(param.DescripcionFuncion) ? DBNull.Value : (object)param.DescripcionFuncion.Trim())
            };

            List <SqlParameter> parametros = new List <SqlParameter>()
            {
                param1, param2, param3, param4
            };
            int result = this.Ejecutar(query, CommandType.Text, parametros, transaccion);

            return(result);
        }
        public int Insert(ResponsableTitulo param, SqlTransaction transaccion)
        {
            string query = " INSERT INTO Resp_detalle (id_titulo_resp,resp,func,desc_func,orden_func) ";

            query = query + " VALUES (@idRespDetalle, @idResponsable, @idFuncion, @descripcionFunc, @ordenFuncion); ";

            SqlParameter param1 = new SqlParameter()
            {
                ParameterName = "@idRespDetalle", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NChar, Size = 10, Value = param.IdResponsableDetalle
            };
            SqlParameter param2 = new SqlParameter()
            {
                ParameterName = "@idResponsable", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NChar, Size = 10, IsNullable = true, Value = (String.IsNullOrEmpty(param.IdResponsable) ? DBNull.Value : (object)param.IdResponsable)
            };
            SqlParameter param3 = new SqlParameter()
            {
                ParameterName = "@idFuncion", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NChar, Size = 10, IsNullable = true, Value = (String.IsNullOrEmpty(param.IdFuncion) ? DBNull.Value : (object)param.IdFuncion)
            };
            SqlParameter param4 = new SqlParameter()
            {
                ParameterName = "@descripcionFunc", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NVarChar, IsNullable = true, Value = (String.IsNullOrEmpty(param.DescripcionFuncion) ? DBNull.Value : (object)param.DescripcionFuncion.Trim())
            };
            SqlParameter param5 = new SqlParameter()
            {
                ParameterName = "@ordenFuncion", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.Int, IsNullable = true, Value = (param.OrdenFuncion == null ? DBNull.Value : (object)param.OrdenFuncion.Value)
            };

            List <SqlParameter> parametros = new List <SqlParameter>()
            {
                param1, param2, param3, param4, param5
            };
            int result = this.Ejecutar(query, CommandType.Text, parametros, transaccion);

            return(result);
        }
    private List <ResponsableTitulo> GetListaResponsables(string listaResponsables)
    {
        string[] detalleResponsables   = listaResponsables.Split(new char[] { '|' });
        List <ResponsableTitulo> lista = null;

        try
        {
            int indice = 1;
            lista = new List <ResponsableTitulo>();
            foreach (string detalle in detalleResponsables)
            {
                if (!string.IsNullOrEmpty(detalle.Trim()))
                {
                    string[]          titulo = detalle.Split(new char[] { '#' });
                    ResponsableTitulo obj    = new ResponsableTitulo()
                    {
                    };
                    obj.IdResponsableDetalle = titulo[0];
                    obj.IdResponsable        = titulo[1];
                    obj.IdFuncion            = titulo[2];
                    obj.DescripcionFuncion   = null;
                    obj.OrdenFuncion         = indice;
                    lista.Add(obj);
                    indice++;
                }
            }
        }
        catch (Exception ex)
        {
            lista = null;
        }
        return(lista);
    }
        public int Update(ResponsableTitulo paramPrevio, ResponsableTitulo paramNuevo, SqlTransaction transaccion)
        {
            string query = " UPDATE Resp_detalle SET resp = @idResponsable, func = @idFuncion, desc_func = @descripcionFunc, orden_func = @ordenFuncion ";

            query = query + " WHERE id_titulo_resp = @idRespDetalle AND resp = @idResponsable2 AND  func = @idFuncion2 AND desc_func = @descripcionFunc2  ; ";

            SqlParameter param1 = new SqlParameter()
            {
                ParameterName = "@idResponsable", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NChar, Size = 10, IsNullable = true, Value = (String.IsNullOrEmpty(paramNuevo.IdResponsable) ? DBNull.Value : (object)paramNuevo.IdResponsable.Trim())
            };
            SqlParameter param2 = new SqlParameter()
            {
                ParameterName = "@idFuncion", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NChar, Size = 10, IsNullable = true, Value = (String.IsNullOrEmpty(paramNuevo.IdFuncion) ? DBNull.Value : (object)paramNuevo.IdFuncion)
            };
            SqlParameter param3 = new SqlParameter()
            {
                ParameterName = "@descripcionFunc", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NVarChar, IsNullable = true, Value = (String.IsNullOrEmpty(paramNuevo.DescripcionFuncion) ? DBNull.Value : (object)paramNuevo.DescripcionFuncion.Trim())
            };
            SqlParameter param4 = new SqlParameter()
            {
                ParameterName = "@ordenFuncion", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.Int, IsNullable = true, Value = (paramNuevo.OrdenFuncion == null ? DBNull.Value : (object)paramNuevo.OrdenFuncion.Value)
            };

            SqlParameter param5 = new SqlParameter()
            {
                ParameterName = "@idRespDetalle", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NChar, Size = 10, Value = paramPrevio.IdResponsableDetalle
            };
            SqlParameter param6 = new SqlParameter()
            {
                ParameterName = "@idResponsable2", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NChar, Size = 10, IsNullable = true, Value = (String.IsNullOrEmpty(paramPrevio.IdResponsable) ? DBNull.Value : (object)paramPrevio.IdResponsable.Trim())
            };
            SqlParameter param7 = new SqlParameter()
            {
                ParameterName = "@idFuncion2", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NChar, Size = 10, IsNullable = true, Value = (String.IsNullOrEmpty(paramPrevio.IdFuncion) ? DBNull.Value : (object)paramPrevio.IdFuncion.Trim())
            };
            SqlParameter param8 = new SqlParameter()
            {
                ParameterName = "@descripcionFunc2", Direction = System.Data.ParameterDirection.Input, SqlDbType = System.Data.SqlDbType.NVarChar, IsNullable = true, Value = (String.IsNullOrEmpty(paramPrevio.DescripcionFuncion) ? DBNull.Value : (object)paramPrevio.DescripcionFuncion.Trim())
            };

            List <SqlParameter> parametros = new List <SqlParameter>()
            {
                param1, param2, param3, param4, param5, param6, param7, param8
            };

            int result = this.Ejecutar(query, CommandType.Text, parametros, transaccion);

            return(result);
        }