Imports System.Data.SqlClient Public Class PoolTitulosDAO Dim Operaciones As New Operaciones Function NuevoCodigo() Dim objCon As New Conexion Dim valor As String = String.Empty Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If Dim sql = "[dbo].[SP_GenerarCodigoAsociacion]" Dim cmd As New SqlCommand(sql, cn) cmd.CommandType = CommandType.StoredProcedure valor = cmd.ExecuteScalar cmd.Dispose() cn.Dispose() Return valor End Function Public Function FiltroReportoVenta(ByRef FechaVenOperacion1 As String, ByRef FechaVenOperacion2 As String, ByRef Estado As String, ByRef Empresa As String, ByRef Instrumento As String) As DataSet Dim objCon As New Conexion Dim da As New SqlDataAdapter Dim ds As New DataSet Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If Dim sql = "[dbo].[SP_PoolTitulos]" Dim cmd As New SqlCommand(sql, cn) cmd.CommandType = CommandType.StoredProcedure cmd.Parameters.Add("@FechaOperacion1", SqlDbType.Date).Value = Operaciones.ConvertirFechaBaseDatos(FechaVenOperacion1) cmd.Parameters.Add("@FechaOperacion2", SqlDbType.Date).Value = Operaciones.ConvertirFechaBaseDatos(FechaVenOperacion2) cmd.Parameters.Add("@Empresa", SqlDbType.VarChar).Value = Empresa cmd.Parameters.Add("@Instrumento", SqlDbType.VarChar).Value = Instrumento cmd.Parameters.Add("@Estado", SqlDbType.VarChar).Value = Estado da = New SqlDataAdapter(cmd) da.Fill(ds) cn.Close() Return ds End Function Public Function ProcesoDatos(ByVal Coleccion As Collection) Dim objCon As New Conexion Dim retorno As Integer Dim sql As String Dim cmd As SqlCommand Dim myTrans As SqlTransaction Dim cn As SqlConnection = objCon.Conectar If cn.State = ConnectionState.Closed Then cn.Open() End If myTrans = cn.BeginTransaction() Try For Each DicRegistros As Dictionary(Of String, Object) In Coleccion Dim CodigoTitulo = Function() If DicRegistros.ContainsKey("CodigoTitulo") Then Return DicRegistros.Item("CodigoTitulo") Else Return String.Empty End If End Function Dim CodigoAsociacion = Function() If DicRegistros.ContainsKey("CodigoAsociacion") Then Return DicRegistros.Item("CodigoAsociacion") Else Return String.Empty End If End Function Dim Instrumento = Function() If DicRegistros.ContainsKey("Instrumento") Then Return DicRegistros.Item("Instrumento") Else Return String.Empty End If End Function Dim Empresa = Function() If DicRegistros.ContainsKey("Empresa") Then Return DicRegistros.Item("Empresa") Else Return String.Empty End If End Function Dim MontoTotal = Function() If DicRegistros.ContainsKey("MontoTotal") Then Return DicRegistros.Item("MontoTotal") Else Return 0 End If End Function Dim MontoUsado = Function() If DicRegistros.ContainsKey("MontoUsado") Then Return DicRegistros.Item("MontoUsado") Else Return 0 End If End Function Dim Porcentaje = Function() If DicRegistros.ContainsKey("Porcentaje") Then Return DicRegistros.Item("Porcentaje") Else Return 0 End If End Function Dim FechaCreacion = Function() If DicRegistros.ContainsKey("FechaCreacion") Then Return DicRegistros.Item("FechaCreacion") Else Return Date.Now.Date End If End Function Dim Asociado = Function() If DicRegistros.ContainsKey("Asociado") Then Return DicRegistros.Item("Asociado") Else Return String.Empty End If End Function Dim IdFlujo = Function() If DicRegistros.ContainsKey("IdFlujo") Then Return DicRegistros.Item("IdFlujo") Else Return 0 End If End Function Dim IdEspLR = Function() If DicRegistros.ContainsKey("IdEspLR") Then Return DicRegistros.Item("IdEspLR") Else Return 0 End If End Function Dim ValorCodigoTitulo As String = CodigoTitulo().ToString Dim ValorCodigoAsociacion As String = CodigoAsociacion().ToString Dim ValorInstrumento As String = Instrumento().ToString Dim ValorEmpresa As String = Empresa().ToString Dim ValorMontoTotal As Double = Operaciones.ConvertirDecimal(MontoTotal().ToString) Dim ValorMontoUsado As Double = Operaciones.ConvertirDecimal(MontoUsado().ToString) Dim ValorPorcentaje As Double = Operaciones.ConvertirDecimal(Porcentaje().ToString) Dim ValorFechaCreacion As Date = Operaciones.ConvertirFecha(FechaCreacion().ToString) Dim ValorAsociado As String = Asociado().ToString Dim ValorIdFlujo As Integer = Operaciones.ConvertirEntero(IdFlujo().ToString) Dim ValorIdEspLR As Integer = Operaciones.ConvertirEntero(IdEspLR().ToString) '###########################################################' sql = "INSERT INTO [dbo].[ListTitREPO]( [CodigoAsociado] ,[CodigoTitulos] ,[CodigoEstado] ,[Nombre] ,[Descrip] ,[MontoTotal] ,[MontoUsado] ,[Porcentaje] ,[FechaCreacion] ,[IdFlujo] ,[IdEspLR] ) VALUES( @CodigoAsociado ,@CodigoTitulos ,@CodigoEstado ,@Nombre ,@Descrip ,@MontoTotal ,@MontoUsado ,@Porcentaje ,@FechaCreacion ,@IdFlujo ,@IdEspLR ) " cmd = New SqlCommand cmd.CommandText = sql cmd.Connection = cn cmd.Transaction = myTrans With cmd.Parameters .Add("@CodigoAsociado", SqlDbType.VarChar).Value = ValorCodigoAsociacion .Add("@CodigoTitulos", SqlDbType.VarChar).Value = ValorCodigoTitulo .Add("@CodigoEstado", SqlDbType.VarChar).Value = "GRESP" .Add("@Nombre", SqlDbType.VarChar).Value = "Lista Titulos" .Add("@Descrip", SqlDbType.VarChar).Value = "Lista de Titulos en Espera de Reportear" .Add("@IdFlujo", SqlDbType.VarChar).Value = ValorIdFlujo .Add("@IdEspLR", SqlDbType.VarChar).Value = ValorIdEspLR .Add("@MontoTotal", SqlDbType.Float).Value = ValorMontoTotal .Add("@MontoUsado", SqlDbType.Float).Value = ValorMontoUsado .Add("@Porcentaje", SqlDbType.Float).Value = ValorPorcentaje .Add("@FechaCreacion", SqlDbType.Date).Value = ValorFechaCreacion End With retorno = cmd.ExecuteNonQuery '#########################################################' sql = "UPDATE IniFlu SET [CodigoAsociado]=@CodigoAsociado where [IdFlujo]=@IdFlujo AND [CodigoTitulo]=@CodigoTitulo " cmd = New SqlCommand cmd.CommandText = sql cmd.Connection = cn cmd.Transaction = myTrans With cmd.Parameters .Add("@CodigoAsociado", SqlDbType.VarChar).Value = ValorCodigoAsociacion .Add("@IdFlujo", SqlDbType.VarChar).Value = ValorIdFlujo .Add("@CodigoTitulo", SqlDbType.VarChar).Value = ValorCodigoTitulo End With retorno = cmd.ExecuteNonQuery Next '''''''''''''''''' myTrans.Commit() MsgBox("Datos Ingresados") Catch ex As Exception myTrans.Rollback() MsgBox(ex.Message) End Try cn.Close() Return retorno End Function End Class