SeleccionTitulosReportosDAO.vb 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359
  1. Imports System.Data.SqlClient
  2. Public Class SeleccionTitulosReportosDAO
  3. Dim da As SqlDataAdapter
  4. Dim Operaciones As New Operaciones
  5. Public Function ProcesoDatos(ByVal Coleccion As Collection)
  6. Dim objCon As New Conexion
  7. Dim cn As SqlConnection = objCon.Conectar
  8. Dim retorno As Integer
  9. Dim sql As String
  10. Dim cmd As SqlCommand
  11. Dim myTrans As SqlTransaction
  12. If cn Is Nothing Then
  13. cn = objCon.Conectar
  14. End If
  15. If cn.State = ConnectionState.Open Then
  16. cn.Close()
  17. cn.Dispose()
  18. cn = objCon.Conectar
  19. cn.Open()
  20. Else
  21. cn = objCon.Conectar
  22. cn.Open()
  23. End If
  24. myTrans = cn.BeginTransaction()
  25. Try
  26. Dim PosicionCreacion As Integer = 0
  27. For Each DicRegistros As Dictionary(Of String, Object) In Coleccion
  28. PosicionCreacion += 1
  29. Dim CodigoAsociado = Function()
  30. If DicRegistros.ContainsKey("CodigoAsociado") Then
  31. Return DicRegistros.Item("CodigoAsociado")
  32. Else
  33. Return String.Empty
  34. End If
  35. End Function
  36. Dim NombreInstrumento = Function()
  37. If DicRegistros.ContainsKey("NombreInstrumento") Then
  38. Return DicRegistros.Item("NombreInstrumento")
  39. Else
  40. Return String.Empty
  41. End If
  42. End Function
  43. Dim NombreEmpresa = Function()
  44. If DicRegistros.ContainsKey("NombreEmpresa") Then
  45. Return DicRegistros.Item("NombreEmpresa")
  46. Else
  47. Return String.Empty
  48. End If
  49. End Function
  50. Dim TipoAsignacion = Function()
  51. If DicRegistros.ContainsKey("TipoAsignacion") Then
  52. Return DicRegistros.Item("TipoAsignacion")
  53. Else
  54. Return String.Empty
  55. End If
  56. End Function
  57. Dim MontoInicial = Function()
  58. If DicRegistros.ContainsKey("MontoInicial") Then
  59. Return DicRegistros.Item("MontoInicial")
  60. Else
  61. Return 0
  62. End If
  63. End Function
  64. Dim MontoTotalUsado = Function()
  65. If DicRegistros.ContainsKey("MontoTotalUsado") Then
  66. Return DicRegistros.Item("MontoTotalUsado")
  67. Else
  68. Return 0
  69. End If
  70. End Function
  71. Dim PorcentajeRestante = Function()
  72. If DicRegistros.ContainsKey("PorcentajeRestante") Then
  73. Return DicRegistros.Item("PorcentajeRestante")
  74. Else
  75. Return 0
  76. End If
  77. End Function
  78. Dim PorcentajeMontoUsado = Function()
  79. If DicRegistros.ContainsKey("PorcentajeMontoUsado") Then
  80. Return DicRegistros.Item("PorcentajeMontoUsado")
  81. Else
  82. Return 0
  83. End If
  84. End Function
  85. Dim MontoDisponible = Function()
  86. If DicRegistros.ContainsKey("MontoDisponible") Then
  87. Return DicRegistros.Item("MontoDisponible")
  88. Else
  89. Return 0
  90. End If
  91. End Function
  92. Dim MontoUsado = Function()
  93. If DicRegistros.ContainsKey("MontoUsado") Then
  94. Return DicRegistros.Item("MontoUsado")
  95. Else
  96. Return 0
  97. End If
  98. End Function
  99. Dim MontoTitulo = Function()
  100. If DicRegistros.ContainsKey("MontoTitulo") Then
  101. Return DicRegistros.Item("MontoTitulo")
  102. Else
  103. Return 0
  104. End If
  105. End Function
  106. Dim MontoNoUsado = Function()
  107. If DicRegistros.ContainsKey("MontoNoUsado") Then
  108. Return DicRegistros.Item("MontoNoUsado")
  109. Else
  110. Return 0
  111. End If
  112. End Function
  113. Dim FechaCreado = Function()
  114. If DicRegistros.ContainsKey("FechaCreado") Then
  115. Return DicRegistros.Item("FechaCreado")
  116. Else
  117. Return Date.Now.Date
  118. End If
  119. End Function
  120. Dim EstadoProceso = Function()
  121. If DicRegistros.ContainsKey("EstadoProceso") Then
  122. Return DicRegistros.Item("EstadoProceso")
  123. Else
  124. Return String.Empty
  125. End If
  126. End Function
  127. Dim Asociado = Function()
  128. If DicRegistros.ContainsKey("Asociado") Then
  129. Return DicRegistros.Item("Asociado")
  130. Else
  131. Return "No"
  132. End If
  133. End Function
  134. Dim CodigoReporto = Function()
  135. If DicRegistros.ContainsKey("CodigoReporto") Then
  136. Return DicRegistros.Item("CodigoReporto")
  137. Else
  138. Return String.Empty
  139. End If
  140. End Function
  141. Dim IdFlujo = Function()
  142. If DicRegistros.ContainsKey("IdFlujo") Then
  143. Return DicRegistros.Item("IdFlujo")
  144. Else
  145. Return 0
  146. End If
  147. End Function
  148. Dim ValorCodigoAsociado As String = CodigoAsociado().ToString
  149. Dim ValorNombreInstrumento As String = NombreInstrumento().ToString
  150. Dim ValorNombreEmpresa As String = NombreEmpresa().ToString
  151. Dim ValorTipoAsignacion As String = TipoAsignacion().ToString
  152. Dim ValorMontoInicial As Double = Operaciones.ConvertirDecimal(MontoInicial().ToString)
  153. Dim ValorMontoTotalUsado As Double = Operaciones.ConvertirDecimal(MontoTotalUsado().ToString)
  154. Dim ValorPorcentajeRestante As Double = Operaciones.ConvertirDecimal(PorcentajeRestante().ToString) / 100
  155. Dim ValorPorcentajeMontoUsado As Double = Operaciones.ConvertirDecimal(PorcentajeMontoUsado().ToString) / 100
  156. Dim ValorMontoDisponible As Double = Operaciones.ConvertirDecimal(MontoDisponible().ToString)
  157. Dim ValorMontoUsado As Double = Operaciones.ConvertirDecimal(MontoUsado().ToString)
  158. Dim ValorMontoTitulo As Double = Operaciones.ConvertirDecimal(MontoTitulo().ToString)
  159. Dim ValorMontoNoUsado As Double = Operaciones.ConvertirDecimal(MontoNoUsado().ToString)
  160. Dim ValorFechaCreado As Date = Operaciones.ConvertirFecha(FechaCreado().ToString)
  161. Dim ValorEstadoProceso As String = EstadoProceso().ToString
  162. Dim ValorAsociado As String = Asociado().ToString
  163. Dim ValorCodigoReporto As String = CodigoReporto().ToString
  164. Dim ValorIdFlujo As Integer = IdFlujo()
  165. sql = "INSERT INTO EspCreTit(
  166. [CodigoAsociado]
  167. ,[CodigoReporto]
  168. ,[Titulo]
  169. ,[Empresa]
  170. ,[Instrumento]
  171. ,[CodigoEstado]
  172. ,[Nombre]
  173. ,[Descrip]
  174. ,[IdFlujo]
  175. ,[PosicionCreacion]
  176. ,[TipoAsignacion]
  177. ,[MontoInicial]
  178. ,[MontoAplicadoPorcentajeCasa]
  179. ,[PorcentajeRestante]
  180. ,[PorcentajeGarantia]
  181. ,[MontoDisponible]
  182. ,[MontoUsado]
  183. ,[SaldoAplicadoTitulo]
  184. ,[SaldoValorTitulo]
  185. ,[FechaCreado]
  186. ,[EstadoProceso]
  187. )VALUES(
  188. @CodigoAsociado
  189. ,@CodigoReporto
  190. ,@Titulo
  191. ,@Empresa
  192. ,@Instrumento
  193. ,@CodigoEstado
  194. ,@Nombre
  195. ,@Descrip
  196. ,@IdFlujo
  197. ,@PosicionCreacion
  198. ,@TipoAsignacion
  199. ,@MontoInicial
  200. ,@MontoAplicadoPorcentajeCasa
  201. ,@PorcentajeRestante
  202. ,@PorcentajeGarantia
  203. ,@MontoDisponible
  204. ,@MontoUsado
  205. ,@SaldoAplicadoTitulo
  206. ,@SaldoValorTitulo
  207. ,@FechaCreado
  208. ,@EstadoProceso
  209. )"
  210. cmd = New SqlCommand
  211. cmd.CommandText = sql
  212. cmd.Connection = cn
  213. cmd.Transaction = myTrans
  214. cmd.Parameters.Add("@CodigoAsociado", SqlDbType.VarChar).Value = ValorCodigoAsociado
  215. cmd.Parameters.Add("@CodigoReporto", SqlDbType.VarChar).Value = ValorCodigoReporto
  216. cmd.Parameters.Add("@Titulo", SqlDbType.VarChar).Value = ValorNombreInstrumento
  217. cmd.Parameters.Add("@Empresa", SqlDbType.VarChar).Value = ValorNombreEmpresa
  218. cmd.Parameters.Add("@Instrumento", SqlDbType.VarChar).Value = ValorNombreInstrumento
  219. cmd.Parameters.Add("@CodigoEstado", SqlDbType.VarChar).Value = "TA"
  220. cmd.Parameters.Add("@Nombre", SqlDbType.VarChar).Value = "Titulos Asignados"
  221. cmd.Parameters.Add("@Descrip", SqlDbType.VarChar).Value = "Titulos Asignados(En Espera de ser Generados)"
  222. cmd.Parameters.Add("@IdFlujo", SqlDbType.Int).Value = ValorIdFlujo
  223. cmd.Parameters.Add("@PosicionCreacion", SqlDbType.Int).Value = PosicionCreacion
  224. cmd.Parameters.Add("@TipoAsignacion", SqlDbType.VarChar).Value = ValorTipoAsignacion
  225. cmd.Parameters.Add("@MontoInicial", SqlDbType.Float).Value = ValorMontoInicial
  226. cmd.Parameters.Add("@MontoAplicadoPorcentajeCasa", SqlDbType.Float).Value = ValorMontoTotalUsado
  227. cmd.Parameters.Add("@PorcentajeRestante", SqlDbType.Float).Value = ValorPorcentajeRestante
  228. cmd.Parameters.Add("@PorcentajeGarantia", SqlDbType.Float).Value = ValorPorcentajeMontoUsado
  229. cmd.Parameters.Add("@MontoDisponible", SqlDbType.Float).Value = ValorMontoDisponible
  230. cmd.Parameters.Add("@MontoUsado", SqlDbType.Float).Value = ValorMontoUsado
  231. cmd.Parameters.Add("@SaldoAplicadoTitulo", SqlDbType.Float).Value = ValorMontoTitulo
  232. cmd.Parameters.Add("@SaldoValorTitulo", SqlDbType.Float).Value = ValorMontoNoUsado
  233. cmd.Parameters.Add("@FechaCreado", SqlDbType.Date).Value = ValorFechaCreado
  234. cmd.Parameters.Add("@EstadoProceso", SqlDbType.VarChar).Value = ValorEstadoProceso
  235. retorno = cmd.ExecuteNonQuery
  236. Next
  237. ''''''''''''''''''
  238. myTrans.Commit()
  239. MsgBox("Datos Ingresados")
  240. Catch ex As Exception
  241. myTrans.Rollback()
  242. MsgBox(ex.Message)
  243. End Try
  244. cn.Close()
  245. Return retorno
  246. End Function
  247. End Class