ReportosDAO.vb 34 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798991001011021031041051061071081091101111121131141151161171181191201211221231241251261271281291301311321331341351361371381391401411421431441451461471481491501511521531541551561571581591601611621631641651661671681691701711721731741751761771781791801811821831841851861871881891901911921931941951961971981992002012022032042052062072082092102112122132142152162172182192202212222232242252262272282292302312322332342352362372382392402412422432442452462472482492502512522532542552562572582592602612622632642652662672682692702712722732742752762772782792802812822832842852862872882892902912922932942952962972982993003013023033043053063073083093103113123133143153163173183193203213223233243253263273283293303313323333343353363373383393403413423433443453463473483493503513523533543553563573583593603613623633643653663673683693703713723733743753763773783793803813823833843853863873883893903913923933943953963973983994004014024034044054064074084094104114124134144154164174184194204214224234244254264274284294304314324334344354364374384394404414424434444454464474484494504514524534544554564574584594604614624634644654664674684694704714724734744754764774784794804814824834844854864874884894904914924934944954964974984995005015025035045055065075085095105115125135145155165175185195205215225235245255265275285295305315325335345355365375385395405415425435445455465475485495505515525535545555565575585595605615625635645655665675685695705715725735745755765775785795805815825835845855865875885895905915925935945955965975985996006016026036046056066076086096106116126136146156166176186196206216226236246256266276286296306316326336346356366376386396406416426436446456466476486496506516526536546556566576586596606616626636646656666676686696706716726736746756766776786796806816826836846856866876886896906916926936946956966976986997007017027037047057067077087097107117127137147157167177187197207217227237247257267277287297307317327337347357367377387397407417427437447457467477487497507517527537547557567577587597607617627637647657667677687697707717727737747757767777787797807817827837847857867877887897907917927937947957967977987998008018028038048058068078088098108118128138148158168178188198208218228238248258268278288298308318328338348358368378388398408418428438448458468478488498508518528538548558568578588598608618628638648658668678688698708718728738748758768778788798808818828838848858868878888898908918928938948958968978988999009019029039049059069079089099109119129139149159169179189199209219229239249259269279289299309319329339349359369379389399409419429439449459469479489499509519529539549559569579589599609619629639649659669679689699709719729739749759769779789799809819829839849859869879889899909919929939949959969979989991000100110021003100410051006100710081009101010111012101310141015101610171018101910201021102210231024102510261027102810291030103110321033103410351036103710381039104010411042104310441045104610471048104910501051105210531054105510561057105810591060106110621063106410651066106710681069107010711072107310741075107610771078107910801081108210831084108510861087108810891090109110921093109410951096109710981099110011011102110311041105110611071108110911101111111211131114111511161117111811191120112111221123112411251126112711281129113011311132113311341135113611371138113911401141114211431144114511461147114811491150115111521153115411551156115711581159116011611162
  1. Imports System.Data.SqlClient
  2. Public Class ReportosDAO
  3. Dim Operaciones As New Operaciones
  4. Public Function Nuevo(ByVal oReporto As ReportosCE) As Integer
  5. Dim retorno As Integer
  6. Return retorno
  7. End Function
  8. Public Function ProcesoDatos(ByVal Diccionario As Dictionary(Of String, Collection), ByVal Codigo As String, ByVal Tabla As String)
  9. Dim objCon As New Conexion
  10. Dim retorno As Integer
  11. Dim sql As String
  12. Dim cmd As SqlCommand
  13. Dim myTrans As SqlTransaction
  14. Dim cn As SqlConnection = objCon.Conectar
  15. If cn.State = ConnectionState.Closed Then
  16. cn.Open()
  17. End If
  18. myTrans = cn.BeginTransaction()
  19. Try
  20. sql = "DELETE FROM " + Tabla + "
  21. WHERE [CodInv]=@CodInv "
  22. cmd = New SqlCommand
  23. cmd.CommandText = sql
  24. cmd.Connection = cn
  25. cmd.Transaction = myTrans
  26. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  27. retorno = cmd.ExecuteNonQuery
  28. If Not Diccionario Is Nothing Then
  29. For Each DatosDiccionario In Diccionario
  30. Dim Coleccion As Collection = DatosDiccionario.Value
  31. If Tabla = "REP0" Then
  32. sql = "INSERT INTO " + Tabla + "(
  33. [CodInv]
  34. ,[codigo]
  35. ,[Nombre]
  36. ,[FCompra]
  37. ,[ValTrans]
  38. ,[Dias]
  39. ,[FVenc]
  40. ,[Rend]
  41. ,[CostoTransfr]
  42. ,[ComisionCasa]
  43. ,[ComisionBolsa]
  44. ,[Casa]
  45. ,[IOF]
  46. ,[Renta]
  47. ,[Base]
  48. ,[ComisionCasaValor]
  49. ,[ComisionBolsaValor]
  50. ,[IOFValor]
  51. ,[OtrosCostos]
  52. ,[TotalCostos]
  53. ,[MontoLiq]
  54. ,[IntGenerar]
  55. ,[RendAntImp]
  56. ,[RendDesImp]
  57. ,[ImpLiq]
  58. ,[IngrNet]
  59. ,[ValorNet]
  60. ,[EstadoIOF]
  61. ,[EstadoRenta]
  62. ) VALUES(
  63. @CodInv
  64. ,@codigo
  65. ,@Nombre
  66. ,@FCompra
  67. ,@ValTrans
  68. ,@Dias
  69. ,@FVenc
  70. ,@Rend
  71. ,@CostoTransfr
  72. ,@ComisionCasa
  73. ,@ComisionBolsa
  74. ,@Casa
  75. ,@IOF
  76. ,@Renta
  77. ,@Base
  78. ,@ComisionCasaValor
  79. ,@ComisionBolsaValor
  80. ,@IOFValor
  81. ,@OtrosCostos
  82. ,@TotalCostos
  83. ,@MontoLiq
  84. ,@IntGenerar
  85. ,@RendAntImp
  86. ,@RendDesImp
  87. ,@ImpLiq
  88. ,@IngrNet
  89. ,@ValorNet
  90. ,@EstadoIOF
  91. ,@EstadoRenta
  92. )
  93. "
  94. Else
  95. sql = "INSERT INTO " + Tabla + "(
  96. [CodInv]
  97. ,[codigo]
  98. ,[Nombre]
  99. ,[FCompra]
  100. ,[ValTrans]
  101. ,[Dias]
  102. ,[FVenc]
  103. ,[Rend]
  104. ,[CostoTransfr]
  105. ,[ComisionCasa]
  106. ,[ComisionBolsa]
  107. ,[Casa]
  108. ,[IOF]
  109. ,[Renta]
  110. ,[Base]
  111. ,[ComisionCasaValor]
  112. ,[ComisionBolsaValor]
  113. ,[IOFValor]
  114. ,[OtrosCostos]
  115. ,[TotalCostos]
  116. ,[MontoLiq]
  117. ,[IntGenerar]
  118. ,[RendAntImp]
  119. ,[RendDesImp]
  120. ,[ImpLiq]
  121. ,[IngrNet]
  122. ,[ValorNet]
  123. ,[EstadoIOF]
  124. ,[EstadoRenta]
  125. ) VALUES(
  126. @CodInv
  127. ,@codigo
  128. ,@Nombre
  129. ,@FCompra
  130. ,@ValTrans
  131. ,@Dias
  132. ,@FVenc
  133. ,@Rend
  134. ,@CostoTransfr
  135. ,@ComisionCasa
  136. ,@ComisionBolsa
  137. ,@Casa
  138. ,@IOF
  139. ,@Renta
  140. ,@Base
  141. ,@ComisionCasaValor
  142. ,@ComisionBolsaValor
  143. ,@IOFValor
  144. ,@OtrosCostos
  145. ,@TotalCostos
  146. ,@MontoLiq
  147. ,@IntGenerar
  148. ,@RendAntImp
  149. ,@RendDesImp
  150. ,@ImpLiq
  151. ,@IngrNet
  152. ,@ValorNet
  153. ,@EstadoIOF
  154. ,@EstadoRenta
  155. )
  156. "
  157. End If
  158. cmd = New SqlCommand
  159. cmd.CommandText = sql
  160. cmd.Connection = cn
  161. cmd.Transaction = myTrans
  162. With cmd.Parameters
  163. .Add("@CodInv", SqlDbType.VarChar).Value = Codigo.ToString
  164. .Add("@Nombre", SqlDbType.VarChar).Value = Coleccion(1).ToString
  165. .Add("@FCompra", SqlDbType.Date).Value = Operaciones.ConvertirFecha(Coleccion(2).ToString)
  166. .Add("@ValTrans", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(3).ToString)
  167. .Add("@Dias", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(4).ToString)
  168. .Add("@FVenc", SqlDbType.Date).Value = Operaciones.ConvertirFecha(Coleccion(5).ToString)
  169. .Add("@Rend", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(6).ToString)
  170. .Add("@CostoTransfr", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(7).ToString)
  171. .Add("@codigo", SqlDbType.VarChar).Value = Coleccion(8).ToString
  172. .Add("@ComisionCasa", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion(9).ToString)
  173. .Add("@ComisionBolsa", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion(10).ToString)
  174. .Add("@Casa", SqlDbType.VarChar).Value = Coleccion(11).ToString
  175. .Add("@IOF", SqlDbType.Bit).Value = CByte(Coleccion(12))
  176. .Add("@Renta", SqlDbType.Bit).Value = CByte(Coleccion(13))
  177. .Add("@Base", SqlDbType.Int).Value = DBNull.Value
  178. .Add("@ComisionCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(14).ToString)
  179. .Add("@ComisionBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(15).ToString)
  180. .Add("@IOFValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(16).ToString)
  181. .Add("@OtrosCostos", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(17).ToString)
  182. .Add("@TotalCostos", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(18).ToString)
  183. .Add("@MontoLiq", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(19).ToString)
  184. .Add("@IntGenerar", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(20).ToString)
  185. .Add("@RendAntImp", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(21).ToString)
  186. .Add("@RendDesImp", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(22).ToString)
  187. .Add("@ImpLiq", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(23).ToString)
  188. .Add("@IngrNet", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(24).ToString)
  189. .Add("@ValorNet", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(25).ToString)
  190. .Add("@EstadoIOF", SqlDbType.Bit).Value = CByte(Coleccion(27))
  191. .Add("@EstadoRenta", SqlDbType.Bit).Value = CByte(Coleccion(28))
  192. End With
  193. retorno = cmd.ExecuteNonQuery
  194. Next
  195. End If
  196. ''''''''''''''''''
  197. myTrans.Commit()
  198. MsgBox("Datos Ingresados")
  199. Catch ex As Exception
  200. myTrans.Rollback()
  201. MsgBox(ex.Message)
  202. End Try
  203. cn.Close()
  204. Return retorno
  205. End Function
  206. Public Function CargarReporto(ByVal codigo As String, ByVal Tabla As String)
  207. Dim objCon As New Conexion
  208. Dim cn As SqlConnection = objCon.Conectar
  209. If cn.State = ConnectionState.Closed Then
  210. cn.Open()
  211. End If
  212. Dim sql = "select * from " + Tabla + " where CodInv='" + codigo + "' order by codigo"
  213. Dim cmd As New SqlCommand(sql, cn)
  214. Dim dr As SqlDataReader
  215. dr = cmd.ExecuteReader
  216. If (Not dr.HasRows) Then
  217. cn.Close()
  218. Return Nothing
  219. End If
  220. Return dr
  221. End Function
  222. Public Sub Eliminar(ByVal Codigo As String, ByVal clave As String, ByVal Tabla As String)
  223. Dim objCon As New Conexion
  224. Dim sql As String
  225. Dim cmd As SqlCommand
  226. Dim res As Integer
  227. Dim cn As SqlConnection = objCon.Conectar
  228. If cn.State = ConnectionState.Closed Then
  229. cn.Open()
  230. End If
  231. If (String.IsNullOrEmpty(clave)) Then
  232. sql = "DELETE FROM " + Tabla + "
  233. WHERE [CodInv]=@CodInv AND codigo is null"
  234. Else
  235. sql = "DELETE FROM " + Tabla + "
  236. WHERE [CodInv]=@CodInv AND codigo=@codigo"
  237. End If
  238. cmd = New SqlCommand
  239. cmd.CommandText = sql
  240. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  241. cmd.Parameters.Add("@codigo", SqlDbType.VarChar).Value = clave
  242. cmd.Connection = cn
  243. res = cmd.ExecuteNonQuery
  244. cn.Close()
  245. End Sub
  246. Public Function Nuevo(ByVal oReporto As ReportosCE, DocId As Integer, Tipo As String) As Integer
  247. Dim objCon As New Conexion
  248. Dim retorno As Integer = -1
  249. Dim Transaccion As SqlTransaction
  250. Dim query As String
  251. Dim cn As SqlConnection = objCon.Conectar
  252. If cn.State = ConnectionState.Closed Then
  253. cn.Open()
  254. End If
  255. Dim Tabla As String = ""
  256. If Tipo = "P" Then
  257. Tabla = "PREP"
  258. End If
  259. If Tipo = "I" Then
  260. Tabla = "IREP"
  261. End If
  262. Dim cmd As SqlCommand = cn.CreateCommand
  263. Transaccion = cn.BeginTransaction("NuevoLete")
  264. cmd.Connection = cn
  265. cmd.Transaction = Transaccion
  266. query = "INSERT INTO [dbo].[PREP]
  267. ([DocId]
  268. ,[CodInv]
  269. ,[ValTrans]
  270. ,[Dias]
  271. ,[FVenc]
  272. ,[Rend]
  273. ,[OtrosCostos]
  274. ,[TotCostos]
  275. ,[MontoLiq]
  276. ,[InterGen]
  277. ,[CostoTransfr]
  278. ,[RendNetoAntImp]
  279. ,[ValReCompra]
  280. ,[ImpLiquidacion]
  281. ,[IngrNeto]
  282. ,[ValNeto]
  283. ,[RendNetoDespImp])
  284. VALUES
  285. (@DocId
  286. ,@CodInv
  287. ,@ValTrans
  288. ,@Dias
  289. ,@FVenc
  290. ,@Rend
  291. ,@OtrosCostos
  292. ,@TotCostos
  293. ,@MontoLiq
  294. ,@InterGen
  295. ,@CostoTransfr
  296. ,@RendNetoAntImp
  297. ,@ValReCompra
  298. ,@ImpLiquidacion
  299. ,@IngrNeto
  300. ,@ValNeto
  301. ,@RendNetoDespImp
  302. )"
  303. cmd.CommandText = query
  304. With cmd.Parameters
  305. .Add("@DocId", SqlDbType.Int).Value = DocId
  306. .Add("@CodInv", SqlDbType.VarChar).Value = oReporto.ValorTransado
  307. .Add("@ValTrans", SqlDbType.Decimal).Value = oReporto.ValorTransado
  308. .Add("@Dias", SqlDbType.Int).Value = oReporto.Dias
  309. .Add("@FVenc", SqlDbType.DateTime).Value = oReporto.FechaVencimiento
  310. .Add("@Rend", SqlDbType.Decimal).Value = oReporto.Rendimiento
  311. .Add("@OtrosCostos", SqlDbType.Decimal).Value = oReporto.OtrosCostos
  312. .Add("@TotCostos", SqlDbType.Decimal).Value = oReporto.TotalCostos
  313. .Add("@MontoLiq", SqlDbType.Decimal).Value = oReporto.MontoALiquidar
  314. .Add("@InterGen", SqlDbType.Decimal).Value = oReporto.InteresAGenerar
  315. .Add("@CostoTransfr", SqlDbType.Decimal).Value = oReporto.CostoDeTransferencia
  316. .Add("@RendNetoAntImp", SqlDbType.Decimal).Value = oReporto.RendimientoNetoAntesDeImpuestos
  317. .Add("@ValReCompra", SqlDbType.Decimal).Value = oReporto.ValorReCompra
  318. .Add("@ImpLiquidacion", SqlDbType.Decimal).Value = oReporto.ImpuestosLiquidacion
  319. .Add("@IngrNeto", SqlDbType.Decimal).Value = oReporto.IngresoNeto
  320. .Add("@ValNeto", SqlDbType.Decimal).Value = oReporto.ValorNeto
  321. .Add("@RendNetoDespImp", SqlDbType.Decimal).Value = oReporto.RendimientoNetoDespuesDeImpuestos
  322. End With
  323. Try
  324. cmd.ExecuteNonQuery()
  325. Transaccion.Commit()
  326. retorno = 0
  327. Catch ex As Exception
  328. MsgBox("Error al Guardar Reporto : " & ex.GetType.ToString)
  329. MsgBox("Mensaje: " & ex.Message)
  330. retorno = 1
  331. Try
  332. Transaccion.Rollback()
  333. retorno = 2
  334. Catch ex2 As Exception
  335. MsgBox("Error en Rollback: " & ex2.GetType.ToString)
  336. MsgBox("Mensaje Rollbak: " & ex2.Message)
  337. retorno = 3
  338. End Try
  339. End Try
  340. cmd.Dispose()
  341. cn.Dispose()
  342. Return retorno
  343. End Function
  344. Public Sub CargarRegistro(ByVal oReportos As ReportosCE, Tipo As String, IdRegistro As Integer)
  345. Dim objCon As New Conexion
  346. Dim drd As SqlDataReader
  347. Dim cmd As SqlCommand
  348. Dim sql As String
  349. Dim Tabla As String
  350. Dim cn As SqlConnection = objCon.Conectar
  351. If cn.State = ConnectionState.Closed Then
  352. cn.Open()
  353. End If
  354. If Tipo = "P" Then
  355. Tabla = "PREP"
  356. End If
  357. If Tipo = "I" Then
  358. Tabla = "IREP"
  359. End If
  360. sql = "SELECT * FROM [dbo].[" & Tabla & "] T0 WHERE T0.[DocId]=@DocId"
  361. cmd = New SqlCommand
  362. cmd.CommandText = sql
  363. cmd.Parameters.Add("@DocId", SqlDbType.Int).Value = IdRegistro
  364. cmd.Connection = cn
  365. drd = cmd.ExecuteReader
  366. If drd.HasRows Then
  367. 'SE ENCONTRO EL REGISTRO
  368. If drd.Read Then
  369. oReportos.CodigoCasa = drd.Item("CodCasa")
  370. oReportos.Nombre = drd.Item("Nombre")
  371. oReportos.FechaDeCompra = drd.Item("FCompra")
  372. oReportos.ValorTransado = drd.Item("ValTrans")
  373. oReportos.Dias = drd.Item("Dias")
  374. oReportos.FechaVencimiento = drd.Item("FVenc")
  375. oReportos.Rendimiento = drd.Item("Rend")
  376. oReportos.Impuestos = drd.Item("Impuestos")
  377. oReportos.OtrosCostos = drd.Item("OtrosCostos")
  378. 'oReportos.TotalCostos = drd.Item("TotCostos")
  379. oReportos.MontoALiquidar = drd.Item("MontoLiq")
  380. 'oReportos.InteresAGenerar = drd.Item("InterGen")
  381. oReportos.CostoDeTransferencia = drd.Item("CostoTransfr")
  382. 'oReportos.RendimientoNetoAntesDeImpuestos = drd.Item("RendNetoAntImp")
  383. oReportos.ValorReCompra = drd.Item("ValReCompra")
  384. oReportos.ImpuestosLiquidacion = drd.Item("ImpLiquidacion")
  385. 'oReportos.IngresoNeto = drd.Item("IngrNeto")
  386. oReportos.ValorNeto = drd.Item("ValNeto")
  387. 'oReportos.RendimientoNetoDespuesDeImpuestos = drd.Item("RendNetoDespImp")
  388. End If
  389. Else
  390. 'NO SE ENCONTRO EL REGISTRO
  391. End If
  392. drd.Close()
  393. cmd.Dispose()
  394. cn.Dispose()
  395. End Sub
  396. Public Function CargarRegistro(ByVal vCodigoInversion As String) As ReportosCE
  397. Dim objCon As New Conexion
  398. Dim oReportosCE As ReportosCE
  399. Dim sql As String
  400. Dim cmd As SqlCommand
  401. Dim drd As SqlDataReader
  402. Dim cn As SqlConnection = objCon.Conectar
  403. If cn.State = ConnectionState.Closed Then
  404. cn.Open()
  405. End If
  406. oReportosCE = New ReportosCE
  407. sql = "SELECT * FROM [dbo].[REP0] T0 WHERE T0.[CodInv]=@CodInv"
  408. cmd = New SqlCommand
  409. cmd.CommandText = sql
  410. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = vCodigoInversion
  411. cmd.Connection = cn
  412. drd = cmd.ExecuteReader
  413. If drd.HasRows Then
  414. 'SE ENCONTRO EL REGISTRO
  415. If drd.Read Then
  416. oReportosCE.CodigoInversion = vCodigoInversion
  417. oReportosCE.Nombre = drd.Item("Nombre")
  418. oReportosCE.FechaDeCompra = drd.Item("FCompra")
  419. oReportosCE.ValorTransado = drd.Item("ValTrans")
  420. oReportosCE.Dias = drd.Item("Dias")
  421. oReportosCE.FechaVencimiento = drd.Item("FVenc")
  422. oReportosCE.Rendimiento = drd.Item("Rend")
  423. End If
  424. Else
  425. 'NO SE ENCONTRO EL REGISTRO
  426. End If
  427. drd.Close()
  428. cmd.Dispose()
  429. cn.Dispose()
  430. Return oReportosCE
  431. End Function
  432. Public Function Nuevo(ByVal Coleccion As Collection, ByVal Codigo As String, ByVal Tabla As String)
  433. Dim objCon As New Conexion
  434. Dim retorno As Integer
  435. Dim sql As String
  436. Dim cmd As SqlCommand
  437. Dim cn As SqlConnection = objCon.Conectar
  438. If cn.State = ConnectionState.Closed Then
  439. cn.Open()
  440. End If
  441. If Tabla = "REP0" Then
  442. sql = "INSERT INTO " + Tabla + "(
  443. [CodInv]
  444. ,[codigo]
  445. ,[Nombre]
  446. ,[FCompra]
  447. ,[ValTrans]
  448. ,[Dias]
  449. ,[FVenc]
  450. ,[Rend]
  451. ,[CostoTransfr]
  452. ,[ComisionCasa]
  453. ,[ComisionBolsa]
  454. ,[Casa]
  455. ,[IOF]
  456. ,[Renta]
  457. ,[Base]
  458. ,[ComisionCasaValor]
  459. ,[ComisionBolsaValor]
  460. ,[IOFValor]
  461. ,[OtrosCostos]
  462. ,[TotalCostos]
  463. ,[MontoLiq]
  464. ,[IntGenerar]
  465. ,[RendAntImp]
  466. ,[RendDesImp]
  467. ,[ImpLiq]
  468. ,[IngrNet]
  469. ,[ValorNet]
  470. ,[EstadoIOF]
  471. ,[EstadoRenta]
  472. ) VALUES(
  473. @CodInv
  474. ,@codigo
  475. ,@Nombre
  476. ,@FCompra
  477. ,@ValTrans
  478. ,@Dias
  479. ,@FVenc
  480. ,@Rend
  481. ,@CostoTransfr
  482. ,@ComisionCasa
  483. ,@ComisionBolsa
  484. ,@Casa
  485. ,@IOF
  486. ,@Renta
  487. ,@Base
  488. ,@ComisionCasaValor
  489. ,@ComisionBolsaValor
  490. ,@IOFValor
  491. ,@OtrosCostos
  492. ,@TotalCostos
  493. ,@MontoLiq
  494. ,@IntGenerar
  495. ,@RendAntImp
  496. ,@RendDesImp
  497. ,@ImpLiq
  498. ,@IngrNet
  499. ,@ValorNet
  500. ,@EstadoIOF
  501. ,@EstadoRenta
  502. )
  503. "
  504. Else
  505. sql = "INSERT INTO " + Tabla + "(
  506. [CodInv]
  507. ,[codigo]
  508. ,[Nombre]
  509. ,[FCompra]
  510. ,[ValTrans]
  511. ,[Dias]
  512. ,[FVenc]
  513. ,[Rend]
  514. ,[CostoTransfr]
  515. ,[ComisionCasa]
  516. ,[ComisionBolsa]
  517. ,[Casa]
  518. ,[IOF]
  519. ,[Renta]
  520. ,[Base]
  521. ,[ComisionCasaValor]
  522. ,[ComisionBolsaValor]
  523. ,[IOFValor]
  524. ,[OtrosCostos]
  525. ,[TotalCostos]
  526. ,[MontoLiq]
  527. ,[IntGenerar]
  528. ,[RendAntImp]
  529. ,[RendDesImp]
  530. ,[ImpLiq]
  531. ,[IngrNet]
  532. ,[ValorNet]
  533. ,[EstadoIOF]
  534. ,[EstadoRenta]
  535. ) VALUES(
  536. @CodInv
  537. ,@codigo
  538. ,@Nombre
  539. ,@FCompra
  540. ,@ValTrans
  541. ,@Dias
  542. ,@FVenc
  543. ,@Rend
  544. ,@CostoTransfr
  545. ,@ComisionCasa
  546. ,@ComisionBolsa
  547. ,@Casa
  548. ,@IOF
  549. ,@Renta
  550. ,@Base
  551. ,@ComisionCasaValor
  552. ,@ComisionBolsaValor
  553. ,@IOFValor
  554. ,@OtrosCostos
  555. ,@TotalCostos
  556. ,@MontoLiq
  557. ,@IntGenerar
  558. ,@RendAntImp
  559. ,@RendDesImp
  560. ,@ImpLiq
  561. ,@IngrNet
  562. ,@ValorNet
  563. ,@EstadoIOF
  564. ,@EstadoRenta
  565. )
  566. "
  567. End If
  568. cmd = New SqlCommand
  569. cmd.CommandText = sql
  570. With cmd.Parameters
  571. .Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  572. .Add("@Nombre", SqlDbType.VarChar).Value = Coleccion(1)
  573. .Add("@FCompra", SqlDbType.DateTime).Value = Coleccion(2)
  574. .Add("@ValTrans", SqlDbType.Float).Value = Coleccion(3)
  575. .Add("@Dias", SqlDbType.Float).Value = Coleccion(4)
  576. .Add("@FVenc", SqlDbType.DateTime).Value = Coleccion(5)
  577. .Add("@Rend", SqlDbType.Float).Value = Coleccion(6)
  578. .Add("@CostoTransfr", SqlDbType.Float).Value = Coleccion(7)
  579. .Add("@codigo", SqlDbType.VarChar).Value = Coleccion(8)
  580. .Add("@ComisionCasa", SqlDbType.Decimal).Value = Coleccion(9)
  581. .Add("@ComisionBolsa", SqlDbType.Decimal).Value = Coleccion(10)
  582. .Add("@Casa", SqlDbType.VarChar).Value = Coleccion(11)
  583. .Add("@IOF", SqlDbType.Bit).Value = CByte(Coleccion(12))
  584. .Add("@Renta", SqlDbType.Bit).Value = CByte(Coleccion(13))
  585. .Add("@Base", SqlDbType.Int).Value = DBNull.Value
  586. .Add("@ComisionCasaValor", SqlDbType.Float).Value = Coleccion(14)
  587. .Add("@ComisionBolsaValor", SqlDbType.Float).Value = Coleccion(15)
  588. .Add("@IOFValor", SqlDbType.Float).Value = Coleccion(16)
  589. .Add("@OtrosCostos", SqlDbType.Float).Value = Coleccion(17)
  590. .Add("@TotalCostos", SqlDbType.Float).Value = Coleccion(18)
  591. .Add("@MontoLiq", SqlDbType.Float).Value = Coleccion(19)
  592. .Add("@IntGenerar", SqlDbType.Float).Value = Coleccion(20)
  593. .Add("@RendAntImp", SqlDbType.Float).Value = Coleccion(21)
  594. .Add("@RendDesImp", SqlDbType.Float).Value = Coleccion(22)
  595. .Add("@ImpLiq", SqlDbType.Float).Value = Coleccion(23)
  596. .Add("@IngrNet", SqlDbType.Float).Value = Coleccion(24)
  597. .Add("@ValorNet", SqlDbType.Float).Value = Coleccion(25)
  598. .Add("@EstadoIOF", SqlDbType.Float).Value = Coleccion(24)
  599. .Add("@EstadoRenta", SqlDbType.Float).Value = Coleccion(25)
  600. End With
  601. cmd.Connection = cn
  602. retorno = cmd.ExecuteNonQuery
  603. cn.Close()
  604. Return retorno
  605. End Function
  606. Public Function Modificar(ByVal Coleccion As Collection, ByVal Codigo As String, ByVal Tabla As String)
  607. Dim objCon As New Conexion
  608. Dim retorno As Integer
  609. Dim sql As String
  610. Dim cmd As SqlCommand
  611. Dim cn As SqlConnection = objCon.Conectar
  612. If cn.State = ConnectionState.Closed Then
  613. cn.Open()
  614. End If
  615. If Tabla = "REP0" Then
  616. sql = "UPDATE " + Tabla + " SET
  617. [codigo]=@codigo
  618. ,[Nombre]=@Nombre
  619. ,[FCompra]=@FCompra
  620. ,[ValTrans]=@ValTrans
  621. ,[Dias]=@Dias
  622. ,[FVenc]=@FVenc
  623. ,[Rend]=@Rend
  624. ,[CostoTransfr]=@CostoTransfr
  625. ,[ComisionCasa]=@ComisionCasa
  626. ,[ComisionBolsa]=@ComisionBolsa
  627. ,[Casa]=@Casa
  628. ,[IOF]=@IOF
  629. ,[Renta]=@Renta
  630. ,[Base]=@Base
  631. ,[ComisionCasaValor]=@ComisionCasaValor
  632. ,[ComisionBolsaValor]=@ComisionBolsaValor
  633. ,[IOFValor]=@IOFValor
  634. ,[OtrosCostos]=@OtrosCostos
  635. ,[TotalCostos]=@TotalCostos
  636. ,[MontoLiq]=@MontoLiq
  637. ,[IntGenerar]=@IntGenerar
  638. ,[RendAntImp]=@RendAntImp
  639. ,[RendDesImp]=@RendDesImp
  640. ,[ImpLiq]=@ImpLiq
  641. ,[IngrNet]=@IngrNet
  642. ,[ValorNet]=@ValorNet
  643. where [CodInv]=@CodInv AND ([codigo]=@codigo OR codigo is null)
  644. "
  645. Else
  646. sql = "UPDATE " + Tabla + " SET
  647. [Monto]=@Monto
  648. ,[FVenc]=@FVenc
  649. ,[CostoFinanciero]=@CostoFinanciero
  650. ,[Interes]=@Interes
  651. ,[Bolsa]=@Bolsa
  652. ,[TotPagar]=@TotPagar
  653. ,[Nombre]=@Nombre
  654. ,[FCompra]=@FCompra
  655. ,[ComisionCasa]=@ComisionCasa
  656. ,[ComisionBolsa]=@ComisionBolsa
  657. ,[Casa]=@Casa
  658. ,[Casa2]=@Casa2
  659. ,[Dias]=@Dias
  660. ,[Base]=@Base
  661. where [CodInv]=@CodInv AND ([codigo]=@codigo OR codigo is null)
  662. "
  663. End If
  664. cmd = New SqlCommand
  665. cmd.CommandText = sql
  666. 'Try
  667. If Tabla = "REP0" Then
  668. With cmd.Parameters
  669. .Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  670. .Add("@Nombre", SqlDbType.VarChar).Value = Coleccion(1)
  671. .Add("@FCompra", SqlDbType.DateTime).Value = Coleccion(2)
  672. .Add("@ValTrans", SqlDbType.Float).Value = Coleccion(3)
  673. .Add("@Dias", SqlDbType.Float).Value = Coleccion(4)
  674. .Add("@FVenc", SqlDbType.DateTime).Value = Coleccion(5)
  675. .Add("@Rend", SqlDbType.Float).Value = Coleccion(6)
  676. .Add("@CostoTransfr", SqlDbType.Float).Value = Coleccion(7)
  677. .Add("@codigo", SqlDbType.VarChar).Value = Coleccion(8)
  678. .Add("@ComisionCasa", SqlDbType.Decimal).Value = Coleccion(9)
  679. .Add("@ComisionBolsa", SqlDbType.Decimal).Value = Coleccion(10)
  680. .Add("@Casa", SqlDbType.VarChar).Value = Coleccion(11)
  681. .Add("@IOF", SqlDbType.Bit).Value = CByte(Coleccion(12))
  682. .Add("@Renta", SqlDbType.Bit).Value = CByte(Coleccion(13))
  683. If Coleccion(14) Is DBNull.Value Then
  684. '.Add("@Base", SqlDbType.Int).Value = 0
  685. Else
  686. If String.IsNullOrEmpty(Coleccion(14)) Then
  687. '.Add("@Base", SqlDbType.Int).Value = 0
  688. Else
  689. '.Add("@Base", SqlDbType.Int).Value = Coleccion(14)
  690. End If
  691. End If
  692. .Add("@Base", SqlDbType.Int).Value = DBNull.Value
  693. .Add("@ComisionCasaValor", SqlDbType.Float).Value = Coleccion(14)
  694. .Add("@ComisionBolsaValor", SqlDbType.Float).Value = Coleccion(15)
  695. .Add("@IOFValor", SqlDbType.Float).Value = Coleccion(16)
  696. .Add("@OtrosCostos", SqlDbType.Float).Value = Coleccion(17)
  697. .Add("@TotalCostos", SqlDbType.Float).Value = Coleccion(18)
  698. .Add("@MontoLiq", SqlDbType.Float).Value = Coleccion(19)
  699. .Add("@IntGenerar", SqlDbType.Float).Value = Coleccion(20)
  700. .Add("@RendAntImp", SqlDbType.Float).Value = Coleccion(21)
  701. .Add("@RendDesImp", SqlDbType.Float).Value = Coleccion(22)
  702. .Add("@ImpLiq", SqlDbType.Float).Value = Coleccion(23)
  703. .Add("@IngrNet", SqlDbType.Float).Value = Coleccion(24)
  704. .Add("@ValorNet", SqlDbType.Float).Value = Coleccion(25)
  705. End With
  706. Else
  707. With cmd.Parameters
  708. .Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  709. .Add("@Monto", SqlDbType.Float).Value = Coleccion(1)
  710. .Add("@FVenc", SqlDbType.Date).Value = Coleccion(2)
  711. .Add("@CostoFinanciero", SqlDbType.Float).Value = Coleccion(3)
  712. .Add("@Interes", SqlDbType.Float).Value = Coleccion(4)
  713. .Add("@Bolsa", SqlDbType.Float).Value = Coleccion(5)
  714. .Add("@TotPagar", SqlDbType.Float).Value = Coleccion(6)
  715. .Add("@Nombre", SqlDbType.VarChar).Value = Coleccion(7)
  716. .Add("@FCompra", SqlDbType.Date).Value = Coleccion(8)
  717. .Add("@ComisionCasa", SqlDbType.Decimal).Value = Coleccion(9)
  718. .Add("@ComisionBolsa", SqlDbType.Decimal).Value = Coleccion(10)
  719. .Add("@Casa", SqlDbType.Float).Value = Coleccion(11)
  720. .Add("@Casa2", SqlDbType.VarChar).Value = Coleccion(12)
  721. .Add("@Dias", SqlDbType.Int).Value = Coleccion(13)
  722. .Add("@codigo", SqlDbType.Int).Value = Coleccion(14)
  723. If Coleccion(15) Is DBNull.Value Then
  724. '.Add("@Base", SqlDbType.Int).Value = 0
  725. Else
  726. If String.IsNullOrEmpty(Coleccion(15)) Then
  727. '.Add("@Base", SqlDbType.Int).Value = 0
  728. Else
  729. '.Add("@Base", SqlDbType.Int).Value = Coleccion(15)
  730. End If
  731. End If
  732. .Add("@Base", SqlDbType.Int).Value = DBNull.Value
  733. End With
  734. End If
  735. cmd.Connection = cn
  736. retorno = cmd.ExecuteNonQuery
  737. 'Catch ex As Exception
  738. ' MsgBox("Error al Modificar los registros")
  739. ' Return Nothing
  740. 'End Try
  741. cn.Close()
  742. Return retorno
  743. End Function
  744. Public Function TraerImpuesto(ByVal Codigo As String, ByVal codigoElemento As String)
  745. Dim objCon As New Conexion
  746. Dim cn As SqlConnection = objCon.Conectar
  747. If cn.State = ConnectionState.Closed Then
  748. cn.Open()
  749. End If
  750. If (Not String.IsNullOrEmpty(Codigo)) Then
  751. Dim sql As String
  752. Dim cmd As SqlCommand
  753. Dim Impuesto As String
  754. sql = "SELECT * FROM REP0 WHERE CodInv=@Codigo and [codigo]=@codigoElemento"
  755. cmd = New SqlCommand
  756. cmd.CommandText = sql
  757. cmd.Parameters.Add("@Codigo", SqlDbType.VarChar).Value = Codigo
  758. cmd.Parameters.Add("@codigoElemento", SqlDbType.VarChar).Value = codigoElemento
  759. cmd.Connection = cn
  760. ' Dim Datos = cmd.ExecuteScalar
  761. Dim Datos = cmd.ExecuteReader
  762. cn.Close()
  763. If Datos.HasRows Then
  764. 'SE ENCONTRO EL REGISTRO
  765. Try
  766. If Datos.Read Then
  767. Impuesto = Datos.Item("Impuestos")
  768. Return Impuesto
  769. Else
  770. Return 0
  771. End If
  772. Catch ex As Exception
  773. Return 0
  774. End Try
  775. Else
  776. Return 0
  777. End If
  778. Else
  779. Return 0
  780. End If
  781. End Function
  782. Public Function AgregarImpuesto(ByVal CodigoInv As String, ByVal CodigoElemento As String, ByVal Impues As String, ByVal Flag As Integer)
  783. Dim objCon As New Conexion
  784. Dim retorno As Integer
  785. Dim sql As String
  786. Dim cmd As SqlCommand
  787. Dim cn As SqlConnection = objCon.Conectar
  788. If cn.State = ConnectionState.Closed Then
  789. cn.Open()
  790. End If
  791. Dim Impuestos As String = TraerImpuesto(CodigoInv, CodigoElemento)
  792. If (String.IsNullOrEmpty(Impuestos) Or Impuestos = "0") Then
  793. Impuestos = Impues
  794. Else
  795. If (Flag = 0) Then
  796. If InStr(1, Impuestos, Impues) = 0 Then
  797. Impuestos = Impuestos.ToString + "-" + Impues.ToString
  798. End If
  799. Else
  800. If Not InStr(1, Impuestos, Impues) = 0 Then
  801. Dim QuitarImpuesto = Impuestos.Split("-")
  802. Impuestos = String.Empty
  803. For Each i In QuitarImpuesto
  804. If (Not i = Impues) Then
  805. If (String.IsNullOrEmpty(Impuestos)) Then
  806. Impuestos = i
  807. Else
  808. Impuestos = Impuestos + "-" + i
  809. End If
  810. End If
  811. Next
  812. End If
  813. End If
  814. End If
  815. sql = "UPDATE [dbo].[REP0] SET
  816. [Impuestos]=@Impuestos
  817. where [CodInv]=@CodInv and [codigo]=@codigo
  818. "
  819. cmd = New SqlCommand
  820. cmd.CommandText = sql
  821. With cmd.Parameters
  822. .Add("@CodInv", SqlDbType.VarChar).Value = CodigoInv
  823. .Add("@codigo", SqlDbType.VarChar).Value = CodigoElemento
  824. .Add("@Impuestos", SqlDbType.VarChar).Value = Impuestos
  825. End With
  826. cmd.Connection = cn
  827. retorno = cmd.ExecuteNonQuery
  828. cn.Close()
  829. Return retorno
  830. End Function
  831. Public Function FiltroReportoVenta(ByRef FechaVenOperacion1 As String, ByRef FechaVenOperacion2 As String, ByRef Estado As String, ByRef Empresa As String, ByRef CasaCorredora As String) As DataSet
  832. Dim objCon As New Conexion
  833. Dim da As New SqlDataAdapter
  834. Dim ds As New DataSet
  835. Dim cn As SqlConnection = objCon.Conectar
  836. If cn.State = ConnectionState.Closed Then
  837. cn.Open()
  838. End If
  839. Dim sql = "SP_CargarReportoVentas"
  840. Dim cmd As New SqlCommand(sql, cn)
  841. cmd.CommandType = CommandType.StoredProcedure
  842. cmd.Parameters.Add("@FechaOperacion1", SqlDbType.Date).Value = Operaciones.ConvertirFechaBaseDatos(FechaVenOperacion1)
  843. cmd.Parameters.Add("@FechaOperacion2", SqlDbType.Date).Value = Operaciones.ConvertirFechaBaseDatos(FechaVenOperacion2)
  844. cmd.Parameters.Add("@Empresa", SqlDbType.VarChar).Value = Empresa
  845. cmd.Parameters.Add("@CasaCorredora", SqlDbType.VarChar).Value = CasaCorredora
  846. cmd.Parameters.Add("@Estado", SqlDbType.VarChar).Value = Estado
  847. da = New SqlDataAdapter(cmd)
  848. da.Fill(ds)
  849. cn.Close()
  850. Return ds
  851. End Function
  852. Public Function FiltroReportoCostos() As DataSet
  853. Dim objCon As New Conexion
  854. Dim da As New SqlDataAdapter
  855. Dim ds As New DataSet
  856. Dim cn As SqlConnection = objCon.Conectar
  857. If cn.State = ConnectionState.Closed Then
  858. cn.Open()
  859. End If
  860. Dim sql = "SP_CargarReportoCostos"
  861. Dim cmd As New SqlCommand(sql, cn)
  862. cmd.CommandType = CommandType.StoredProcedure
  863. da = New SqlDataAdapter(cmd)
  864. da.Fill(ds)
  865. cn.Close()
  866. Return ds
  867. End Function
  868. Public Function ReportoVentaFondo(ByRef Vigente As String, ByRef Vencido As String) As DataTable
  869. Dim objCon As New Conexion
  870. Dim da As New SqlDataAdapter
  871. Dim ds As New DataSet
  872. Dim cn As SqlConnection = objCon.Conectar
  873. If cn.State = ConnectionState.Closed Then
  874. cn.Open()
  875. End If
  876. Dim sql = "SP_CargarReportoVentaFondo"
  877. Dim cmd As New SqlCommand(sql, cn)
  878. cmd.CommandType = CommandType.StoredProcedure
  879. cmd.Parameters.Add("@Vigente", SqlDbType.VarChar).Value = Vigente
  880. cmd.Parameters.Add("@Vencido", SqlDbType.VarChar).Value = Vencido
  881. da = New SqlDataAdapter(cmd)
  882. da.Fill(ds)
  883. cn.Close()
  884. Return ds.Tables(0)
  885. End Function
  886. End Class