LETESDAO.vb 35 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930
  1. Imports System.Data.SqlClient
  2. Public Class LETESDAO
  3. Dim Operaciones As New Operaciones
  4. Public Function ActualizarLETE(ByVal coleccion As Collection, ByVal Instrumento As String, Optional EmpaquetarTablaBaseDatos As Dictionary(Of Integer, Collection) = Nothing)
  5. Dim objCon As New Conexion
  6. Dim retorno As Integer
  7. Dim sql As String = String.Empty
  8. Dim cmd As SqlCommand
  9. Dim cn As SqlConnection = objCon.Conectar
  10. If cn.State = ConnectionState.Closed Then
  11. cn.Open()
  12. End If
  13. Dim myTrans As SqlTransaction
  14. myTrans = cn.BeginTransaction()
  15. If (Instrumento = "LETE") Then
  16. sql = "UPDATE [dbo].[LET0] SET
  17. [ValNom]=@ValNom
  18. ,[FOper]=@FOper
  19. ,[FLiq]=@FLiq
  20. ,[RendBruto]=@RendBruto
  21. ,[Plazo]=@Plazo
  22. ,[ComisionCasa]=@ComisionCasa
  23. ,[ComisionBolsa]=@ComisionBolsa
  24. ,[CasasCorredoras]=@CasasCorredoras
  25. ,[Periodic]=@Periodic
  26. ,[AnioBase]=@AnioBase
  27. ,[ValTrans] = @ValTrans
  28. ,[Precio] = @Precio
  29. ,[TotPagar]= @TotPagar
  30. ,[RendNeto] = @RendNeto
  31. ,[IngrBruto] =@IngrBruto
  32. ,[IngrNeto] =@IngrNeto
  33. ,[ComisionCasaValor] =@ComisionCasaValor
  34. ,[ComisionBolsaValor] =@ComisionBolsaValor
  35. ,[FUlt] =@FUlt
  36. ,[FRed] =@FRed
  37. ,[FVenc] =@FVenc
  38. where [CodInv]= @CodInv
  39. "
  40. ElseIf (Instrumento = "PBUR") Then
  41. sql = "UPDATE [dbo].[PBUR] SET
  42. [ValNom]=@ValNom
  43. ,[FOper]=@FOper
  44. ,[FLiq]=@FLiq
  45. ,[RendBruto]=@RendBruto
  46. ,[Plazo]=@Plazo
  47. ,[ComisionCasa]=@ComisionCasa
  48. ,[ComisionBolsa]=@ComisionBolsa
  49. ,[CasasCorredoras]=@CasasCorredoras
  50. ,[Periodic]=@Periodic
  51. ,[AnioBase]=@AnioBase
  52. ,[ValorPar]= @ValorPar
  53. ,[FechaUltima]=@FechaUltima
  54. ,[ValTrans] = @ValTrans
  55. ,[Precio] = @Precio
  56. ,[TotPagar]= @TotPagar
  57. ,[RendNeto] = @RendNeto
  58. ,[IngrBruto] =@IngrBruto
  59. ,[IngrNeto] =@IngrNeto
  60. ,[ComisionCasaValor] =@ComisionCasaValor
  61. ,[ComisionBolsaValor] =@ComisionBolsaValor
  62. ,[FUlt] =@FUlt
  63. ,[FRed] =@FRed
  64. ,[FVenc] =@FVenc
  65. ,[IntAcumulado]=@IntAcumulado
  66. where [CodInv]= @CodInv
  67. "
  68. ElseIf (Instrumento = "VCN") Then
  69. sql = "UPDATE [dbo].[VCN] SET
  70. [ValNom]=@ValNom
  71. ,[FOper]=@FOper
  72. ,[FLiq]=@FLiq
  73. ,[RendBruto]=@RendBruto
  74. ,[Plazo]=@Plazo
  75. ,[ComisionCasa]=@ComisionCasa
  76. ,[ComisionBolsa]=@ComisionBolsa
  77. ,[CasasCorredoras]=@CasasCorredoras
  78. ,[Periodic]=@Periodic
  79. ,[AnioBase]=@AnioBase
  80. ,[ValorPar]= @ValorPar
  81. ,[FechaUltima]=@FechaUltima
  82. ,[OtrosCostos]=@OtrosCostos
  83. ,[ValTrans] = @ValTrans
  84. ,[Precio] = @Precio
  85. ,[TotPagar]= @TotPagar
  86. ,[RendNeto] = @RendNeto
  87. ,[IngrBruto] =@IngrBruto
  88. ,[IngrNeto] =@IngrNeto
  89. ,[ComisionCasaValor] =@ComisionCasaValor
  90. ,[ComisionBolsaValor] =@ComisionBolsaValor
  91. ,[FUlt] =@FUlt
  92. ,[FRed] =@FRed
  93. ,[FVenc] =@FVenc
  94. ,[IntAcumulado]=@IntAcumulado
  95. where [CodInv]= @CodInv
  96. "
  97. ElseIf (Instrumento = "CETE") Then
  98. sql = "UPDATE [dbo].[CET0] SET
  99. [ValNom]=@ValNom
  100. ,[FOper]= @FOper
  101. ,[FLiq]=@FLiq
  102. ,[RendBruto]= @RendBruto
  103. ,[Plazo]=@Plazo
  104. ,[ComisionCasa]= @ComisionCasa
  105. ,[ComisionBolsa]= @ComisionBolsa
  106. ,[CasasCorredoras]= @CasasCorredoras
  107. ,[Periodic]= @Periodic
  108. ,[AnioBase]=@AnioBase
  109. ,[FechaUltima]=@FechaUltima
  110. ,[ValTrans] = @ValTrans
  111. ,[Precio] = @Precio
  112. ,[TotPagar]= @TotPagar
  113. ,[RendNeto] = @RendNeto
  114. ,[IngrBruto] =@IngrBruto
  115. ,[IngrNeto] =@IngrNeto
  116. ,[ComisionCasaValor] =@ComisionCasaValor
  117. ,[ComisionBolsaValor] =@ComisionBolsaValor
  118. ,[FUlt] =@FUlt
  119. ,[FRed] =@FRed
  120. ,[FVenc] =@FVenc
  121. ,[IntAcumulado]=@IntAcumulado
  122. where [CodInv]= @CodInv
  123. "
  124. End If
  125. cmd = New SqlCommand
  126. cmd.CommandText = sql
  127. cmd.Connection = cn
  128. cmd.Transaction = myTrans
  129. With cmd.Parameters
  130. .Add("@ValNom", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(1).ToString)
  131. .Add("@FOper", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(2).ToString)
  132. .Add("@FLiq", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(3).ToString)
  133. .Add("@RendBruto", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(4).ToString)
  134. .Add("@Plazo", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(5).ToString)
  135. .Add("@CodInv", SqlDbType.VarChar).Value = coleccion(6).ToString
  136. .Add("@ComisionCasa", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(7).ToString)
  137. .Add("@ComisionBolsa", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(8).ToString)
  138. .Add("@Periodic", SqlDbType.VarChar).Value = coleccion(9).ToString
  139. .Add("@AnioBase", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(10).ToString)
  140. .Add("@CasasCorredoras", SqlDbType.VarChar).Value = coleccion(11).ToString
  141. If Instrumento = "LETE" Then
  142. .Add("ValTrans", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(12).ToString)
  143. .Add("Precio", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(13).ToString)
  144. .Add("TotPagar", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(14).ToString)
  145. .Add("RendNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(15).ToString)
  146. .Add("IngrBruto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(16).ToString)
  147. .Add("IngrNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(17).ToString)
  148. .Add("ComisionCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(18).ToString)
  149. .Add("ComisionBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(19).ToString)
  150. .Add("FUlt", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(20).ToString)
  151. .Add("FRed", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(21).ToString)
  152. .Add("FVenc", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(22).ToString)
  153. End If
  154. If (Instrumento = "VCN" Or Instrumento = "PBUR") Then
  155. .Add("@ValorPar", SqlDbType.Bit).Value = CByte(coleccion(12))
  156. .Add("@FechaUltima", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(13).ToString)
  157. ElseIf Instrumento = "CETE" Then
  158. .Add("@FechaUltima", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(12).ToString)
  159. .Add("ValTrans", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(13).ToString)
  160. .Add("Precio", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(14).ToString)
  161. .Add("TotPagar", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(15).ToString)
  162. .Add("RendNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(16).ToString)
  163. .Add("IngrBruto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(17).ToString)
  164. .Add("IngrNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(18).ToString)
  165. .Add("ComisionCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(19).ToString)
  166. .Add("ComisionBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(20).ToString)
  167. .Add("FUlt", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(21).ToString)
  168. .Add("FRed", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(22).ToString)
  169. .Add("FVenc", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(23).ToString)
  170. .Add("@IntAcumulado", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(24).ToString)
  171. End If
  172. If Instrumento = "VCN" Then
  173. .Add("@OtrosCostos", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(14).ToString)
  174. .Add("ValTrans", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(15).ToString)
  175. .Add("Precio", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(16).ToString)
  176. .Add("TotPagar", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(17).ToString)
  177. .Add("RendNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(18).ToString)
  178. .Add("IngrBruto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(19).ToString)
  179. .Add("IngrNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(20).ToString)
  180. .Add("ComisionCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(21).ToString)
  181. .Add("ComisionBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(22).ToString)
  182. .Add("FUlt", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(23).ToString)
  183. .Add("FRed", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(24).ToString)
  184. .Add("FVenc", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(25).ToString)
  185. .Add("@IntAcumulado", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(26).ToString)
  186. End If
  187. If Instrumento = "PBUR" Then
  188. .Add("ValTrans", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(14).ToString)
  189. .Add("Precio", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(15).ToString)
  190. .Add("TotPagar", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(16).ToString)
  191. .Add("RendNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(17).ToString)
  192. .Add("IngrBruto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(18).ToString)
  193. .Add("IngrNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(19).ToString)
  194. .Add("ComisionCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(20).ToString)
  195. .Add("ComisionBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(21).ToString)
  196. .Add("FUlt", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(22).ToString)
  197. .Add("FRed", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(23).ToString)
  198. .Add("FVenc", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(24).ToString)
  199. .Add("@IntAcumulado", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(25).ToString)
  200. End If
  201. End With
  202. retorno = cmd.ExecuteNonQuery
  203. If Instrumento = "VCN" Then
  204. sql = "delete from VCN2 where [CodInv]=@CodInv"
  205. cmd = New SqlCommand
  206. cmd.CommandText = sql
  207. cmd.Connection = cn
  208. cmd.Transaction = myTrans
  209. With cmd.Parameters
  210. .Add("@CodInv", SqlDbType.VarChar).Value = Codigo.ToString
  211. End With
  212. retorno = cmd.ExecuteNonQuery
  213. For Each FilaRegistros In EmpaquetarTablaBaseDatos
  214. Dim FilaColeccion As Collection = FilaRegistros.Value
  215. sql = "INSERT INTO [dbo].[VCN2](
  216. [CodInv]
  217. ,[Plazo]
  218. ,[Fecha]
  219. ,[Monto]
  220. ,[Cedeval]
  221. ,[PorcentajeRenta]
  222. ,[Renta]
  223. ,[CostoTransferencia]
  224. ,[CostoBanco]
  225. ,[TotalRecibir]
  226. ) VALUES(
  227. @CodInv
  228. ,@Plazo
  229. ,@Fecha
  230. ,@Monto
  231. ,@Cedeval
  232. ,@PorcentajeRenta
  233. ,@Renta
  234. ,@CostoTransferencia
  235. ,@CostoBanco
  236. ,@TotalRecibir
  237. )
  238. "
  239. cmd = New SqlCommand
  240. cmd.CommandText = sql
  241. cmd.Connection = cn
  242. cmd.Transaction = myTrans
  243. With cmd.Parameters
  244. .Add("@CodInv", SqlDbType.VarChar).Value = Codigo.ToString
  245. .Add("@Plazo", SqlDbType.Int).Value = Operaciones.ConvertirEntero(FilaColeccion(2).ToString)
  246. .Add("@Fecha", SqlDbType.Date).Value = Operaciones.ConvertirFecha(FilaColeccion(3).ToString)
  247. .Add("@Monto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(4).ToString)
  248. .Add("@Cedeval", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(5).ToString)
  249. .Add("@PorcentajeRenta", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(6)) / 100
  250. .Add("@Renta", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(7))
  251. .Add("@CostoTransferencia", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(8))
  252. .Add("@CostoBanco", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(9))
  253. .Add("@TotalRecibir", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(10))
  254. End With
  255. retorno = cmd.ExecuteNonQuery
  256. Next
  257. End If
  258. ''#############################################################################################################
  259. ''#############################################################################################################
  260. Try
  261. myTrans.Commit()
  262. MsgBox("Registro Modificado con éxito")
  263. Catch ex As Exception
  264. MsgBox("Error al crear el registro")
  265. myTrans.Rollback()
  266. MsgBox(ex.Message)
  267. End Try
  268. cn.Close()
  269. Return retorno
  270. End Function
  271. Public Function NuevoIngreso(ByVal coleccion As Collection, ByVal Instrumento As String, Optional EmpaquetarTablaBaseDatos As Dictionary(Of Integer, Collection) = Nothing
  272. )
  273. Dim objCon As New Conexion
  274. Dim retorno As Integer
  275. Dim sql As String
  276. Dim cmd As SqlCommand
  277. Dim myTrans As SqlTransaction
  278. Dim cn As SqlConnection = objCon.Conectar
  279. If cn.State = ConnectionState.Closed Then
  280. cn.Open()
  281. End If
  282. myTrans = cn.BeginTransaction()
  283. If (Instrumento = "LETE") Then
  284. sql = "INSERT INTO [dbo].[LET0](
  285. [CodInv]
  286. ,[ValNom]
  287. ,[FOper]
  288. ,[FLiq]
  289. ,[RendBruto]
  290. ,[Plazo]
  291. ,[ComisionCasa]
  292. ,[ComisionBolsa]
  293. ,[CasasCorredoras]
  294. ,[Periodic]
  295. ,[AnioBase]
  296. ,[ValTrans]
  297. ,[Precio]
  298. ,[TotPagar]
  299. ,[RendNeto]
  300. ,[IngrBruto]
  301. ,[IngrNeto]
  302. ,[ComisionCasaValor]
  303. ,[ComisionBolsaValor]
  304. ,[FUlt]
  305. ,[FRed]
  306. ,[FVenc]
  307. )
  308. VALUES(
  309. @CodInv
  310. ,@ValNom
  311. ,@FOper
  312. ,@FLiq
  313. ,@RendBruto
  314. ,@Plazo
  315. ,@ComisionCasa
  316. ,@ComisionBolsa
  317. ,@CasasCorredoras
  318. ,@Periodic
  319. ,@AnioBase
  320. ,@ValTrans
  321. ,@Precio
  322. ,@TotPagar
  323. ,@RendNeto
  324. ,@IngrBruto
  325. ,@IngrNeto
  326. ,@ComisionCasaValor
  327. ,@ComisionBolsaValor
  328. ,@FUlt
  329. ,@FRed
  330. ,@FVenc
  331. )
  332. "
  333. ElseIf (Instrumento = "PBUR") Then
  334. sql = "INSERT INTO [dbo].[PBUR](
  335. [CodInv]
  336. ,[ValNom]
  337. ,[FOper]
  338. ,[FLiq]
  339. ,[RendBruto]
  340. ,[Plazo]
  341. ,[ComisionCasa]
  342. ,[ComisionBolsa]
  343. ,[CasasCorredoras]
  344. ,[Periodic]
  345. ,[AnioBase]
  346. ,[ValorPar]
  347. ,[FechaUltima]
  348. ,[ValTrans]
  349. ,[Precio]
  350. ,[TotPagar]
  351. ,[RendNeto]
  352. ,[IngrBruto]
  353. ,[IngrNeto]
  354. ,[ComisionCasaValor]
  355. ,[ComisionBolsaValor]
  356. ,[FUlt]
  357. ,[FRed]
  358. ,[FVenc]
  359. ,[IntAcumulado]
  360. )
  361. VALUES(
  362. @CodInv
  363. ,@ValNom
  364. ,@FOper
  365. ,@FLiq
  366. ,@RendBruto
  367. ,@Plazo
  368. ,@ComisionCasa
  369. ,@ComisionBolsa
  370. ,@CasasCorredoras
  371. ,@Periodic
  372. ,@AnioBase
  373. ,@ValorPar
  374. ,@FechaUltima
  375. ,@ValTrans
  376. ,@Precio
  377. ,@TotPagar
  378. ,@RendNeto
  379. ,@IngrBruto
  380. ,@IngrNeto
  381. ,@ComisionCasaValor
  382. ,@ComisionBolsaValor
  383. ,@FUlt
  384. ,@FRed
  385. ,@FVenc
  386. ,@IntAcumulado
  387. )
  388. "
  389. ElseIf (Instrumento = "VCN") Then
  390. sql = "INSERT INTO [dbo].[VCN](
  391. [CodInv]
  392. ,[ValNom]
  393. ,[FOper]
  394. ,[FLiq]
  395. ,[RendBruto]
  396. ,[Plazo]
  397. ,[ComisionCasa]
  398. ,[ComisionBolsa]
  399. ,[CasasCorredoras]
  400. ,[Periodic]
  401. ,[AnioBase]
  402. ,[ValorPar]
  403. ,[FechaUltima]
  404. ,[OtrosCostos]
  405. ,[ValTrans]
  406. ,[Precio]
  407. ,[TotPagar]
  408. ,[RendNeto]
  409. ,[IngrBruto]
  410. ,[IngrNeto]
  411. ,[ComisionCasaValor]
  412. ,[ComisionBolsaValor]
  413. ,[FUlt]
  414. ,[FRed]
  415. ,[FVenc]
  416. ,[IntAcumulado]
  417. )
  418. VALUES(
  419. @CodInv
  420. ,@ValNom
  421. ,@FOper
  422. ,@FLiq
  423. ,@RendBruto
  424. ,@Plazo
  425. ,@ComisionCasa
  426. ,@ComisionBolsa
  427. ,@CasasCorredoras
  428. ,@Periodic
  429. ,@AnioBase
  430. ,@ValorPar
  431. ,@FechaUltima
  432. ,@OtrosCostos
  433. ,@ValTrans
  434. ,@Precio
  435. ,@TotPagar
  436. ,@RendNeto
  437. ,@IngrBruto
  438. ,@IngrNeto
  439. ,@ComisionCasaValor
  440. ,@ComisionBolsaValor
  441. ,@FUlt
  442. ,@FRed
  443. ,@FVenc
  444. ,@IntAcumulado
  445. )
  446. "
  447. ElseIf (Instrumento = "CETE") Then
  448. sql = "INSERT INTO [dbo].[CET0](
  449. [CodInv]
  450. ,[ValNom]
  451. ,[FOper]
  452. ,[FLiq]
  453. ,[RendBruto]
  454. ,[Plazo]
  455. ,[ComisionCasa]
  456. ,[ComisionBolsa]
  457. ,[CasasCorredoras]
  458. ,[Periodic]
  459. ,[AnioBase]
  460. ,[FechaUltima]
  461. ,[ValTrans]
  462. ,[Precio]
  463. ,[TotPagar]
  464. ,[RendNeto]
  465. ,[IngrBruto]
  466. ,[IngrNeto]
  467. ,[ComisionCasaValor]
  468. ,[ComisionBolsaValor]
  469. ,[FUlt]
  470. ,[FRed]
  471. ,[FVenc]
  472. ,[IntAcumulado]
  473. )
  474. VALUES(
  475. @CodInv
  476. ,@ValNom
  477. ,@FOper
  478. ,@FLiq
  479. ,@RendBruto
  480. ,@Plazo
  481. ,@ComisionCasa
  482. ,@ComisionBolsa
  483. ,@CasasCorredoras
  484. ,@Periodic
  485. ,@AnioBase
  486. ,@FechaUltima
  487. ,@ValTrans
  488. ,@Precio
  489. ,@TotPagar
  490. ,@RendNeto
  491. ,@IngrBruto
  492. ,@IngrNeto
  493. ,@ComisionCasaValor
  494. ,@ComisionBolsaValor
  495. ,@FUlt
  496. ,@FRed
  497. ,@FVenc
  498. ,@IntAcumulado
  499. )
  500. "
  501. End If
  502. Try
  503. cmd = New SqlCommand
  504. cmd.CommandText = sql
  505. cmd.Connection = cn
  506. cmd.Transaction = myTrans
  507. With cmd.Parameters
  508. .Add("@ValNom", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(1).ToString)
  509. .Add("@FOper", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(2).ToString)
  510. .Add("@FLiq", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(3).ToString)
  511. .Add("@RendBruto", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(4).ToString)
  512. .Add("@Plazo", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(5).ToString)
  513. .Add("@CodInv", SqlDbType.VarChar).Value = coleccion(6).ToString
  514. .Add("@ComisionCasa", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(7).ToString)
  515. .Add("@ComisionBolsa", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(8).ToString)
  516. .Add("@Periodic", SqlDbType.VarChar).Value = coleccion(9).ToString
  517. .Add("@AnioBase", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(10).ToString)
  518. .Add("@CasasCorredoras", SqlDbType.VarChar).Value = coleccion(11).ToString
  519. If Instrumento = "LETE" Then
  520. .Add("ValTrans", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(12).ToString)
  521. .Add("Precio", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(13).ToString)
  522. .Add("TotPagar", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(14).ToString)
  523. .Add("RendNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(15).ToString)
  524. .Add("IngrBruto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(16).ToString)
  525. .Add("IngrNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(17).ToString)
  526. .Add("ComisionCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(18).ToString)
  527. .Add("ComisionBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(19).ToString)
  528. .Add("FUlt", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(20).ToString)
  529. .Add("FRed", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(21).ToString)
  530. .Add("FVenc", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(22).ToString)
  531. End If
  532. If (Instrumento = "VCN" Or Instrumento = "PBUR") Then
  533. .Add("@ValorPar", SqlDbType.Bit).Value = CByte(coleccion(12))
  534. .Add("@FechaUltima", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(13).ToString)
  535. ElseIf Instrumento = "CETE" Then
  536. .Add("@FechaUltima", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(12).ToString)
  537. .Add("ValTrans", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(13).ToString)
  538. .Add("Precio", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(14).ToString)
  539. .Add("TotPagar", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(15).ToString)
  540. .Add("RendNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(16).ToString)
  541. .Add("IngrBruto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(17).ToString)
  542. .Add("IngrNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(18).ToString)
  543. .Add("ComisionCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(19).ToString)
  544. .Add("ComisionBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(20).ToString)
  545. .Add("FUlt", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(21).ToString)
  546. .Add("FRed", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(22).ToString)
  547. .Add("FVenc", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(23).ToString)
  548. .Add("@IntAcumulado", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(24).ToString)
  549. End If
  550. If Instrumento = "VCN" Then
  551. .Add("@OtrosCostos", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(14).ToString)
  552. .Add("ValTrans", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(15).ToString)
  553. .Add("Precio", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(16).ToString)
  554. .Add("TotPagar", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(17).ToString)
  555. .Add("RendNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(18).ToString)
  556. .Add("IngrBruto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(19).ToString)
  557. .Add("IngrNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(20).ToString)
  558. .Add("ComisionCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(21).ToString)
  559. .Add("ComisionBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(22).ToString)
  560. .Add("FUlt", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(23).ToString)
  561. .Add("FRed", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(24).ToString)
  562. .Add("FVenc", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(25).ToString)
  563. .Add("@IntAcumulado", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(26).ToString)
  564. End If
  565. If Instrumento = "PBUR" Then
  566. .Add("ValTrans", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(14).ToString)
  567. .Add("Precio", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(15).ToString)
  568. .Add("TotPagar", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(16).ToString)
  569. .Add("RendNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(17).ToString)
  570. .Add("IngrBruto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(18).ToString)
  571. .Add("IngrNeto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(19).ToString)
  572. .Add("ComisionCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(20).ToString)
  573. .Add("ComisionBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(21).ToString)
  574. .Add("FUlt", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(22).ToString)
  575. .Add("FRed", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(23).ToString)
  576. .Add("FVenc", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(24).ToString)
  577. .Add("@IntAcumulado", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(25).ToString)
  578. End If
  579. End With
  580. retorno = cmd.ExecuteNonQuery
  581. ''#############################################################################################################
  582. ''#############################################################################################################
  583. If Instrumento = "VCN" Then
  584. sql = "delete from VCN2 where [CodInv]=@CodInv"
  585. cmd = New SqlCommand
  586. cmd.CommandText = sql
  587. cmd.Connection = cn
  588. cmd.Transaction = myTrans
  589. With cmd.Parameters
  590. .Add("@CodInv", SqlDbType.VarChar).Value = Codigo.ToString
  591. End With
  592. retorno = cmd.ExecuteNonQuery
  593. For Each FilaRegistros In EmpaquetarTablaBaseDatos
  594. Dim FilaColeccion As Collection = FilaRegistros.Value
  595. sql = "INSERT INTO [dbo].[VCN2](
  596. [CodInv]
  597. ,[Plazo]
  598. ,[Fecha]
  599. ,[Monto]
  600. ,[Cedeval]
  601. ,[PorcentajeRenta]
  602. ,[Renta]
  603. ,[CostoTransferencia]
  604. ,[CostoBanco]
  605. ,[TotalRecibir]
  606. ) VALUES(
  607. @CodInv
  608. ,@Plazo
  609. ,@Fecha
  610. ,@Monto
  611. ,@Cedeval
  612. ,@PorcentajeRenta
  613. ,@Renta
  614. ,@CostoTransferencia
  615. ,@CostoBanco
  616. ,@TotalRecibir
  617. )
  618. "
  619. cmd = New SqlCommand
  620. cmd.CommandText = sql
  621. cmd.Connection = cn
  622. cmd.Transaction = myTrans
  623. With cmd.Parameters
  624. .Add("@CodInv", SqlDbType.VarChar).Value = Codigo.ToString
  625. .Add("@Plazo", SqlDbType.Int).Value = Operaciones.ConvertirEntero(FilaColeccion(2).ToString)
  626. .Add("@Fecha", SqlDbType.Date).Value = Operaciones.ConvertirFecha(FilaColeccion(3).ToString)
  627. .Add("@Monto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(4).ToString)
  628. .Add("@Cedeval", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(5).ToString)
  629. .Add("@PorcentajeRenta", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(6)) / 100
  630. .Add("@Renta", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(7))
  631. .Add("@CostoTransferencia", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(8))
  632. .Add("@CostoBanco", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(9))
  633. .Add("@TotalRecibir", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(FilaColeccion(10))
  634. End With
  635. retorno = cmd.ExecuteNonQuery
  636. Next
  637. End If
  638. ''#############################################################################################################
  639. ''#############################################################################################################
  640. myTrans.Commit()
  641. MsgBox("Datos Ingresados")
  642. MsgBox("Registro creado con éxito")
  643. Catch ex As Exception
  644. MsgBox("Error al crear el registro")
  645. myTrans.Rollback()
  646. MsgBox(ex.Message)
  647. End Try
  648. cn.Close()
  649. Return retorno
  650. End Function
  651. Public Sub Eliminar(ByVal Eliminar As String, ByVal Instrumento As String)
  652. Dim objCon As New Conexion
  653. Dim sql As String
  654. Dim cmd As SqlCommand
  655. Dim res As Integer
  656. Dim cn As SqlConnection = objCon.Conectar
  657. If cn.State = ConnectionState.Closed Then
  658. cn.Open()
  659. End If
  660. If (Instrumento = "LETE") Then
  661. sql = "DELETE FROM [dbo].[LET0]
  662. WHERE [CodInv]=@CodInv"
  663. ElseIf (Instrumento = "PBUR") Then
  664. sql = "DELETE FROM [dbo].[PBUR]
  665. WHERE [CodInv]=@CodInv"
  666. ElseIf (Instrumento = "VCN") Then
  667. sql = "DELETE FROM [dbo].[VCN]
  668. WHERE [CodInv]=@CodInv"
  669. ElseIf (Instrumento = "CETE") Then
  670. sql = "DELETE FROM [dbo].[CET0]
  671. WHERE [CodInv]=@CodInv"
  672. End If
  673. cn = objCon.Conectar
  674. Try
  675. cmd = New SqlCommand
  676. cmd.CommandText = sql
  677. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Eliminar
  678. cmd.Connection = cn
  679. res = cmd.ExecuteNonQuery
  680. MsgBox("Registro eliminado con éxito")
  681. Catch ex As Exception
  682. MsgBox("Error al eliminar el registro")
  683. End Try
  684. cn.Close()
  685. End Sub
  686. Public Function Cargar(ByVal CodInversion As String, ByVal Instrumento As String)
  687. Dim objCon As New Conexion
  688. Dim sql As String
  689. Dim cmd As SqlCommand
  690. Dim Coleccion As New Collection
  691. Dim cn As SqlConnection = objCon.Conectar
  692. If cn.State = ConnectionState.Closed Then
  693. cn.Open()
  694. End If
  695. If (Instrumento = "LETE") Then
  696. sql = "SELECT * FROM [dbo].[LET0] WHERE CodInv=@CodInversion"
  697. ElseIf (Instrumento = "PBUR") Then
  698. sql = "SELECT * FROM [dbo].[PBUR] WHERE CodInv=@CodInversion"
  699. ElseIf (Instrumento = "VCN") Then
  700. sql = "SELECT * FROM [dbo].[VCN] WHERE CodInv=@CodInversion"
  701. ElseIf (Instrumento = "CETE") Then
  702. sql = "SELECT * FROM [dbo].[CET0] WHERE CodInv=@CodInversion"
  703. End If
  704. cmd = New SqlCommand
  705. cmd.CommandText = sql
  706. cmd.Parameters.Add("@CodInversion", SqlDbType.VarChar).Value = CodInversion
  707. cmd.Connection = cn
  708. Dim Datos = cmd.ExecuteReader
  709. If Datos.HasRows Then
  710. 'SE ENCONTRO EL REGISTRO
  711. If Datos.Read Then
  712. Coleccion.Add(Datos.Item("ValNom"))
  713. Coleccion.Add(Datos.Item("FOper"))
  714. Coleccion.Add(Datos.Item("FLiq"))
  715. Coleccion.Add(Datos.Item("Plazo"))
  716. Coleccion.Add(Datos.Item("RendBruto"))
  717. Coleccion.Add(Datos.Item("CodCasa"))
  718. Coleccion.Add(Datos.Item("Periodic"))
  719. Coleccion.Add(Datos.Item("AnioBase"))
  720. Coleccion.Add(Datos.Item("ComisionCasa"))
  721. Coleccion.Add(Datos.Item("ComisionBolsa"))
  722. Coleccion.Add(Datos.Item("CodInv"))
  723. Coleccion.Add(Datos.Item("CasasCorredoras"))
  724. If (Instrumento = "PBUR" Or Instrumento = "VCN") Then
  725. Coleccion.Add(Datos.Item("ValorPar"))
  726. Coleccion.Add(Datos.Item("FechaUltima"))
  727. ElseIf Instrumento = "CETE" Then
  728. Coleccion.Add(Datos.Item("FechaUltima"))
  729. End If
  730. If Instrumento = "VCN" Then
  731. Coleccion.Add(Datos.Item("OtrosCostos"))
  732. End If
  733. cn.Close()
  734. Return Coleccion
  735. End If
  736. End If
  737. Coleccion.Add(False)
  738. cn.Close()
  739. Return Coleccion
  740. End Function
  741. Public Function CargarFilas(ByVal codigo As String)
  742. Dim objCon As New Conexion
  743. Dim cn As SqlConnection = objCon.Conectar
  744. If cn.State = ConnectionState.Closed Then
  745. cn.Open()
  746. End If
  747. Dim sql = "select * from VCN2 where CodInv='" + codigo + "'"
  748. Dim cmd As New SqlCommand(sql, cn)
  749. Dim dr As SqlDataReader
  750. Dim Tabla As New DataTable
  751. dr = cmd.ExecuteReader
  752. Tabla.Load(dr)
  753. cn.Close()
  754. Return Tabla
  755. End Function
  756. End Class