PoolTitulosDAO.vb 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329
  1. 
  2. Imports System.Data.SqlClient
  3. Public Class PoolTitulosDAO
  4. Dim Operaciones As New Operaciones
  5. Function NuevoCodigo()
  6. Dim objCon As New Conexion
  7. Dim valor As String = String.Empty
  8. Dim cn As SqlConnection = objCon.Conectar
  9. If cn.State = ConnectionState.Closed Then
  10. cn.Open()
  11. End If
  12. Dim sql = "[dbo].[SP_GenerarCodigoAsociacion]"
  13. Dim cmd As New SqlCommand(sql, cn)
  14. cmd.CommandType = CommandType.StoredProcedure
  15. valor = cmd.ExecuteScalar
  16. cmd.Dispose()
  17. cn.Dispose()
  18. Return valor
  19. End Function
  20. 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
  21. Dim objCon As New Conexion
  22. Dim da As New SqlDataAdapter
  23. Dim ds As New DataSet
  24. Dim cn As SqlConnection = objCon.Conectar
  25. If cn.State = ConnectionState.Closed Then
  26. cn.Open()
  27. End If
  28. Dim sql = "[dbo].[SP_PoolTitulos]"
  29. Dim cmd As New SqlCommand(sql, cn)
  30. cmd.CommandType = CommandType.StoredProcedure
  31. cmd.Parameters.Add("@FechaOperacion1", SqlDbType.Date).Value = Operaciones.ConvertirFechaBaseDatos(FechaVenOperacion1)
  32. cmd.Parameters.Add("@FechaOperacion2", SqlDbType.Date).Value = Operaciones.ConvertirFechaBaseDatos(FechaVenOperacion2)
  33. cmd.Parameters.Add("@Empresa", SqlDbType.VarChar).Value = Empresa
  34. cmd.Parameters.Add("@Instrumento", SqlDbType.VarChar).Value = Instrumento
  35. cmd.Parameters.Add("@Estado", SqlDbType.VarChar).Value = Estado
  36. da = New SqlDataAdapter(cmd)
  37. da.Fill(ds)
  38. cn.Close()
  39. Return ds
  40. End Function
  41. Public Function ProcesoDatos(ByVal Coleccion As Collection)
  42. Dim objCon As New Conexion
  43. Dim retorno As Integer
  44. Dim sql As String
  45. Dim cmd As SqlCommand
  46. Dim myTrans As SqlTransaction
  47. Dim cn As SqlConnection = objCon.Conectar
  48. If cn.State = ConnectionState.Closed Then
  49. cn.Open()
  50. End If
  51. myTrans = cn.BeginTransaction()
  52. Try
  53. For Each DicRegistros As Dictionary(Of String, Object) In Coleccion
  54. Dim CodigoTitulo = Function()
  55. If DicRegistros.ContainsKey("CodigoTitulo") Then
  56. Return DicRegistros.Item("CodigoTitulo")
  57. Else
  58. Return String.Empty
  59. End If
  60. End Function
  61. Dim CodigoAsociacion = Function()
  62. If DicRegistros.ContainsKey("CodigoAsociacion") Then
  63. Return DicRegistros.Item("CodigoAsociacion")
  64. Else
  65. Return String.Empty
  66. End If
  67. End Function
  68. Dim Instrumento = Function()
  69. If DicRegistros.ContainsKey("Instrumento") Then
  70. Return DicRegistros.Item("Instrumento")
  71. Else
  72. Return String.Empty
  73. End If
  74. End Function
  75. Dim Empresa = Function()
  76. If DicRegistros.ContainsKey("Empresa") Then
  77. Return DicRegistros.Item("Empresa")
  78. Else
  79. Return String.Empty
  80. End If
  81. End Function
  82. Dim MontoTotal = Function()
  83. If DicRegistros.ContainsKey("MontoTotal") Then
  84. Return DicRegistros.Item("MontoTotal")
  85. Else
  86. Return 0
  87. End If
  88. End Function
  89. Dim MontoUsado = Function()
  90. If DicRegistros.ContainsKey("MontoUsado") Then
  91. Return DicRegistros.Item("MontoUsado")
  92. Else
  93. Return 0
  94. End If
  95. End Function
  96. Dim Porcentaje = Function()
  97. If DicRegistros.ContainsKey("Porcentaje") Then
  98. Return DicRegistros.Item("Porcentaje")
  99. Else
  100. Return 0
  101. End If
  102. End Function
  103. Dim FechaCreacion = Function()
  104. If DicRegistros.ContainsKey("FechaCreacion") Then
  105. Return DicRegistros.Item("FechaCreacion")
  106. Else
  107. Return Date.Now.Date
  108. End If
  109. End Function
  110. Dim Asociado = Function()
  111. If DicRegistros.ContainsKey("Asociado") Then
  112. Return DicRegistros.Item("Asociado")
  113. Else
  114. Return String.Empty
  115. End If
  116. End Function
  117. Dim IdFlujo = Function()
  118. If DicRegistros.ContainsKey("IdFlujo") Then
  119. Return DicRegistros.Item("IdFlujo")
  120. Else
  121. Return 0
  122. End If
  123. End Function
  124. Dim IdEspLR = Function()
  125. If DicRegistros.ContainsKey("IdEspLR") Then
  126. Return DicRegistros.Item("IdEspLR")
  127. Else
  128. Return 0
  129. End If
  130. End Function
  131. Dim ValorCodigoTitulo As String = CodigoTitulo().ToString
  132. Dim ValorCodigoAsociacion As String = CodigoAsociacion().ToString
  133. Dim ValorInstrumento As String = Instrumento().ToString
  134. Dim ValorEmpresa As String = Empresa().ToString
  135. Dim ValorMontoTotal As Double = Operaciones.ConvertirDecimal(MontoTotal().ToString)
  136. Dim ValorMontoUsado As Double = Operaciones.ConvertirDecimal(MontoUsado().ToString)
  137. Dim ValorPorcentaje As Double = Operaciones.ConvertirDecimal(Porcentaje().ToString)
  138. Dim ValorFechaCreacion As Date = Operaciones.ConvertirFecha(FechaCreacion().ToString)
  139. Dim ValorAsociado As String = Asociado().ToString
  140. Dim ValorIdFlujo As Integer = Operaciones.ConvertirEntero(IdFlujo().ToString)
  141. Dim ValorIdEspLR As Integer = Operaciones.ConvertirEntero(IdEspLR().ToString)
  142. '###########################################################'
  143. sql = "INSERT INTO [dbo].[ListTitREPO](
  144. [CodigoAsociado]
  145. ,[CodigoTitulos]
  146. ,[CodigoEstado]
  147. ,[Nombre]
  148. ,[Descrip]
  149. ,[MontoTotal]
  150. ,[MontoUsado]
  151. ,[Porcentaje]
  152. ,[FechaCreacion]
  153. ,[IdFlujo]
  154. ,[IdEspLR]
  155. ) VALUES(
  156. @CodigoAsociado
  157. ,@CodigoTitulos
  158. ,@CodigoEstado
  159. ,@Nombre
  160. ,@Descrip
  161. ,@MontoTotal
  162. ,@MontoUsado
  163. ,@Porcentaje
  164. ,@FechaCreacion
  165. ,@IdFlujo
  166. ,@IdEspLR
  167. )
  168. "
  169. cmd = New SqlCommand
  170. cmd.CommandText = sql
  171. cmd.Connection = cn
  172. cmd.Transaction = myTrans
  173. With cmd.Parameters
  174. .Add("@CodigoAsociado", SqlDbType.VarChar).Value = ValorCodigoAsociacion
  175. .Add("@CodigoTitulos", SqlDbType.VarChar).Value = ValorCodigoTitulo
  176. .Add("@CodigoEstado", SqlDbType.VarChar).Value = "GRESP"
  177. .Add("@Nombre", SqlDbType.VarChar).Value = "Lista Titulos"
  178. .Add("@Descrip", SqlDbType.VarChar).Value = "Lista de Titulos en Espera de Reportear"
  179. .Add("@IdFlujo", SqlDbType.VarChar).Value = ValorIdFlujo
  180. .Add("@IdEspLR", SqlDbType.VarChar).Value = ValorIdEspLR
  181. .Add("@MontoTotal", SqlDbType.Float).Value = ValorMontoTotal
  182. .Add("@MontoUsado", SqlDbType.Float).Value = ValorMontoUsado
  183. .Add("@Porcentaje", SqlDbType.Float).Value = ValorPorcentaje
  184. .Add("@FechaCreacion", SqlDbType.Date).Value = ValorFechaCreacion
  185. End With
  186. retorno = cmd.ExecuteNonQuery
  187. '#########################################################'
  188. sql = "UPDATE IniFlu SET
  189. [CodigoAsociado]=@CodigoAsociado
  190. where [IdFlujo]=@IdFlujo AND [CodigoTitulo]=@CodigoTitulo
  191. "
  192. cmd = New SqlCommand
  193. cmd.CommandText = sql
  194. cmd.Connection = cn
  195. cmd.Transaction = myTrans
  196. With cmd.Parameters
  197. .Add("@CodigoAsociado", SqlDbType.VarChar).Value = ValorCodigoAsociacion
  198. .Add("@IdFlujo", SqlDbType.VarChar).Value = ValorIdFlujo
  199. .Add("@CodigoTitulo", SqlDbType.VarChar).Value = ValorCodigoTitulo
  200. End With
  201. retorno = cmd.ExecuteNonQuery
  202. Next
  203. ''''''''''''''''''
  204. myTrans.Commit()
  205. MsgBox("Datos Ingresados")
  206. Catch ex As Exception
  207. myTrans.Rollback()
  208. MsgBox(ex.Message)
  209. End Try
  210. cn.Close()
  211. Return retorno
  212. End Function
  213. End Class