| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411 |
- Imports System.Data.SqlClient
- Public Class FondoInversionDAO
- Dim Operaciones As New Operaciones
- Public Function ProcesoDatos(ByVal Coleccion As Collection, ByVal Codigo As String, ByVal Diccionario As Dictionary(Of String, Collection), ByVal Estado As String)
- 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
- If Estado = "Nuevo" Then
- sql = "INSERT INTO [dbo].[FINV]
- ([CodInv]
- ,[ValNominal]
- ,[CuoPart]
- ,[ValPart]
- ,[PorcComisionCasa]
- ,[PorcComisionBolsa]
- ,[ComisionCasa]
- ,[ComisionBolsa]
- ,[ValTrans]
- ,[FechaOpe]
- ,[FechaLiq]
- ,[FechaVen]
- ,[DiasLiq]
- ,[RendOfre]
- ,[Periodicidad]
- ,[Base]
- ,[Plazo]
- ,[Dividendo]
- ,[TipCalBase]
- )
- VALUES
- (@CodInv
- ,@ValNominal
- ,@CuoPart
- ,@ValPart
- ,@PorcComisionCasa
- ,@PorcComisionBolsa
- ,@ComisionCasa
- ,@ComisionBolsa
- ,@ValTrans
- ,@FechaOpe
- ,@FechaLiq
- ,@FechaVen
- ,@DiasLiq
- ,@RendOfre
- ,@Periodicidad
- ,@Base
- ,@Plazo
- ,@Dividendo
- ,@TipCalBase
- )"
- Else
- sql = "UPDATE [dbo].[FINV] SET
-
- [ValNominal]=@ValNominal
- ,[CuoPart]=@CuoPart
- ,[ValPart]=@ValPart
- ,[PorcComisionCasa]=@PorcComisionCasa
- ,[PorcComisionBolsa]=@PorcComisionBolsa
- ,[ComisionCasa]=@ComisionCasa
- ,[ComisionBolsa]=@ComisionBolsa
- ,[ValTrans]=@ValTrans
- ,[FechaOpe]=@FechaOpe
- ,[FechaLiq]=@FechaLiq
- ,[FechaVen]=@FechaVen
- ,[DiasLiq]=@DiasLiq
- ,[RendOfre]=@RendOfre
- ,[Periodicidad]= @Periodicidad
- ,[Base]=@Base
- ,[Plazo]=@Plazo
- ,[Dividendo]=@Dividendo
- ,[TipCalBase]=@TipCalBase
- where [CodInv]=@CodInv
-
- "
- End If
- cmd = New SqlCommand
- cmd.CommandText = sql
- cmd.Connection = cn
- cmd.Transaction = myTrans
- With cmd.Parameters
- .Add("@CodInv", SqlDbType.VarChar).Value = Codigo
- .Add("@ValNominal", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(1).ToString)
- .Add("@CuoPart", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(2).ToString)
- .Add("@ValPart", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(3).ToString)
- .Add("@PorcComisionCasa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(4).ToString)
- .Add("@PorcComisionBolsa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(5).ToString)
- .Add("@ComisionCasa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(6).ToString)
- .Add("@ComisionBolsa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(7).ToString)
- .Add("@ValTrans", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(8).ToString)
- .Add("@FechaOpe", SqlDbType.Date).Value = Operaciones.ConvertirFechaBaseDatos(Coleccion(9).ToString)
- .Add("@FechaLiq", SqlDbType.Date).Value = Operaciones.ConvertirFechaBaseDatos(Coleccion(10).ToString)
- .Add("@FechaVen", SqlDbType.Date).Value = Operaciones.ConvertirFechaBaseDatos(Coleccion(11).ToString)
- .Add("@DiasLiq", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion(12).ToString)
- .Add("@RendOfre", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(13).ToString)
- .Add("@Periodicidad", SqlDbType.VarChar).Value = Coleccion(14).ToString
- .Add("@Base", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion(15).ToString)
- .Add("@Plazo", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion(16).ToString)
- .Add("@Dividendo", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(17).ToString)
- .Add("TipCalBase", SqlDbType.VarChar).Value = Coleccion(18).ToString
- End With
- retorno = cmd.ExecuteNonQuery
- sql = "DELETE FROM [dbo].[FINV1]
- WHERE [CodInv]=@CodInv "
- cmd = New SqlCommand
- cmd.CommandText = sql
- cmd.Connection = cn
- cmd.Transaction = myTrans
- cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
- retorno = cmd.ExecuteNonQuery
- If Not Diccionario Is Nothing Then
- For Each DatosDiccionario In Diccionario
- Dim Coleccion2 As Collection = DatosDiccionario.Value
- sql = "INSERT INTO [dbo].[FINV1]
- ([CodInv]
- ,[NumDiv]
- ,[Fecha]
- ,[Dias]
- ,[Dividendo]
- ,[Ingreso]
- ,[Rend]
-
-
- )
- VALUES
- (@CodInv
- ,@NumDiv
- ,@Fecha
- ,@Dias
- ,@Dividendo
- ,@Ingreso
- ,@Rend
-
- )"
- cmd = New SqlCommand
- cmd.CommandText = sql
- cmd.Connection = cn
- cmd.Transaction = myTrans
- With cmd.Parameters
- .Add("@CodInv", SqlDbType.VarChar).Value = Codigo
- .Add("@NumDiv", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion2(1).ToString)
- .Add("@Fecha", SqlDbType.Date).Value = Operaciones.ConvertirFechaBaseDatos(Coleccion2(2).ToString)
- .Add("@Dias", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion2(3).ToString)
- .Add("@Dividendo", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion2(4).ToString)
- .Add("@Ingreso", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion2(5).ToString)
- .Add("@Rend", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion2(6).ToString)
- End With
- retorno = cmd.ExecuteNonQuery
- Next
- End If
- ''''''''''''''''
- myTrans.Commit()
- MsgBox("Datos Ingresados")
- Catch ex As Exception
- myTrans.Rollback()
- MsgBox(ex.Message)
- End Try
- cn.Close()
- Return retorno
- End Function
- Public Function Cargar(ByVal CodInv As String)
- Dim objCon As New Conexion
- Dim sql As String
- Dim cmd As SqlCommand
- Dim Coleccion As New Collection
- Dim cn As SqlConnection = objCon.Conectar
- If cn.State = ConnectionState.Closed Then
- cn.Open()
- End If
- sql = "SELECT * FROM [dbo].[FINV] WHERE CodInv=@CodInv"
- cmd = New SqlCommand
- cmd.CommandText = sql
- cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = CodInv
- cmd.Connection = cn
- ' Dim Datos = cmd.ExecuteScalar
- Dim Datos = cmd.ExecuteReader
- If Datos.HasRows Then
- 'SE ENCONTRO EL REGISTRO
- If Datos.Read Then
- Coleccion.Add(Operaciones.ConvertirDecimal(Datos("ValNominal").ToString))
- Coleccion.Add(Operaciones.ConvertirDecimal(Datos("CuoPart").ToString))
- Coleccion.Add(Operaciones.ConvertirDecimal(Datos("ValPart").ToString))
- Coleccion.Add(Operaciones.ConvertirDecimal(Datos("PorcComisionCasa").ToString))
- Coleccion.Add(Operaciones.ConvertirDecimal(Datos("PorcComisionBolsa").ToString))
- Coleccion.Add(Operaciones.ConvertirDecimal(Datos("ComisionCasa").ToString))
- Coleccion.Add(Operaciones.ConvertirDecimal(Datos("ComisionBolsa").ToString))
- Coleccion.Add(Operaciones.ConvertirDecimal(Datos("ValTrans").ToString))
- Coleccion.Add(Operaciones.ConvertirFecha(Datos("FechaOpe").ToString))
- Coleccion.Add(Operaciones.ConvertirFecha(Datos("FechaLiq").ToString))
- Coleccion.Add(Operaciones.ConvertirFecha(Datos("FechaVen").ToString))
- Coleccion.Add(Operaciones.ConvertirEntero(Datos("DiasLiq").ToString))
- Coleccion.Add(Operaciones.ConvertirDecimal(Datos("RendOfre").ToString))
- Coleccion.Add(Datos("Periodicidad").ToString)
- Coleccion.Add(Operaciones.ConvertirEntero(Datos("Base").ToString))
- Coleccion.Add(Operaciones.ConvertirEntero(Datos("Plazo").ToString))
- Coleccion.Add(Operaciones.ConvertirDecimal(Datos("Dividendo").ToString))
- Coleccion.Add(Datos("TipCalBase").ToString)
- Return Coleccion
- End If
- End If
- cn.Close()
- Return Coleccion
- End Function
- Public Function CargarFilas(ByVal codigo As String)
- Dim objCon As New Conexion
- Dim cn As SqlConnection = objCon.Conectar
- If cn.State = ConnectionState.Closed Then
- cn.Open()
- End If
- Dim sql = "select * from FINV1 where CodInv='" + codigo + "'"
- Dim cmd As New SqlCommand(sql, cn)
- Dim dr As SqlDataReader
- Dim Tabla As New DataTable
- dr = cmd.ExecuteReader
- Tabla.Load(dr)
- cn.Close()
- Return Tabla
- End Function
- Public Sub Eliminar(ByVal CodInv As String)
- 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
- sql = "DELETE FROM [dbo].[FINV]
- WHERE [CodInv]=@CodInv"
- cmd = New SqlCommand
- cmd.CommandText = sql
- cmd.Connection = cn
- cmd.Transaction = myTrans
- cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = CodInv
- retorno = cmd.ExecuteNonQuery
- sql = "DELETE FROM [dbo].[FINV1]
- WHERE [CodInv]=@CodInv"
- cmd = New SqlCommand
- cmd.CommandText = sql
- cmd.Connection = cn
- cmd.Transaction = myTrans
- cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = CodInv
- retorno = cmd.ExecuteNonQuery
- myTrans.Commit()
- MsgBox("Datos Eliminados")
- Catch ex As Exception
- myTrans.Rollback()
- MsgBox(ex.Message)
- End Try
- cn.Close()
- End Sub
- Public Sub EliminarIngreso(ByVal Codigo As String, ByVal NumDiv As Integer)
- Dim objCon As New Conexion
- Dim sql As String
- Dim cmd As SqlCommand
- Dim res As Integer
- Dim cn As SqlConnection = objCon.Conectar
- If cn.State = ConnectionState.Closed Then
- cn.Open()
- End If
- sql = "DELETE FROM FINV1
- WHERE [CodInv]=@CodInv AND [NumDiv]=@NumDiv"
- cmd = New SqlCommand
- cmd.CommandText = sql
- cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
- cmd.Parameters.Add("@NumDiv", SqlDbType.Int).Value = NumDiv
- cmd.Connection = cn
- res = cmd.ExecuteNonQuery
- cn.Close()
- End Sub
- End Class
|