CertificadosDeInversionDAO.vb 44 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305
  1. Imports System.Data.SqlClient
  2. Public Class CertificadosDeInversionDAO
  3. Dim oDAOGeneral As New DAOGeneral
  4. Private Function SiguienteCodigo(ByVal oCE As CertificadoDeInversionCE) As String
  5. Dim retorno As String = String.Empty
  6. retorno = SeriesDAO.SiguienteCodigoInversion(oCE.CodigoEmpresa, oCE.CodigoInstrumentoFinanciero)
  7. Return retorno
  8. End Function
  9. Public Function Nuevo(ByVal oCE As CertificadoDeInversionCE) As Integer
  10. End Function
  11. Function Nuevo(ByVal oCE As CertificadoDeInversionCE, DocId As Integer, Tipo As String) As Integer
  12. Dim objCon As New Conexion
  13. Dim retorno As Integer = -1
  14. Dim Transaccion As SqlTransaction
  15. Dim query As String
  16. Dim cn As SqlConnection = objCon.Conectar
  17. If cn.State = ConnectionState.Closed Then
  18. cn.Open()
  19. End If
  20. Dim Tabla As String = ""
  21. If Tipo = "P" Then
  22. Tabla = "PBON"
  23. End If
  24. If Tipo = "I" Then
  25. Tabla = "IBON"
  26. End If
  27. Dim cmd As SqlCommand = cn.CreateCommand
  28. Transaccion = cn.BeginTransaction("NuevoBono")
  29. cmd.Connection = cn
  30. cmd.Transaction = Transaccion
  31. query = "INSERT INTO [dbo].[PBON]
  32. ([DocId]
  33. ,[CodCasaC]
  34. ,[ValNomC]
  35. ,[UltFCupC]
  36. ,[SigFCupC]
  37. ,[FLiqC]
  38. ,[FVencC]
  39. ,[PorcCupC]
  40. ,[YMTVencComC]
  41. ,[YMTVencC]
  42. ,[PrecVencC]
  43. ,[PrecioCompra]
  44. ,[DiasBaseC]
  45. ,[DiasAcumC]
  46. ,[DiasVencC]
  47. ,[PorcIntAcumC]
  48. ,[IntAcumC]
  49. ,[PrecioSucioC]
  50. ,[ValTransC]
  51. ,[MontoPagarC]
  52. ,[CostoTransC]
  53. ,[CodCasaV]
  54. ,[ValNomV]
  55. ,[UltFCupV]
  56. ,[SigFCupV]
  57. ,[FLiqV]
  58. ,[FVencV]
  59. ,[PorcCupV]
  60. ,[YMTVencComV]
  61. ,[YMTVencV]
  62. ,[PrecVencV]
  63. ,[PrecioVenta]
  64. ,[DiasBaseV]
  65. ,[DiasAcumV]
  66. ,[DiasVencV]
  67. ,[PorcIntAcumV]
  68. ,[IntAcumV]
  69. ,[PrecioSucioV]
  70. ,[ValTransV]
  71. ,[MontoPagarV]
  72. ,[CostoTransV]
  73. ,[ValNomRO]
  74. ,[PlazoRO]
  75. ,[PrecioCompraRO]
  76. ,[PrecioVentaRO]
  77. ,[GanPerdCap]
  78. ,[IngrPorInt]
  79. ,[CostosTotales]
  80. ,[GanPerdTot]
  81. ,[RendGanPerd]
  82. ,[RendInt]
  83. ,[RendAntISR]
  84. ,[RendDespISR])
  85. VALUES
  86. (@DocId
  87. ,@CodCasaC
  88. ,@ValNomC
  89. ,@UltFCupC
  90. ,@SigFCupC
  91. ,@FLiqC
  92. ,@FVencC
  93. ,@PorcCupC
  94. ,@YMTVencComC
  95. ,@YMTVencC
  96. ,@PrecVencC
  97. ,@PrecioCompra
  98. ,@DiasBaseC
  99. ,@DiasAcumC
  100. ,@DiasVencC
  101. ,@PorcIntAcumC
  102. ,@IntAcumC
  103. ,@PrecioSucioC
  104. ,@ValTransC
  105. ,@MontoPagarC
  106. ,@CostoTransC
  107. ,@CodCasaV
  108. ,@ValNomV
  109. ,@UltFCupV
  110. ,@SigFCupV
  111. ,@FLiqV
  112. ,@FVencV
  113. ,@PorcCupV
  114. ,@YMTVencComV
  115. ,@YMTVencV
  116. ,@PrecVencV
  117. ,@PrecioVenta
  118. ,@DiasBaseV
  119. ,@DiasAcumV
  120. ,@DiasVencV
  121. ,@PorcIntAcumV
  122. ,@IntAcumV
  123. ,@PrecioSucioV
  124. ,@ValTransV
  125. ,@MontoPagarV
  126. ,@CostoTransV
  127. ,@ValNomRO
  128. ,@PlazoRO
  129. ,@PrecioCompraRO
  130. ,@PrecioVentaRO
  131. ,@GanPerdCap
  132. ,@IngrPorInt
  133. ,@CostosTotales
  134. ,@GanPerdTot
  135. ,@RendGanPerd
  136. ,@RendInt
  137. ,@RendAntISR
  138. ,@RendDespISR
  139. )"
  140. cmd.CommandText = query
  141. With cmd.Parameters
  142. .Add("@DocId", SqlDbType.Int).Value = DocId
  143. '.Add("@CodCasaC", SqlDbType.VarChar).Value = oBono.CodigoCasaCompra
  144. .Add("@ValNomC", SqlDbType.Decimal).Value = oCE.ValorNominalCompra
  145. .Add("@UltFCupC", SqlDbType.DateTime).Value = oCE.UltimaFechaCuponCompra
  146. .Add("@SigFCupC", SqlDbType.DateTime).Value = oCE.SiguienteFechaCuponCompra
  147. .Add("@FLiqC", SqlDbType.DateTime).Value = oCE.FechaLiquidacionCompra
  148. .Add("@FVencC", SqlDbType.DateTime).Value = oCE.FechaVencimientoCompra
  149. .Add("@PorcCupC", SqlDbType.Decimal).Value = oCE.PorcentajeCuponCompra
  150. .Add("@YMTVencComC", SqlDbType.Decimal).Value = oCE.YTMAlVencimientoComisionCompra
  151. .Add("@YMTVencC", SqlDbType.Decimal).Value = oCE.YTMAlVencimientoCompra
  152. .Add("@PrecVencC", SqlDbType.Decimal).Value = oCE.PrecioAlVencimientoCompra
  153. .Add("@PrecioCompra", SqlDbType.Decimal).Value = oCE.PrecioCompra
  154. .Add("@DiasBaseC", SqlDbType.Int).Value = oCE.DiasBaseCompra
  155. .Add("@DiasAcumC", SqlDbType.Int).Value = oCE.DiasAcumuladosCompra
  156. .Add("@DiasVencC", SqlDbType.Int).Value = oCE.DiasAlVencimientoCompra
  157. .Add("@PorcIntAcumC", SqlDbType.Decimal).Value = oCE.PorcentajeInteresAcumuladoCompra
  158. .Add("@IntAcumC", SqlDbType.Decimal).Value = oCE.InteresAcumuladoCompra
  159. .Add("@PrecioSucioC", SqlDbType.Decimal).Value = oCE.PrecioSucioCompra
  160. .Add("@ValTransC", SqlDbType.Decimal).Value = oCE.ValorTransadoCompra
  161. .Add("@MontoPagarC", SqlDbType.Decimal).Value = oCE.MontoAPagarCompra
  162. .Add("@CostoTransC", SqlDbType.Decimal).Value = oCE.CostoDeTransferenciaCompra
  163. '.Add("@CodCasaV", SqlDbType.VarChar).Value = oBono.CodigoCasaVenta
  164. .Add("@ValNomV", SqlDbType.Decimal).Value = oCE.ValorNominalVenta
  165. .Add("@UltFCupV", SqlDbType.DateTime).Value = oCE.UltimaFechaCuponVenta
  166. .Add("@SigFCupV", SqlDbType.DateTime).Value = oCE.SiguienteFechaCuponVenta
  167. .Add("@FLiqV", SqlDbType.DateTime).Value = oCE.FechaLiquidacionVenta
  168. .Add("@FVencV", SqlDbType.DateTime).Value = oCE.FechaVencimientoVenta
  169. .Add("@PorcCupV", SqlDbType.Decimal).Value = oCE.PorcentajeCuponVenta
  170. .Add("@YMTVencComV", SqlDbType.Decimal).Value = oCE.YTMAlVencimientoComisionVenta
  171. .Add("@YMTVencV", SqlDbType.Decimal).Value = oCE.YTMAlVencimientoVenta
  172. .Add("@PrecVencV", SqlDbType.Decimal).Value = oCE.PrecioAlVencimientoVenta
  173. .Add("@PrecioVenta", SqlDbType.Decimal).Value = oCE.PrecioVenta
  174. .Add("@DiasBaseV", SqlDbType.Int).Value = oCE.DiasBaseVenta
  175. .Add("@DiasAcumV", SqlDbType.Int).Value = oCE.DiasAcumuladosVenta
  176. .Add("@DiasVencV", SqlDbType.Int).Value = oCE.DiasAlVencimientoVenta
  177. .Add("@PorcIntAcumV", SqlDbType.Decimal).Value = oCE.InteresAcumuladoPorcentajeVenta
  178. .Add("@IntAcumV", SqlDbType.Decimal).Value = oCE.InteresAcumuladoVenta
  179. .Add("@PrecioSucioV", SqlDbType.Decimal).Value = oCE.PrecioSucioVenta
  180. .Add("@ValTransV", SqlDbType.Decimal).Value = oCE.ValorTransadoVenta
  181. .Add("@MontoPagarV", SqlDbType.Decimal).Value = oCE.MontoARecibirVenta
  182. .Add("@CostoTransV", SqlDbType.Decimal).Value = oCE.CostoDeTransferenciaVenta
  183. .Add("@ValNomRO", SqlDbType.Decimal).Value = oCE.ValorNominalRO
  184. .Add("@PlazoRO", SqlDbType.Decimal).Value = oCE.DiasPlazoRO
  185. .Add("@PrecioCompraRO", SqlDbType.Decimal).Value = oCE.PrecioCompraRO
  186. .Add("@PrecioVentaRO", SqlDbType.Decimal).Value = oCE.PrecioVentaRO
  187. .Add("@GanPerdCap", SqlDbType.Decimal).Value = oCE.GananciaPerdidaDeCapital
  188. .Add("@IngrPorInt", SqlDbType.Decimal).Value = oCE.IngresoPorInteres
  189. .Add("@CostosTotales", SqlDbType.Decimal).Value = oCE.CostosTotales
  190. .Add("@GanPerdTot", SqlDbType.Decimal).Value = oCE.GananciaPerdidaTotal
  191. .Add("@RendGanPerd", SqlDbType.Decimal).Value = oCE.RendimientoGananciaPerdida
  192. .Add("@RendInt", SqlDbType.Decimal).Value = oCE.RendimientoDeIntereses
  193. .Add("@RendAntISR", SqlDbType.Decimal).Value = oCE.RendimientoAntesImpuestos
  194. .Add("@RendDespISR", SqlDbType.Decimal).Value = oCE.RendimientoDespuesImpuestos
  195. End With
  196. Try
  197. cmd.ExecuteNonQuery()
  198. Transaccion.Commit()
  199. retorno = 0
  200. Catch ex As Exception
  201. MsgBox("Error al Guardar Bono : " & ex.GetType.ToString)
  202. MsgBox("Mensaje: " & ex.Message)
  203. retorno = 1
  204. Try
  205. Transaccion.Rollback()
  206. retorno = 2
  207. Catch ex2 As Exception
  208. MsgBox("Error en Rollback: " & ex2.GetType.ToString)
  209. MsgBox("Mensaje Rollbak: " & ex2.Message)
  210. retorno = 3
  211. End Try
  212. End Try
  213. cmd.Dispose()
  214. cn.Dispose()
  215. Return retorno
  216. End Function
  217. Public Sub CargarRegistro(ByVal oCE As CertificadoDeInversionCE, Tipo As String, IdRegistro As Integer)
  218. Dim objCon As New Conexion
  219. Dim drd As SqlDataReader
  220. Dim cmd As SqlCommand
  221. Dim sql As String
  222. Dim Tabla As String
  223. Dim cn As SqlConnection = objCon.Conectar
  224. If cn.State = ConnectionState.Closed Then
  225. cn.Open()
  226. End If
  227. If Tipo = "P" Then
  228. Tabla = "PBON"
  229. End If
  230. If Tipo = "I" Then
  231. Tabla = "IBON"
  232. End If
  233. sql = "SELECT * FROM [dbo].[" & Tabla & "] T0 WHERE T0.[DocId]=@DocId"
  234. cmd = New SqlCommand
  235. cmd.CommandText = sql
  236. cmd.Parameters.Add("@DocId", SqlDbType.Int).Value = IdRegistro
  237. cmd.Connection = cn
  238. drd = cmd.ExecuteReader
  239. If drd.HasRows Then
  240. 'SE ENCONTRO EL REGISTRO
  241. If drd.Read Then
  242. 'oBonos.CodigoCasaCompra = drd.Item("CodCasaC")
  243. oCE.ValorNominalCompra = drd.Item("ValNomC")
  244. oCE.UltimaFechaCuponCompra = drd.Item("UltFCupC")
  245. oCE.SiguienteFechaCuponCompra = drd.Item("SigFCupC")
  246. oCE.FechaLiquidacionCompra = drd.Item("FLiqC")
  247. oCE.FechaVencimientoCompra = drd.Item("FVencC")
  248. oCE.PorcentajeCuponCompra = drd.Item("PorcCupC")
  249. 'oBonos.YTMAlVencimientoComisionCompra = drd.Item("YTMVencComC")
  250. 'oBonos.YTMAlVencimientoCompra = drd.Item("YTMVencC")
  251. oCE.PrecioAlVencimientoCompra = drd.Item("PrecVencC")
  252. oCE.PrecioCompra = drd.Item("PrecioCompra")
  253. oCE.DiasBaseCompra = drd.Item("DiasBaseC")
  254. 'oBonos.DiasAcumuladosCompra = drd.Item("DiasAcumC")
  255. 'oBonos.DiasAlVencimientoCompra = drd.Item("DiasVencC")
  256. 'oBonos.PorcentajeInteresAcumuladoCompra = drd.Item("PorcIntAcumC")
  257. 'oBonos.InteresAcumuladoCompra = drd.Item("IntAcumC")
  258. 'oBonos.PrecioSucioCompra = drd.Item("PrecioSucioC")
  259. 'oBonos.ValorTransadoCompra = drd.Item("ValTransC")
  260. 'oBonos.MontoAPagarCompra = drd.Item("MontoPagarC")
  261. oCE.CostoDeTransferenciaCompra = drd.Item("CostoTransC")
  262. 'oBonos.CodigoCasaVenta = drd.Item("CodCasaV")
  263. oCE.ValorNominalVenta = drd.Item("ValNomV")
  264. oCE.UltimaFechaCuponVenta = drd.Item("UltFCupV")
  265. oCE.SiguienteFechaCuponVenta = drd.Item("SigFCupV")
  266. oCE.FechaLiquidacionVenta = drd.Item("FLiqV")
  267. oCE.FechaVencimientoVenta = drd.Item("FVencV")
  268. oCE.PorcentajeCuponVenta = drd.Item("PorcCupV")
  269. 'oBonos.YTMAlVencimientoComisionVenta = drd.Item("YTMVencComV")
  270. 'oBonos.YTMAlVencimientoVenta = drd.Item("YTMVencV")
  271. oCE.PrecioAlVencimientoVenta = drd.Item("PrecVencV")
  272. oCE.PrecioVenta = drd.Item("PrecioVenta")
  273. oCE.DiasBaseVenta = drd.Item("DiasBaseV")
  274. 'oBonos.DiasAcumuladosVenta = drd.Item("DiasAcumV")
  275. 'oBonos.DiasAlVencimientoVenta = drd.Item("DiasVencV")
  276. 'oBonos.PorcentajeInteresAcumuladoVenta = drd.Item("PorcIntAcumV")
  277. 'oBonos.InteresAcumuladoVenta = drd.Item("IntAcumV")
  278. 'oBonos.PrecioSucioVenta = drd.Item("PrecioSucioV")
  279. 'oBonos.ValorTransadoVenta = drd.Item("ValTransV")
  280. 'oBonos.MontoAPagarVenta = drd.Item("MontoPagarV")
  281. oCE.CostoDeTransferenciaVenta = drd.Item("CostoTransV")
  282. 'oBonos.ValorNominalRO = drd.Item("ValNomRO")
  283. 'oBonos.PlazoRO = drd.Item("PlazoRO")
  284. 'oBonos.PrecioCompraRO = drd.Item("PrecioCompraRO")
  285. 'oBonos.PrecioVentaRO = drd.Item("PrecioVentaRO")
  286. 'oBonos.GananciaPerdidaDeCapital = drd.Item("GanPerdCap")
  287. 'oBonos.IngresoPorInteres = drd.Item("IngrPorInt")
  288. 'oBonos.CostosTotales = drd.Item("CostosTotales")
  289. 'oBonos.GananciaPerdidaTotal = drd.Item("GanPerdTot")
  290. 'oBonos.RendimientoGananciaPerdida = drd.Item("RendGanPerd")
  291. 'oBonos.RendimientoDeIntereses = drd.Item("RendInt")
  292. 'oBonos.RendimientoAntesImpuestos = drd.Item("RendAntISR")
  293. 'oBonos.RendimientoDespuesImpuestos = drd.Item("RendDespISR")
  294. End If
  295. Else
  296. 'NO SE ENCONTRO EL REGISTRO
  297. End If
  298. drd.Close()
  299. cmd.Dispose()
  300. cn.Dispose()
  301. End Sub
  302. Public Function CargarRegistro(ByVal CodigoInversion As String, ByVal CodigoInstrumento As String) As Collection
  303. Dim objCon As New Conexion
  304. Dim oCE As CertificadoDeInversionCE
  305. Dim drd As SqlDataReader
  306. Dim cmd As SqlCommand
  307. Dim sql As String
  308. Dim Tabla As String
  309. Dim coleccion As New Collection
  310. Dim cn As SqlConnection = objCon.Conectar
  311. If cn.State = ConnectionState.Closed Then
  312. cn.Open()
  313. End If
  314. If (CodigoInstrumento = "CINV") Then
  315. Tabla = "CIN0"
  316. ElseIf (CodigoInstrumento = "TIT") Then
  317. Tabla = "TIT"
  318. ElseIf (CodigoInstrumento = "EURB") Then
  319. Tabla = "EURB0"
  320. ElseIf (CodigoInstrumento = "BONO") Then
  321. Tabla = "BON0"
  322. Else
  323. coleccion.Add(False)
  324. Return coleccion
  325. End If
  326. sql = "SELECT * FROM " + Tabla + " WHERE CodInv=@CodInv"
  327. cmd = New SqlCommand
  328. cmd.CommandText = sql
  329. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = CodigoInversion
  330. cmd.Connection = cn
  331. Try
  332. drd = cmd.ExecuteReader
  333. Catch ex As Exception
  334. coleccion.Add(False)
  335. Return coleccion
  336. End Try
  337. If drd.HasRows Then
  338. 'SE ENCONTRO EL REGISTRO
  339. If drd.Read Then
  340. coleccion.Add(drd.Item("PeriodicC").ToString)
  341. coleccion.Add(drd.Item("ValNomC").ToString)
  342. coleccion.Add(drd.Item("UltFCupC").ToString)
  343. coleccion.Add(drd.Item("SigFCupC").ToString)
  344. coleccion.Add(drd.Item("FLiqC").ToString)
  345. coleccion.Add(drd.Item("FVencC").ToString)
  346. coleccion.Add(drd.Item("PorcCupC").ToString)
  347. coleccion.Add(drd.Item("PrecVencC").ToString)
  348. coleccion.Add(drd.Item("PrecioCompra").ToString)
  349. coleccion.Add(drd.Item("DiasBaseC").ToString)
  350. coleccion.Add(drd.Item("CostTransC").ToString)
  351. coleccion.Add(drd.Item("PeriodicV").ToString)
  352. coleccion.Add(drd.Item("ValNomV").ToString)
  353. coleccion.Add(drd.Item("UltFCupV").ToString)
  354. coleccion.Add(drd.Item("SigFCupV").ToString)
  355. coleccion.Add(drd.Item("FLiqV").ToString)
  356. coleccion.Add(drd.Item("FVencV").ToString)
  357. coleccion.Add(drd.Item("PorcCupV").ToString)
  358. coleccion.Add(drd.Item("PrecVencV").ToString)
  359. coleccion.Add(drd.Item("PrecioVenta").ToString)
  360. coleccion.Add(drd.Item("DiasBaseV").ToString)
  361. 'oCE.CostoDeTransferenciaVenta = drd.Item("CostoTransV")
  362. coleccion.Add(drd.Item("CupRecibidos").ToString)
  363. coleccion.Add(drd.Item("PorcCupC").ToString)
  364. coleccion.Add(drd.Item("PorcCupV").ToString)
  365. coleccion.Add(drd.Item("ComisionPorCompraCasa").ToString)
  366. coleccion.Add(drd.Item("ComisionPorCompraBolsa").ToString)
  367. coleccion.Add(drd.Item("ComisionPorVentaCasa").ToString)
  368. coleccion.Add(drd.Item("ComisionPorVentaBolsa").ToString)
  369. coleccion.Add(drd.Item("YTMCompra").ToString)
  370. coleccion.Add(drd.Item("YTMVenta").ToString)
  371. 'Çampos Extras (Calculados)
  372. coleccion.Add(drd.Item("DiasVenC").ToString)
  373. coleccion.Add(drd.Item("DiasVenV").ToString)
  374. coleccion.Add(drd.Item("DiasAcuC").ToString)
  375. coleccion.Add(drd.Item("DiasAcuV").ToString)
  376. coleccion.Add(drd.Item("YTMVenC").ToString)
  377. coleccion.Add(drd.Item("YTMVenV").ToString)
  378. coleccion.Add(drd.Item("IntPorAcuC").ToString)
  379. coleccion.Add(drd.Item("IntPorAcuV").ToString)
  380. coleccion.Add(drd.Item("IntAcuC").ToString)
  381. coleccion.Add(drd.Item("IntAcuV").ToString)
  382. coleccion.Add(drd.Item("PrecSucioC").ToString)
  383. coleccion.Add(drd.Item("PrecSucioV").ToString)
  384. coleccion.Add(drd.Item("ComisionCasaC").ToString)
  385. coleccion.Add(drd.Item("ComisionCasaV").ToString)
  386. coleccion.Add(drd.Item("ComisionBolsaC").ToString)
  387. coleccion.Add(drd.Item("ComisionBolsaV").ToString)
  388. coleccion.Add(drd.Item("ValTransC").ToString)
  389. coleccion.Add(drd.Item("ValTransV").ToString)
  390. coleccion.Add(drd.Item("MontoPagar").ToString)
  391. coleccion.Add(drd.Item("MontoRecibir").ToString)
  392. coleccion.Add(drd.Item("CupRecibidos").ToString)
  393. Else
  394. coleccion.Add(False)
  395. Return coleccion
  396. End If
  397. Else
  398. 'NO SE ENCONTRO EL REGISTRO
  399. coleccion.Add(False)
  400. Return coleccion
  401. End If
  402. drd.Close()
  403. cmd.Dispose()
  404. cn.Dispose()
  405. Return coleccion
  406. End Function
  407. Public Function ProcesoDatos(ByVal coleccion As Collection, ByVal Diccionario As Dictionary(Of Integer, Collection), ByVal CodigoInstrumento As String) As Integer
  408. Dim objCon As New Conexion
  409. Dim retorno As Integer
  410. Dim sql As String
  411. Dim cmd As SqlCommand
  412. Dim Tabla As String = String.Empty
  413. Dim TablaIngresos As String = String.Empty
  414. Dim cn As SqlConnection = objCon.Conectar
  415. If cn.State = ConnectionState.Closed Then
  416. cn.Open()
  417. End If
  418. Dim myTrans As SqlTransaction
  419. If (CodigoInstrumento = "CINV") Then
  420. Tabla = "CIN0"
  421. TablaIngresos = "CIN1"
  422. ElseIf (CodigoInstrumento = "TIT") Then
  423. Tabla = "TIT"
  424. ElseIf (CodigoInstrumento = "EURB") Then
  425. Tabla = "EURB0"
  426. TablaIngresos = "EURB1"
  427. ElseIf (CodigoInstrumento = "BONO") Then
  428. Tabla = "BON0"
  429. TablaIngresos = "BON1"
  430. Else
  431. Return 0
  432. End If
  433. myTrans = cn.BeginTransaction()
  434. Try
  435. sql = "UPDATE " + Tabla + "
  436. SET [PeriodicC] = @PeriodicC
  437. ,[ValNomC] = @ValNomC
  438. ,[UltFCupC] = @UltFCupC
  439. ,[SigFCupC] = @SigFCupC
  440. ,[FLiqC] = @FLiqC
  441. ,[FVencC] = @FVencC
  442. ,[PorcCupC] = @PorcCupC
  443. ,[PrecVencC] = @PrecVencC
  444. ,[PrecioCompra] = @PrecioCompra
  445. ,[DiasBaseC] = @DiasBaseC
  446. ,[PeriodicV] = @PeriodicV
  447. ,[ValNomV] = @ValNomV
  448. ,[UltFCupV] = @UltFCupV
  449. ,[SigFCupV] = @SigFCupV
  450. ,[FLiqV] = @FLiqV
  451. ,[FVencV] = @FVencV
  452. ,[PorcCupV] = @PorcCupV
  453. ,[PrecVencV] = @PrecVencV
  454. ,[PrecioVenta] = @PrecioVenta
  455. ,[DiasBaseV] = @DiasBaseV
  456. ,[ComisionPorCompraCasa]=@ComisionPorCompraCasa
  457. ,[ComisionPorCompraBolsa]=@ComisionPorCompraBolsa
  458. ,[ComisionPorVentaCasa]=@ComisionPorVentaCasa
  459. ,[ComisionPorVentaBolsa]=@ComisionPorVentaBolsa
  460. ,[YTMCompra]=@YTMCompra
  461. ,[YTMVenta]=@YTMVenta
  462. ,[DiasVenC]=@DiasVenC
  463. ,[DiasVenV]=@DiasVenV
  464. ,[DiasAcuC]=@DiasAcuC
  465. ,[DiasAcuV]=@DiasAcuV
  466. ,[YTMVenC]=@YTMVenC
  467. ,[YTMVenV]=@YTMVenV
  468. ,[IntAcuC]=@IntAcuC
  469. ,[IntAcuV]=@IntAcuV
  470. ,[IntPorAcuC]=@IntPorAcuC
  471. ,[IntPorAcuV]=@IntPorAcuV
  472. ,[PrecSucioC]=@PrecSucioC
  473. ,[PrecSucioV]=@PrecSucioV
  474. ,[ComisionCasaC]=@ComisionCasaC
  475. ,[ComisionCasaV]=@ComisionCasaV
  476. ,[ComisionBolsaC]=@ComisionBolsaC
  477. ,[ComisionBolsaV]=@ComisionBolsaV
  478. ,[ValTransC]=@ValTransC
  479. ,[ValTransV]=@ValTransV
  480. ,[MontoPagar]=@MontoPagar
  481. ,[MontoRecibir]=@MontoRecibir
  482. ,[CostTransC]=@CostTransC
  483. ,[CupRecibidos]=@CupRecibidos
  484. WHERE [CodInv] = @CodInv
  485. "
  486. cmd = New SqlCommand
  487. cmd.CommandText = sql
  488. cmd.Connection = cn
  489. cmd.Transaction = myTrans
  490. With cmd.Parameters
  491. .Add("@PeriodicC", SqlDbType.VarChar).Value = coleccion(1).ToString()
  492. .Add("@ValNomC", SqlDbType.Float).Value = CDec(coleccion(2).ToString().TrimEnd("%"))
  493. .Add("@UltFCupC", SqlDbType.Date).Value = coleccion(3)
  494. .Add("@SigFCupC", SqlDbType.Date).Value = coleccion(4)
  495. .Add("@FLiqC", SqlDbType.Date).Value = coleccion(5)
  496. .Add("@FVencC", SqlDbType.Date).Value = coleccion(6)
  497. .Add("@PorcCupC", SqlDbType.Float).Value = CDec(coleccion(7).ToString().TrimEnd("%"))
  498. .Add("@PrecVencC", SqlDbType.Float).Value = CDec(coleccion(8).ToString().TrimEnd("%"))
  499. .Add("@PrecioCompra", SqlDbType.Float).Value = CDec(coleccion(9).ToString().TrimEnd("%"))
  500. .Add("@DiasBaseC", SqlDbType.Int).Value = CInt(coleccion(10).ToString().TrimEnd("%"))
  501. .Add("@PeriodicV", SqlDbType.VarChar).Value = coleccion(12).ToString()
  502. .Add("@ValNomV", SqlDbType.Float).Value = CDec(coleccion(13).ToString().TrimEnd("%"))
  503. .Add("@UltFCupV", SqlDbType.Date).Value = coleccion(14)
  504. .Add("@SigFCupV", SqlDbType.Date).Value = coleccion(15)
  505. .Add("@FLiqV", SqlDbType.Date).Value = coleccion(16)
  506. .Add("@FVencV", SqlDbType.Date).Value = coleccion(17)
  507. .Add("@PorcCupV", SqlDbType.Float).Value = CDec(coleccion(18).ToString().TrimEnd("%"))
  508. .Add("@PrecVencV", SqlDbType.Float).Value = CDec(coleccion(19).ToString().TrimEnd("%"))
  509. .Add("@PrecioVenta", SqlDbType.Float).Value = CDec(coleccion(20).ToString().TrimEnd("%"))
  510. .Add("@DiasBaseV", SqlDbType.Int).Value = CInt(coleccion(21).ToString().TrimEnd("%"))
  511. .Add("@CodInv", SqlDbType.VarChar).Value = coleccion(23).ToString()
  512. .Add("@ComisionPorCompraCasa", SqlDbType.Float).Value = coleccion(26).ToString()
  513. .Add("@ComisionPorCompraBolsa", SqlDbType.Float).Value = coleccion(27).ToString()
  514. .Add("@ComisionPorVentaCasa", SqlDbType.Float).Value = coleccion(28).ToString()
  515. .Add("@ComisionPorVentaBolsa", SqlDbType.Float).Value = coleccion(29).ToString()
  516. .Add("@YTMCompra", SqlDbType.Float).Value = coleccion(30).ToString()
  517. .Add("@YTMVenta", SqlDbType.Float).Value = coleccion(31).ToString()
  518. .Add("DiasVenC", SqlDbType.Int).Value = coleccion(32)
  519. .Add("@DiasVenV", SqlDbType.Int).Value = coleccion(33)
  520. .Add("@DiasAcuC", SqlDbType.Int).Value = coleccion(34)
  521. .Add("@DiasAcuV", SqlDbType.Int).Value = coleccion(35)
  522. .Add("@YTMVenC", SqlDbType.Float).Value = coleccion(36)
  523. .Add("@YTMVenV", SqlDbType.Float).Value = coleccion(37)
  524. .Add("@IntAcuC", SqlDbType.Float).Value = coleccion(38)
  525. .Add("@IntAcuV", SqlDbType.Float).Value = coleccion(39)
  526. .Add("@IntPorAcuC", SqlDbType.Float).Value = coleccion(40)
  527. .Add("@IntPorAcuV", SqlDbType.Float).Value = coleccion(41)
  528. .Add("@PrecSucioC", SqlDbType.Float).Value = coleccion(42)
  529. .Add("@PrecSucioV", SqlDbType.Float).Value = coleccion(43)
  530. .Add("@ComisionCasaC", SqlDbType.Float).Value = coleccion(44)
  531. .Add("@ComisionCasaV", SqlDbType.Float).Value = coleccion(45)
  532. .Add("@ComisionBolsaC", SqlDbType.Float).Value = coleccion(46)
  533. .Add("@ComisionBolsaV", SqlDbType.Float).Value = coleccion(47)
  534. .Add("@ValTransC", SqlDbType.Float).Value = coleccion(48)
  535. .Add("@ValTransV", SqlDbType.Float).Value = coleccion(49)
  536. .Add("@MontoPagar", SqlDbType.Float).Value = coleccion(50)
  537. .Add("@MontoRecibir", SqlDbType.Float).Value = coleccion(51)
  538. .Add("@CostTransC", SqlDbType.Float).Value = coleccion(52)
  539. .Add("@CupRecibidos", SqlDbType.Float).Value = coleccion(53)
  540. End With
  541. retorno = cmd.ExecuteNonQuery
  542. If Not Diccionario Is Nothing And Not Diccionario.Count = 0 Then
  543. If Not String.IsNullOrEmpty(TablaIngresos) Then
  544. sql = "DELETE FROM " + TablaIngresos + "
  545. WHERE [CodInv]=@CodInv "
  546. cmd = New SqlCommand
  547. cmd.CommandText = sql
  548. cmd.Connection = cn
  549. cmd.Transaction = myTrans
  550. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  551. retorno = cmd.ExecuteNonQuery
  552. For Each DatosDiccionario In Diccionario
  553. Dim Coleccion2 As Collection = DatosDiccionario.Value
  554. sql = "INSERT INTO " + TablaIngresos + "(
  555. [CodInv]
  556. ,[NumCupon]
  557. ,[FechaCupon]
  558. ,[Dias]
  559. ,[Ingreso]
  560. ,[PorcImpuesto]
  561. ,[MontoImpuesto]
  562. ,[Liquido]
  563. ) VALUES(
  564. @CodInv
  565. ,@NumCupon
  566. ,@FechaCupon
  567. ,@Dias
  568. ,@Ingreso
  569. ,@PorcImpuesto
  570. ,@MontoImpuesto
  571. ,@Liquido
  572. )
  573. "
  574. cmd = New SqlCommand
  575. cmd.CommandText = sql
  576. cmd.Connection = cn
  577. cmd.Transaction = myTrans
  578. With cmd.Parameters
  579. .Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  580. .Add("@NumCupon", SqlDbType.VarChar).Value = Coleccion2(1)
  581. .Add("@FechaCupon", SqlDbType.DateTime).Value = Coleccion2(2)
  582. .Add("@Dias", SqlDbType.Int).Value = Coleccion2(3)
  583. .Add("@Ingreso", SqlDbType.Float).Value = Coleccion2(4)
  584. .Add("@PorcImpuesto", SqlDbType.Float).Value = Coleccion2(5)
  585. .Add("@MontoImpuesto", SqlDbType.Float).Value = Coleccion2(6)
  586. .Add("@Liquido", SqlDbType.Float).Value = Coleccion2(7)
  587. End With
  588. retorno = cmd.ExecuteNonQuery
  589. Next
  590. End If
  591. End If
  592. myTrans.Commit()
  593. MsgBox("Datos Actualizados")
  594. Catch ex As Exception
  595. myTrans.Rollback()
  596. MsgBox(ex.Message)
  597. End Try
  598. 'cn.Close()
  599. cn.Close()
  600. Return retorno
  601. End Function
  602. Public Function Nuevo(ByVal coleccion As Collection, ByVal CodigoInstrumento As String) As Integer
  603. Dim objCon As New Conexion
  604. Dim retorno As Integer
  605. Dim sql As String
  606. Dim cmd As SqlCommand
  607. Dim Tabla As String = String.Empty
  608. Dim cn As SqlConnection = objCon.Conectar
  609. If cn.State = ConnectionState.Closed Then
  610. cn.Open()
  611. End If
  612. If (CodigoInstrumento = "CINV") Then
  613. Tabla = "CIN0"
  614. ElseIf (CodigoInstrumento = "TIT") Then
  615. Tabla = "TIT"
  616. ElseIf (CodigoInstrumento = "EURB") Then
  617. Tabla = "EURB0"
  618. ElseIf (CodigoInstrumento = "BONO") Then
  619. Tabla = "BON0"
  620. End If
  621. If (Not String.IsNullOrEmpty(Tabla.ToString)) Then
  622. sql = "INSERT INTO " + Tabla + "
  623. ([CodInv]
  624. ,[PeriodicC]
  625. ,[ValNomC]
  626. ,[UltFCupC]
  627. ,[SigFCupC]
  628. ,[FLiqC]
  629. ,[FVencC]
  630. ,[PorcCupC]
  631. ,[PrecVencC]
  632. ,[PrecioCompra]
  633. ,[DiasBaseC]
  634. ,[PeriodicV]
  635. ,[ValNomV]
  636. ,[UltFCupV]
  637. ,[SigFCupV]
  638. ,[FLiqV]
  639. ,[FVencV]
  640. ,[PorcCupV]
  641. ,[PrecVencV]
  642. ,[PrecioVenta]
  643. ,[DiasBaseV]
  644. ,[ComisionPorCompraCasa]
  645. ,[ComisionPorCompraBolsa]
  646. ,[ComisionPorVentaCasa]
  647. ,[ComisionPorVentaBolsa]
  648. ,[YTMCompra]
  649. ,[YTMVenta]
  650. ,[DiasVenC]
  651. ,[DiasVenV]
  652. ,[DiasAcuC]
  653. ,[DiasAcuV]
  654. ,[YTMVenC]
  655. ,[YTMVenV]
  656. ,[IntAcuC]
  657. ,[IntAcuV]
  658. ,[IntPorAcuC]
  659. ,[IntPorAcuV]
  660. ,[PrecSucioC]
  661. ,[PrecSucioV]
  662. ,[ComisionCasaC]
  663. ,[ComisionCasaV]
  664. ,[ComisionBolsaC]
  665. ,[ComisionBolsaV]
  666. ,[ValTransC]
  667. ,[ValTransV]
  668. ,[MontoPagar]
  669. ,[MontoRecibir]
  670. ,[CostTransC]
  671. ,[CupRecibidos]
  672. )
  673. VALUES(
  674. @CodInv
  675. ,@PeriodicC
  676. ,@ValNomC
  677. ,@UltFCupC
  678. ,@SigFCupC
  679. ,@FLiqC
  680. ,@FVencC
  681. ,@PorcCupC
  682. ,@PrecVencC
  683. ,@PrecioCompra
  684. ,@DiasBaseC
  685. ,@PeriodicV
  686. ,@ValNomV
  687. ,@UltFCupV
  688. ,@SigFCupV
  689. ,@FLiqV
  690. ,@FVencV
  691. ,@PorcCupV
  692. ,@PrecVencV
  693. ,@PrecioVenta
  694. ,@DiasBaseV
  695. ,@ComisionPorCompraCasa
  696. ,@ComisionPorCompraBolsa
  697. ,@ComisionPorVentaCasa
  698. ,@ComisionPorVentaBolsa
  699. ,@YTMCompra
  700. ,@YTMVenta
  701. ,@DiasVenC
  702. ,@DiasVenV
  703. ,@DiasAcuC
  704. ,@DiasAcuV
  705. ,@YTMVenC
  706. ,@YTMVenV
  707. ,@IntAcuC
  708. ,@IntAcuV
  709. ,@IntPorAcuC
  710. ,@IntPorAcuV
  711. ,@PrecSucioC
  712. ,@PrecSucioV
  713. ,@ComisionCasaC
  714. ,@ComisionCasaV
  715. ,@ComisionBolsaC
  716. ,@ComisionBolsaV
  717. ,@ValTransC
  718. ,@ValTransV
  719. ,@MontoPagar
  720. ,@MontoRecibir
  721. ,@CostTransC
  722. ,@CupRecibidos
  723. )
  724. "
  725. cmd = New SqlCommand
  726. cmd.CommandText = sql
  727. 'Try
  728. With cmd.Parameters
  729. If (coleccion(1) Is Nothing) Then
  730. .Add("@PeriodicC", SqlDbType.VarChar).Value = "M"
  731. Else
  732. .Add("@PeriodicC", SqlDbType.VarChar).Value = coleccion(1).ToString()
  733. End If
  734. .Add("@ValNomC", SqlDbType.Float).Value = CDec(coleccion(2).ToString.Trim("%"))
  735. .Add("@UltFCupC", SqlDbType.Date).Value = coleccion(3)
  736. .Add("@SigFCupC", SqlDbType.Date).Value = coleccion(4)
  737. .Add("@FLiqC", SqlDbType.Date).Value = coleccion(5)
  738. .Add("@FVencC", SqlDbType.Date).Value = coleccion(6)
  739. .Add("@PorcCupC", SqlDbType.Float).Value = CDec(coleccion(7).ToString.Trim("%"))
  740. .Add("@PrecVencC", SqlDbType.Float).Value = CDec(coleccion(8).ToString.Trim("%"))
  741. .Add("@PrecioCompra", SqlDbType.Float).Value = CDec(coleccion(9).ToString.Trim("%"))
  742. If (coleccion(10) Is Nothing) Then
  743. .Add("@DiasBaseC", SqlDbType.Int).Value = 365
  744. Else
  745. .Add("@DiasBaseC", SqlDbType.Int).Value = CInt(coleccion(10).ToString.Trim("%"))
  746. End If
  747. '.Add("@CostoTransC", SqlDbType.Float).Value = Trim(CDec(coleccion(11)))
  748. If (coleccion(12) Is Nothing) Then
  749. .Add("@PeriodicV", SqlDbType.VarChar).Value = "M"
  750. Else
  751. .Add("@PeriodicV", SqlDbType.VarChar).Value = coleccion(12).ToString()
  752. End If
  753. .Add("@ValNomV", SqlDbType.Float).Value = CDec(coleccion(13).ToString.Trim("%"))
  754. .Add("@UltFCupV", SqlDbType.Date).Value = coleccion(14)
  755. .Add("@SigFCupV", SqlDbType.Date).Value = coleccion(15)
  756. .Add("@FLiqV", SqlDbType.Date).Value = coleccion(16)
  757. .Add("@FVencV", SqlDbType.Date).Value = coleccion(17)
  758. .Add("@PorcCupV", SqlDbType.Float).Value = CDec(coleccion(18).ToString.Trim("%"))
  759. .Add("@PrecVencV", SqlDbType.Float).Value = CDec(coleccion(19).ToString.Trim("%"))
  760. .Add("@PrecioVenta", SqlDbType.Float).Value = CDec(coleccion(20).ToString.Trim("%"))
  761. If (coleccion(21) Is Nothing) Then
  762. .Add("@DiasBaseV", SqlDbType.Int).Value = 365
  763. Else
  764. .Add("@DiasBaseV", SqlDbType.Int).Value = CInt(coleccion(21).ToString.Trim("%"))
  765. End If
  766. '.Add("@CostoTransV", SqlDbType.Float).Value = CDec(coleccion(22).ToString.Trim("%"))
  767. .Add("@CodInv", SqlDbType.VarChar).Value = coleccion(23).ToString()
  768. .Add("@ComisionPorCompraCasa", SqlDbType.Float).Value = coleccion(26).ToString()
  769. .Add("@ComisionPorCompraBolsa", SqlDbType.Float).Value = coleccion(27).ToString()
  770. .Add("@ComisionPorVentaCasa", SqlDbType.Float).Value = coleccion(28).ToString()
  771. .Add("@ComisionPorVentaBolsa", SqlDbType.Float).Value = coleccion(29).ToString()
  772. .Add("@YTMCompra", SqlDbType.Float).Value = coleccion(30).ToString()
  773. .Add("@YTMVenta", SqlDbType.Float).Value = coleccion(31).ToString()
  774. .Add("@DiasVenC", SqlDbType.Int).Value = coleccion(32)
  775. .Add("@DiasVenV", SqlDbType.Int).Value = coleccion(33)
  776. .Add("@DiasAcuC", SqlDbType.Int).Value = coleccion(34)
  777. .Add("@DiasAcuV", SqlDbType.Int).Value = coleccion(35)
  778. .Add("@YTMVenC", SqlDbType.Float).Value = coleccion(36)
  779. .Add("@YTMVenV", SqlDbType.Float).Value = coleccion(37)
  780. .Add("@IntAcuC", SqlDbType.Float).Value = coleccion(38)
  781. .Add("@IntAcuV", SqlDbType.Float).Value = coleccion(39)
  782. .Add("@IntPorAcuC", SqlDbType.Float).Value = coleccion(40)
  783. .Add("@IntPorAcuV", SqlDbType.Float).Value = coleccion(41)
  784. .Add("@PrecSucioC", SqlDbType.Float).Value = coleccion(42)
  785. .Add("@PrecSucioV", SqlDbType.Float).Value = coleccion(43)
  786. .Add("@ComisionCasaC", SqlDbType.Float).Value = coleccion(44)
  787. .Add("@ComisionCasaV", SqlDbType.Float).Value = coleccion(45)
  788. .Add("@ComisionBolsaC", SqlDbType.Float).Value = coleccion(46)
  789. .Add("@ComisionBolsaV", SqlDbType.Float).Value = coleccion(47)
  790. .Add("@ValTransC", SqlDbType.Float).Value = coleccion(48)
  791. .Add("@ValTransV", SqlDbType.Float).Value = coleccion(49)
  792. .Add("@MontoPagar", SqlDbType.Float).Value = coleccion(50)
  793. .Add("@MontoRecibir", SqlDbType.Float).Value = coleccion(51)
  794. .Add("@CostTransC", SqlDbType.Float).Value = coleccion(52)
  795. .Add("@CupRecibidos", SqlDbType.Float).Value = coleccion(53)
  796. End With
  797. cmd.Connection = cn
  798. retorno = cmd.ExecuteNonQuery
  799. MsgBox("Registro creado éxitosmente")
  800. 'Catch ex As Exception
  801. ' MsgBox("No se pudo ingresar los datos")
  802. 'End Try
  803. Else
  804. MsgBox("No se pudo ingresar los datos")
  805. retorno = 0
  806. End If
  807. cn.Close()
  808. Return retorno
  809. End Function
  810. Public Sub Eliminar(ByVal Eliminar As String, ByVal CodigoInstrumento As String)
  811. Dim objCon As New Conexion
  812. Dim res As Integer
  813. Dim Tabla As String = String.Empty
  814. Dim TablaIngresos As String = String.Empty
  815. Dim TablaTIT1 As String = String.Empty
  816. Dim TablaTIT2 As String = String.Empty
  817. If (CodigoInstrumento = "CINV") Then
  818. Tabla = "CIN0"
  819. TablaIngresos = "CIN1"
  820. ElseIf (CodigoInstrumento = "TIT") Then
  821. Tabla = "TIT"
  822. TablaIngresos = "TIT0_0"
  823. TablaTIT1 = "TIT0"
  824. TablaTIT2 = "TIT2"
  825. ElseIf (CodigoInstrumento = "BONO") Then
  826. Tabla = "BON0"
  827. TablaIngresos = "BON1"
  828. ElseIf (CodigoInstrumento = "EURB") Then
  829. Tabla = "EURB0"
  830. TablaIngresos = "EURB1"
  831. End If
  832. Dim retorno As Integer
  833. Dim sql As String
  834. Dim cmd As SqlCommand
  835. Dim myTrans As SqlTransaction
  836. Dim cn As SqlConnection = objCon.Conectar
  837. If cn.State = ConnectionState.Closed Then
  838. cn.Open()
  839. End If
  840. myTrans = cn.BeginTransaction()
  841. Try
  842. sql = "DELETE FROM " + Tabla + "
  843. WHERE [CodInv]=@CodInv"
  844. cmd = New SqlCommand
  845. cmd.CommandText = sql
  846. cmd.Connection = cn
  847. cmd.Transaction = myTrans
  848. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  849. retorno = cmd.ExecuteNonQuery
  850. sql = "DELETE FROM " + TablaIngresos + "
  851. WHERE [CodInv]=@CodInv"
  852. cmd = New SqlCommand
  853. cmd.CommandText = sql
  854. cmd.Connection = cn
  855. cmd.Transaction = myTrans
  856. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  857. retorno = cmd.ExecuteNonQuery
  858. If (CodigoInstrumento = "TIT") Then
  859. sql = "DELETE FROM " + TablaTIT1 + "
  860. WHERE [CodInv]=@CodInv"
  861. cmd = New SqlCommand
  862. cmd.CommandText = sql
  863. cmd.Connection = cn
  864. cmd.Transaction = myTrans
  865. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  866. retorno = cmd.ExecuteNonQuery
  867. sql = "DELETE FROM " + TablaTIT2 + "
  868. WHERE [CodInv]=@CodInv"
  869. cmd = New SqlCommand
  870. cmd.CommandText = sql
  871. cmd.Connection = cn
  872. cmd.Transaction = myTrans
  873. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  874. retorno = cmd.ExecuteNonQuery
  875. End If
  876. myTrans.Commit()
  877. MsgBox("Datos Eliminados")
  878. Catch ex As Exception
  879. myTrans.Rollback()
  880. MsgBox(ex.Message)
  881. End Try
  882. cn.Close()
  883. End Sub
  884. Public Function GuardarIngreso(ByVal CodInversion As String, ByVal fecha As Date, ByVal Porcentaje As Double)
  885. Dim objCon As New Conexion
  886. Dim cn As SqlConnection = objCon.Conectar
  887. If cn.State = ConnectionState.Closed Then
  888. cn.Open()
  889. End If
  890. Dim numero = CInt(Numeracion())
  891. Dim sql = "INSERT INTO CIN1([CodInv],[NumCupon],[FechaCupon],[PorcImpuesto]) values(@cod,@num,@fecha,@PorcImpuesto)"
  892. Dim comando = New SqlCommand()
  893. comando.CommandText = sql
  894. With comando.Parameters
  895. .Add("@cod", SqlDbType.VarChar).Value = CodInversion
  896. .Add("@num", SqlDbType.Int).Value = numero
  897. .Add("@fecha", SqlDbType.DateTime).Value = fecha
  898. .Add("@PorcImpuesto", SqlDbType.Float).Value = Porcentaje
  899. End With
  900. comando.Connection = cn
  901. Dim i As Integer = comando.ExecuteNonQuery()
  902. cn.Close()
  903. If (i > 0) Then
  904. Return True
  905. Else
  906. Return False
  907. End If
  908. End Function
  909. Public Function CargarData()
  910. Dim objCon As New Conexion
  911. Dim cn As SqlConnection = objCon.Conectar
  912. If cn.State = ConnectionState.Closed Then
  913. cn.Open()
  914. End If
  915. Dim sql = "select * from CIN1"
  916. Dim cmd As New SqlCommand(sql, cn)
  917. Dim dr As SqlDataReader
  918. dr = cmd.ExecuteReader
  919. Return dr
  920. End Function
  921. Public Function Numeracion()
  922. Dim objCon As New Conexion
  923. Dim sql = "select MAX(NumCupon) from CIN1"
  924. Dim cn As SqlConnection = objCon.Conectar
  925. If cn.State = ConnectionState.Closed Then
  926. cn.Open()
  927. End If
  928. Dim cmd As New SqlCommand(sql, cn)
  929. Dim numero = cmd.ExecuteScalar
  930. If (String.IsNullOrEmpty(numero.ToString)) Then
  931. numero = 0
  932. Else
  933. numero = numero + 1
  934. End If
  935. cn.Close()
  936. Return numero
  937. End Function
  938. Private Sub GuardarIngresos(ByVal CodInversion As String, ByVal dt As DataTable)
  939. Dim objCon As New Conexion
  940. Dim sql As String
  941. Dim cmd As SqlCommand
  942. Dim res As Integer
  943. Dim cn As SqlConnection = objCon.Conectar
  944. If cn.State = ConnectionState.Closed Then
  945. cn.Open()
  946. End If
  947. sql = "DELETE FROM [dbo].[CIN1]
  948. WHERE [CodInv]=@CodInv"
  949. cmd = New SqlCommand
  950. cmd.CommandText = sql
  951. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = CodInversion
  952. cmd.Connection = cn
  953. res = cmd.ExecuteNonQuery
  954. sql = String.Empty
  955. If dt.Rows.Count > 0 Then
  956. For Each dr In dt.Rows
  957. cmd = New SqlCommand
  958. sql = "INSERT INTO [dbo].[CIN1]
  959. ([CodInv]
  960. ,[NumCupon]
  961. ,[FechaCupon]
  962. ,[Dias]
  963. ,[Ingreso]
  964. ,[PorcImpuesto]
  965. ,[MontoImpuesto]
  966. ,[Liquido]
  967. )
  968. VALUES
  969. (@CodInv
  970. ,@NumCupon
  971. ,@FechaCupon
  972. ,@Dias
  973. ,@Ingreso
  974. ,@PorcImpuesto
  975. ,@MontoImpuesto
  976. ,@Liquido
  977. )
  978. "
  979. cmd.CommandText = sql
  980. cmd.Parameters.AddWithValue("@CodInv", CodInversion)
  981. cmd.Parameters.AddWithValue("@NumCupon", dr("NumCupon"))
  982. cmd.Parameters.AddWithValue("@FechaCupon", dr("FechaCupon"))
  983. cmd.Parameters.AddWithValue("@Dias", dr("Dias"))
  984. cmd.Parameters.AddWithValue("@Ingreso", dr("Ingreso"))
  985. cmd.Parameters.AddWithValue("@PorcImpuesto", dr("PorcImpuesto"))
  986. cmd.Parameters.AddWithValue("@MontoImpuesto", dr("MontoImpuesto"))
  987. cmd.Parameters.AddWithValue("@Liquido", dr("MontoImpuesto"))
  988. cmd.Connection = cn
  989. res = cmd.ExecuteNonQuery
  990. Next
  991. End If
  992. cn.Close()
  993. End Sub
  994. Private Sub GuardarImpuestosYComisiones(ByVal CodInversion As String, ByVal dt As DataTable)
  995. Dim objCon As New Conexion
  996. Dim sql As String
  997. Dim cmd As SqlCommand
  998. Dim res As Integer
  999. Dim cn As SqlConnection = objCon.Conectar
  1000. If cn.State = ConnectionState.Closed Then
  1001. cn.Open()
  1002. End If
  1003. sql = "DELETE FROM [dbo].[CIN2]
  1004. WHERE [CodInv]=@CodInv"
  1005. cmd = New SqlCommand
  1006. cmd.CommandText = sql
  1007. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = CodInversion
  1008. cmd.Connection = cn
  1009. res = cmd.ExecuteNonQuery
  1010. sql = String.Empty
  1011. If dt.Rows.Count > 0 Then
  1012. For Each dr In dt.Rows
  1013. cmd = New SqlCommand
  1014. sql = "INSERT INTO [dbo].[CIN2]
  1015. ([CodInv]
  1016. ,[TipoOper]
  1017. ,[CodImp]
  1018. ,[PorcImp]
  1019. ,[MontoImp]
  1020. ,[MontoSujeto])
  1021. VALUES
  1022. (@CodInv
  1023. ,@TipoOper
  1024. ,@CodImp
  1025. ,@PorcImp
  1026. ,@MontoImp
  1027. ,@MontoSujeto)"
  1028. cmd.CommandText = sql
  1029. cmd.Parameters.AddWithValue("@CodInv", CodInversion)
  1030. cmd.Parameters.AddWithValue("@TipoOper", dr("TipoOper"))
  1031. cmd.Parameters.AddWithValue("@CodImp", dr("CodImp"))
  1032. cmd.Parameters.AddWithValue("@PorcImp", dr("PorcImp"))
  1033. cmd.Parameters.AddWithValue("@MontoImp", dr("MontoImp"))
  1034. cmd.Parameters.AddWithValue("@MontoSujeto", dr("MontoSujeto"))
  1035. cmd.Connection = cn
  1036. res = cmd.ExecuteNonQuery
  1037. Next
  1038. End If
  1039. cn.Close()
  1040. End Sub
  1041. End Class