AccionesDAO.vb 58 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652
  1. Imports System.Data.SqlClient
  2. Public Class AccionesDAO
  3. Private Operaciones As New Operaciones
  4. Public Function ProcesoDatos(ByVal Coleccion As Collection, ByVal Codigo As String, ByVal Diccionario As Dictionary(Of String, Collection), ByVal Estado As String)
  5. Dim objCon As New Conexion
  6. Dim retorno As Integer
  7. Dim sql As String
  8. Dim cmd As SqlCommand
  9. Dim myTrans As SqlTransaction
  10. Dim cn As SqlConnection = objCon.Conectar
  11. If cn.State = ConnectionState.Closed Then
  12. cn.Open()
  13. End If
  14. myTrans = cn.BeginTransaction()
  15. Try
  16. If Estado = "Nuevo" Then
  17. sql = "INSERT INTO [dbo].[ACC0]
  18. ([CodInv]
  19. ,[PrecioLimpioC]
  20. ,[FOperC]
  21. ,[FVenC]
  22. ,[DiasTC]
  23. ,[GCapTotC]
  24. ,[GCapUnC]
  25. ,[RetAnBrC]
  26. ,[RetAnNetC]
  27. ,[UnC]
  28. ,[ValTransC]
  29. ,[MontoNetoC]
  30. ,[PrecSucioC]
  31. ,[PrecioLimpioV]
  32. ,[FOperV]
  33. ,[FVenV]
  34. ,[DiasTV]
  35. ,[GCapTotV]
  36. ,[GCapUnV]
  37. ,[RetAnBrV]
  38. ,[RetAnNetV]
  39. ,[UnV]
  40. ,[ValTransV]
  41. ,[MontoNetoV]
  42. ,[PrecSucioV]
  43. ,[ComisionCompraCasa]
  44. ,[ComisionCompraBolsa]
  45. ,[ComisionVentaCasa]
  46. ,[ComisionVentaBolsa]
  47. ,[IOF]
  48. ,[Renta]
  49. ,[Tipo]
  50. ,[ComisionCompraCasaValor]
  51. ,[ComisionCompraBolsaValor]
  52. ,[ComisionVentaCasaValor]
  53. ,[ComisionVentaBolsaValor]
  54. )
  55. VALUES
  56. (@CodInv
  57. ,@PrecioLimpioC
  58. ,@FOperC
  59. ,@FVenC
  60. ,@DiasTC
  61. ,@GCapTotC
  62. ,@GCapUnC
  63. ,@RetAnBrC
  64. ,@RetAnNetC
  65. ,@UnC
  66. ,@ValTransC
  67. ,@MontoNetoC
  68. ,@PrecSucioC
  69. ,@PrecioLimpioV
  70. ,@FOperV
  71. ,@FVenV
  72. ,@DiasTV
  73. ,@GCapTotV
  74. ,@GCapUnV
  75. ,@RetAnBrV
  76. ,@RetAnNetV
  77. ,@UnV
  78. ,@ValTransV
  79. ,@MontoNetoV
  80. ,@PrecSucioV
  81. ,@ComisionCompraCasa
  82. ,@ComisionCompraBolsa
  83. ,@ComisionVentaCasa
  84. ,@ComisionVentaBolsa
  85. ,@IOF
  86. ,@Renta
  87. ,@Tipo
  88. ,@ComisionCompraCasaValor
  89. ,@ComisionCompraBolsaValor
  90. ,@ComisionVentaCasaValor
  91. ,@ComisionVentaBolsaValor
  92. )"
  93. Else
  94. sql = "UPDATE [dbo].[ACC0] SET
  95. [PrecioLimpioC]=@PrecioLimpioC
  96. ,[FOperC]=@FOperC
  97. ,[FVenC]=@FVenC
  98. ,[DiasTC]=@DiasTC
  99. ,[GCapTotC]=@GCapTotC
  100. ,[GCapUnC]=@GCapUnC
  101. ,[RetAnBrC]=@RetAnBrC
  102. ,[RetAnNetC]=@RetAnNetC
  103. ,[UnC]=@UnC
  104. ,[ValTransC]=@ValTransC
  105. ,[MontoNetoC]=@MontoNetoC
  106. ,[PrecSucioC]=@PrecSucioC
  107. ,[PrecioLimpioV]=@PrecioLimpioV
  108. ,[FOperV]=@FOperV
  109. ,[FVenV]=@FVenV
  110. ,[DiasTV]=@DiasTV
  111. ,[GCapTotV]=@GCapTotV
  112. ,[GCapUnV]=@GCapUnV
  113. ,[RetAnBrV]=@RetAnBrV
  114. ,[RetAnNetV]=@RetAnNetV
  115. ,[UnV]=@UnV
  116. ,[ValTransV]=@ValTransV
  117. ,[MontoNetoV]=@MontoNetoV
  118. ,[PrecSucioV]=@PrecSucioV
  119. ,[ComisionCompraCasa]=@ComisionCompraCasa
  120. ,[ComisionCompraBolsa]=@ComisionCompraBolsa
  121. ,[ComisionVentaCasa]=@ComisionVentaCasa
  122. ,[ComisionVentaBolsa]=@ComisionVentaBolsa
  123. ,[IOF]=@IOF
  124. ,[Renta]=@Renta
  125. ,[Tipo]=@Tipo
  126. ,[ComisionCompraCasaValor]=@ComisionCompraCasaValor
  127. ,[ComisionCompraBolsaValor]=@ComisionCompraBolsaValor
  128. ,[ComisionVentaCasaValor]=@ComisionVentaCasaValor
  129. ,[ComisionVentaBolsaValor]=@ComisionVentaBolsaValor
  130. where [CodInv]=@CodInv
  131. "
  132. End If
  133. cmd = New SqlCommand
  134. cmd.CommandText = sql
  135. cmd.Connection = cn
  136. cmd.Transaction = myTrans
  137. With cmd.Parameters
  138. .Add("@CodInv", SqlDbType.VarChar).Value = Codigo.ToString
  139. .Add("@PrecioLimpioC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(1).ToString)
  140. .Add("@FOperC", SqlDbType.Date).Value = Operaciones.ConvertirFecha(Coleccion(2).ToString)
  141. .Add("@FVenC", SqlDbType.Date).Value = Operaciones.ConvertirFecha(Coleccion(3).ToString)
  142. .Add("@DiasTC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(4).ToString)
  143. .Add("@GCapTotC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(5).ToString)
  144. .Add("@GCapUnC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(6).ToString)
  145. .Add("@RetAnBrC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(7).ToString)
  146. .Add("@RetAnNetC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(8).ToString)
  147. .Add("@UnC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(9).ToString)
  148. .Add("@ValTransC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(10).ToString)
  149. .Add("@MontoNetoC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(11).ToString)
  150. .Add("@PrecSucioC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(12).ToString)
  151. .Add("@PrecioLimpioV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(13).ToString)
  152. .Add("@FOperV", SqlDbType.Date).Value = Operaciones.ConvertirFecha(Coleccion(14).ToString)
  153. .Add("@FVenV", SqlDbType.Date).Value = Operaciones.ConvertirFecha(Coleccion(15).ToString)
  154. .Add("@DiasTV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(16).ToString)
  155. .Add("@GCapTotV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(17).ToString)
  156. .Add("@GCapUnV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(18).ToString)
  157. .Add("@RetAnBrV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(19).ToString)
  158. .Add("@RetAnNetV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(20).ToString)
  159. .Add("@UnV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(21).ToString)
  160. .Add("@ValTransV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(22).ToString)
  161. .Add("@MontoNetoV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(23).ToString)
  162. .Add("@PrecSucioV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(24).ToString)
  163. .Add("@ComisionCompraCasa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(25).ToString)
  164. .Add("@ComisionCompraBolsa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(26).ToString)
  165. .Add("@ComisionVentaCasa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(27).ToString)
  166. .Add("@ComisionVentaBolsa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(28).ToString)
  167. .Add("@IOF", SqlDbType.Bit).Value = CByte(Coleccion(29))
  168. .Add("@Renta", SqlDbType.Bit).Value = CByte(Coleccion(30))
  169. .Add("@Tipo", SqlDbType.VarChar).Value = Coleccion(31).ToString
  170. .Add("@ComisionCompraCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(32).ToString)
  171. .Add("@ComisionCompraBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(33).ToString)
  172. .Add("@ComisionVentaCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(34).ToString)
  173. .Add("@ComisionVentaBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(35).ToString)
  174. End With
  175. retorno = cmd.ExecuteNonQuery
  176. sql = "DELETE FROM [dbo].[ACC1]
  177. WHERE [CodInv]=@CodInv "
  178. cmd = New SqlCommand
  179. cmd.CommandText = sql
  180. cmd.Connection = cn
  181. cmd.Transaction = myTrans
  182. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  183. retorno = cmd.ExecuteNonQuery
  184. If Not Diccionario Is Nothing Then
  185. For Each DatosDiccionario In Diccionario
  186. Dim Coleccion2 As Collection = DatosDiccionario.Value
  187. sql = "INSERT INTO [dbo].[ACC1]
  188. ([CodInv]
  189. ,[Fecha]
  190. ,[Dividendo]
  191. ,[CantidadBase]
  192. ,[IngresoBruto]
  193. ,[PorcISR]
  194. ,[ISR]
  195. ,[IngresoNeto]
  196. ,[Estado]
  197. ,[FechaInicio]
  198. ,[FechaCorte]
  199. ,[NumDiv]
  200. )
  201. VALUES
  202. (@CodInv
  203. ,@Fecha
  204. ,@Dividendo
  205. ,@CantidadBase
  206. ,@IngresoBruto
  207. ,@PorcISR
  208. ,@ISR
  209. ,@IngresoNeto
  210. ,@Estado
  211. ,@FechaInicio
  212. ,@FechaCorte
  213. ,@NumDiv
  214. )"
  215. cmd = New SqlCommand
  216. cmd.CommandText = sql
  217. cmd.Connection = cn
  218. cmd.Transaction = myTrans
  219. With cmd.Parameters
  220. .Add("@CodInv", SqlDbType.VarChar).Value = Codigo.ToString
  221. .Add("@Fecha", SqlDbType.Date).Value = Operaciones.ConvertirFecha(Coleccion2(1).ToString)
  222. .Add("@Dividendo", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion2(2).ToString)
  223. .Add("@CantidadBase", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion2(3).ToString)
  224. .Add("@IngresoBruto", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion2(4).ToString)
  225. .Add("@PorcISR", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion2(5).ToString)
  226. .Add("@ISR", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion2(6).ToString)
  227. .Add("@IngresoNeto", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion2(7).ToString)
  228. .Add("@Estado", SqlDbType.VarChar).Value = Coleccion2(8).ToString
  229. .Add("@NumDiv", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion2(9).ToString)
  230. .Add("@FechaInicio", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(Coleccion2(10).ToString)
  231. .Add("@FechaCorte", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(Coleccion2(11).ToString)
  232. End With
  233. retorno = cmd.ExecuteNonQuery
  234. Next
  235. End If
  236. ''''''''''''''''
  237. myTrans.Commit()
  238. MsgBox("Datos Ingresados")
  239. Catch ex As Exception
  240. myTrans.Rollback()
  241. MsgBox(ex.Message)
  242. End Try
  243. cn.Close()
  244. Return retorno
  245. End Function
  246. Public Sub Eliminar(ByVal Codigo As String)
  247. Dim objCon As New Conexion
  248. Dim retorno As Integer
  249. Dim sql As String
  250. Dim cmd As SqlCommand
  251. Dim myTrans As SqlTransaction
  252. Dim cn As SqlConnection = objCon.Conectar
  253. If cn.State = ConnectionState.Closed Then
  254. cn.Open()
  255. End If
  256. myTrans = cn.BeginTransaction()
  257. Try
  258. sql = "DELETE FROM [dbo].[ACC1]
  259. WHERE [CodInv]=@CodInv"
  260. cmd = New SqlCommand
  261. cmd.CommandText = sql
  262. cmd.Connection = cn
  263. cmd.Transaction = myTrans
  264. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  265. retorno = cmd.ExecuteNonQuery
  266. sql = "DELETE FROM [dbo].[ACC0]
  267. WHERE [CodInv]=@CodInv"
  268. cmd = New SqlCommand
  269. cmd.CommandText = sql
  270. cmd.Connection = cn
  271. cmd.Transaction = myTrans
  272. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  273. retorno = cmd.ExecuteNonQuery
  274. myTrans.Commit()
  275. MsgBox("Datos Eliminados")
  276. Catch ex As Exception
  277. myTrans.Rollback()
  278. MsgBox(ex.Message)
  279. End Try
  280. cn.Close()
  281. End Sub
  282. Public Sub EliminarElemenoInd(ByVal Codigo As String, ByVal NumDiv As Integer)
  283. Dim objCon As New Conexion
  284. Dim sql As String
  285. Dim cmd As SqlCommand
  286. Dim res As Integer
  287. Dim cn As SqlConnection = objCon.Conectar
  288. If cn.State = ConnectionState.Closed Then
  289. cn.Open()
  290. End If
  291. sql = "DELETE FROM [dbo].[ACC1]
  292. WHERE [CodInv]=@CodInv and [NumDiv]=@NumDiv"
  293. cmd = New SqlCommand
  294. cmd.CommandText = sql
  295. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  296. cmd.Parameters.Add("@NumDiv", SqlDbType.Int).Value = Operaciones.ConvertirEntero(NumDiv.ToString)
  297. cmd.Connection = cn
  298. res = cmd.ExecuteNonQuery
  299. cn.Close()
  300. End Sub
  301. Public Function NuevoElementoAccion(ByVal codigo As String, ByVal coleccion As Collection)
  302. Dim objCon As New Conexion
  303. Dim retorno As Integer
  304. Dim sql As String
  305. Dim cmd As SqlCommand
  306. Dim cn As SqlConnection = objCon.Conectar
  307. If cn.State = ConnectionState.Closed Then
  308. cn.Open()
  309. End If
  310. If (coleccion Is Nothing) Then
  311. Exit Function
  312. End If
  313. sql = "INSERT INTO [dbo].[ACC1]
  314. ([CodInv]
  315. ,[Fecha]
  316. ,[Dividendo]
  317. ,[CantidadBase]
  318. ,[IngresoBruto]
  319. ,[PorcISR]
  320. ,[ISR]
  321. ,[IngresoNeto]
  322. ,[Estado]
  323. ,[FechaInicio]
  324. ,[FechaCorte]
  325. ,[NumDiv]
  326. )
  327. VALUES
  328. (@CodInv
  329. ,@Fecha
  330. ,@Dividendo
  331. ,@CantidadBase
  332. ,@IngresoBruto
  333. ,@PorcISR
  334. ,@ISR
  335. ,@IngresoNeto
  336. ,@Estado
  337. ,@FechaInicio
  338. ,@FechaCorte
  339. ,@NumDiv
  340. )"
  341. cmd = New SqlCommand
  342. cmd.CommandText = sql
  343. cmd.Connection = cn
  344. Try
  345. With cmd.Parameters
  346. .Add("@CodInv", SqlDbType.VarChar).Value = codigo.ToString
  347. .Add("@Fecha", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(1).ToString)
  348. .Add("@Dividendo", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(2).ToString)
  349. .Add("@CantidadBase", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(3).ToString)
  350. .Add("@IngresoBruto", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(4).ToString)
  351. .Add("@PorcISR", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(5).ToString)
  352. .Add("@ISR", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(6).ToString)
  353. .Add("@IngresoNeto", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(7).ToString)
  354. .Add("@Estado", SqlDbType.VarChar).Value = coleccion(8).ToString
  355. .Add("@NumDiv", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(9).ToString)
  356. .Add("@FechaInicio", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(10))
  357. .Add("@FechaCorte", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(11))
  358. End With
  359. retorno = cmd.ExecuteNonQuery
  360. Catch ex As Exception
  361. Return Nothing
  362. End Try
  363. cn.Close()
  364. Return retorno
  365. End Function
  366. Public Function ModificarElementoAccion(ByVal codigo As String, ByVal coleccion As Collection)
  367. Dim objCon As New Conexion
  368. Dim retorno As Integer
  369. Dim sql As String
  370. Dim cmd As SqlCommand
  371. Dim cn As SqlConnection = objCon.Conectar
  372. If cn.State = ConnectionState.Closed Then
  373. cn.Open()
  374. End If
  375. If (coleccion Is Nothing) Then
  376. Exit Function
  377. End If
  378. sql = "UPDATE [dbo].[ACC1] SET
  379. [Fecha]=@Fecha
  380. ,[Dividendo]=@Dividendo
  381. ,[CantidadBase]=@CantidadBase
  382. ,[IngresoBruto]=@IngresoBruto
  383. ,[PorcISR]=@PorcISR
  384. ,[ISR]=@ISR
  385. ,[IngresoNeto]=@IngresoNeto
  386. ,[Estado]=@Estado
  387. ,[FechaInicio]=@FechaInicio
  388. ,[FechaCorte]=@FechaCorte
  389. where [CodInv]=@CodInv and [NumDiv]=@NumDiv
  390. "
  391. cmd = New SqlCommand
  392. cmd.CommandText = sql
  393. cmd.Connection = cn
  394. Try
  395. With cmd.Parameters
  396. .Add("@CodInv", SqlDbType.VarChar).Value = codigo.ToString
  397. .Add("@Fecha", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(1).ToString)
  398. .Add("@Dividendo", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(2).ToString)
  399. .Add("@CantidadBase", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(3).ToString)
  400. .Add("@IngresoBruto", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(4).ToString)
  401. .Add("@PorcISR", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(5).ToString)
  402. .Add("@ISR", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(6).ToString)
  403. .Add("@IngresoNeto", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(coleccion(7).ToString)
  404. .Add("@Estado", SqlDbType.VarChar).Value = coleccion(8).ToString
  405. .Add("@NumDiv", SqlDbType.Int).Value = Operaciones.ConvertirEntero(coleccion(9).ToString)
  406. .Add("@FechaInicio", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(10))
  407. .Add("@FechaCorte", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(coleccion(11))
  408. End With
  409. retorno = cmd.ExecuteNonQuery
  410. Catch ex As Exception
  411. Return Nothing
  412. End Try
  413. cn.Close()
  414. Return retorno
  415. End Function
  416. Public Function NuevaAccion(ByVal codigo As String, ByVal coleccion As Collection)
  417. Dim objCon As New Conexion
  418. Dim retorno As Integer
  419. Dim sql As String
  420. Dim cmd As SqlCommand
  421. Dim cn As SqlConnection = objCon.Conectar
  422. If cn.State = ConnectionState.Closed Then
  423. cn.Open()
  424. End If
  425. sql = "INSERT INTO [dbo].[ACC0]
  426. ([CodInv]
  427. ,[PrecioLimpioC]
  428. ,[FOperC]
  429. ,[FVenC]
  430. ,[DiasTC]
  431. ,[GCapTotC]
  432. ,[GCapUnC]
  433. ,[RetAnBrC]
  434. ,[RetAnNetC]
  435. ,[UnC]
  436. ,[ValTransC]
  437. ,[MontoNetoC]
  438. ,[PrecSucioC]
  439. ,[PrecioLimpioV]
  440. ,[FOperV]
  441. ,[FVenV]
  442. ,[DiasTV]
  443. ,[GCapTotV]
  444. ,[GCapUnV]
  445. ,[RetAnBrV]
  446. ,[RetAnNetV]
  447. ,[UnV]
  448. ,[ValTransV]
  449. ,[MontoNetoV]
  450. ,[PrecSucioV]
  451. ,[ComisionCompraCasa]
  452. ,[ComisionCompraBolsa]
  453. ,[ComisionVentaCasa]
  454. ,[ComisionVentaBolsa]
  455. ,[IOF]
  456. ,[Renta]
  457. ,[Tipo]
  458. ,[ComisionCompraCasaValor]
  459. ,[ComisionCompraBolsaValor]
  460. ,[ComisionVentaCasaValor]
  461. ,[ComisionVentaBolsaValor]
  462. )
  463. VALUES
  464. (@CodInv
  465. ,@PrecioLimpioC
  466. ,@FOperC
  467. ,@FVenC
  468. ,@DiasTC
  469. ,@GCapTotC
  470. ,@GCapUnC
  471. ,@RetAnBrC
  472. ,@RetAnNetC
  473. ,@UnC
  474. ,@ValTransC
  475. ,@MontoNetoC
  476. ,@PrecSucioC
  477. ,@PrecioLimpioV
  478. ,@FOperV
  479. ,@FVenV
  480. ,@DiasTV
  481. ,@GCapTotV
  482. ,@GCapUnV
  483. ,@RetAnBrV
  484. ,@RetAnNetV
  485. ,@UnV
  486. ,@ValTransV
  487. ,@MontoNetoV
  488. ,@PrecSucioV
  489. ,@ComisionCompraCasa
  490. ,@ComisionCompraBolsa
  491. ,@ComisionVentaCasa
  492. ,@ComisionVentaBolsa
  493. ,@IOF
  494. ,@Renta
  495. ,@Tipo
  496. ,@ComisionCompraCasaValor
  497. ,@ComisionCompraBolsaValor
  498. ,@ComisionVentaCasaValor
  499. ,@ComisionVentaBolsaValor
  500. )"
  501. cmd = New SqlCommand
  502. cmd.CommandText = sql
  503. cmd.Connection = cn
  504. Try
  505. With cmd.Parameters
  506. .Add("@CodInv", SqlDbType.VarChar).Value = codigo.ToString
  507. .Add("@PrecioLimpioC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(1).ToString)
  508. .Add("@FOperC", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(2).ToString)
  509. .Add("@FVenC", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(3).ToString)
  510. .Add("@DiasTC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(4).ToString)
  511. .Add("@GCapTotC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(5).ToString)
  512. .Add("@GCapUnC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(6).ToString)
  513. .Add("@RetAnBrC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(7).ToString)
  514. .Add("@RetAnNetC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(8).ToString)
  515. .Add("@UnC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(9).ToString)
  516. .Add("@ValTransC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(10).ToString)
  517. .Add("@MontoNetoC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(11).ToString)
  518. .Add("@PrecSucioC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(12).ToString)
  519. .Add("@PrecioLimpioV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(13).ToString)
  520. .Add("@FOperV", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(14).ToString)
  521. .Add("@FVenV", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(15).ToString)
  522. .Add("@DiasTV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(16).ToString)
  523. .Add("@GCapTotV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(17).ToString)
  524. .Add("@GCapUnV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(18).ToString)
  525. .Add("@RetAnBrV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(19).ToString)
  526. .Add("@RetAnNetV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(20).ToString)
  527. .Add("@UnV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(21).ToString)
  528. .Add("@ValTransV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(22).ToString)
  529. .Add("@MontoNetoV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(23).ToString)
  530. .Add("@PrecSucioV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(24).ToString)
  531. .Add("@ComisionCompraCasa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(25).ToString)
  532. .Add("@ComisionCompraBolsa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(26).ToString)
  533. .Add("@ComisionVentaCasa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(27).ToString)
  534. .Add("@ComisionVentaBolsa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(28).ToString)
  535. .Add("@IOF", SqlDbType.Bit).Value = CByte(coleccion(29))
  536. .Add("@Renta", SqlDbType.Bit).Value = CByte(coleccion(30))
  537. .Add("@Tipo", SqlDbType.VarChar).Value = coleccion(31).ToString
  538. .Add("@ComisionCompraCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(32).ToString)
  539. .Add("@ComisionCompraBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(33).ToString)
  540. .Add("@ComisionVentaCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(34).ToString)
  541. .Add("@ComisionVentaBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(35).ToString)
  542. End With
  543. retorno = cmd.ExecuteNonQuery
  544. Catch ex As Exception
  545. MsgBox("Error al ingresar datos")
  546. End Try
  547. cn.Close()
  548. Return retorno
  549. End Function
  550. Public Function ModificarAccion(ByVal codigo As String, ByVal coleccion As Collection)
  551. Dim objCon As New Conexion
  552. Dim retorno As Integer
  553. Dim sql As String
  554. Dim cmd As SqlCommand
  555. Dim cn As SqlConnection = objCon.Conectar
  556. If cn.State = ConnectionState.Closed Then
  557. cn.Open()
  558. End If
  559. sql = "UPDATE [dbo].[ACC0] SET
  560. [PrecioLimpioC]=@PrecioLimpioC
  561. ,[FOperC]=@FOperC
  562. ,[FVenC]=@FVenC
  563. ,[DiasTC]=@DiasTC
  564. ,[GCapTotC]=@GCapTotC
  565. ,[GCapUnC]=@GCapUnC
  566. ,[RetAnBrC]=@RetAnBrC
  567. ,[RetAnNetC]=@RetAnNetC
  568. ,[UnC]=@UnC
  569. ,[ValTransC]=@ValTransC
  570. ,[MontoNetoC]=@MontoNetoC
  571. ,[PrecSucioC]=@PrecSucioC
  572. ,[PrecioLimpioV]=@PrecioLimpioV
  573. ,[FOperV]=@FOperV
  574. ,[FVenV]=@FVenV
  575. ,[DiasTV]=@DiasTV
  576. ,[GCapTotV]=@GCapTotV
  577. ,[GCapUnV]=@GCapUnV
  578. ,[RetAnBrV]=@RetAnBrV
  579. ,[RetAnNetV]=@RetAnNetV
  580. ,[UnV]=@UnV
  581. ,[ValTransV]=@ValTransV
  582. ,[MontoNetoV]=@MontoNetoV
  583. ,[PrecSucioV]=@PrecSucioV
  584. ,[ComisionCompraCasa]=@ComisionCompraCasa
  585. ,[ComisionCompraBolsa]=@ComisionCompraBolsa
  586. ,[ComisionVentaCasa]=@ComisionVentaCasa
  587. ,[ComisionVentaBolsa]=@ComisionVentaBolsa
  588. ,[IOF]=@IOF
  589. ,[Renta]=@Renta
  590. ,[Tipo]=@Tipo
  591. ,[ComisionCompraCasaValor]=@ComisionCompraCasaValor
  592. ,[ComisionCompraBolsaValor]=@ComisionCompraBolsaValor
  593. ,[ComisionVentaCasaValor]=@ComisionVentaCasaValor
  594. ,[ComisionVentaBolsaValor]=@ComisionVentaBolsaValor
  595. where [CodInv]=@CodInv
  596. "
  597. cmd = New SqlCommand
  598. cmd.CommandText = sql
  599. cmd.Connection = cn
  600. Try
  601. With cmd.Parameters
  602. .Add("@CodInv", SqlDbType.VarChar).Value = codigo.ToString
  603. .Add("@PrecioLimpioC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(1).ToString)
  604. .Add("@FOperC", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(2).ToString)
  605. .Add("@FVenC", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(3).ToString)
  606. .Add("@DiasTC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(4).ToString)
  607. .Add("@GCapTotC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(5).ToString)
  608. .Add("@GCapUnC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(6).ToString)
  609. .Add("@RetAnBrC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(7).ToString)
  610. .Add("@RetAnNetC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(8).ToString)
  611. .Add("@UnC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(9).ToString)
  612. .Add("@ValTransC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(10).ToString)
  613. .Add("@MontoNetoC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(11).ToString)
  614. .Add("@PrecSucioC", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(12).ToString)
  615. .Add("@PrecioLimpioV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(13).ToString)
  616. .Add("@FOperV", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(14).ToString)
  617. .Add("@FVenV", SqlDbType.Date).Value = Operaciones.ConvertirFecha(coleccion(15).ToString)
  618. .Add("@DiasTV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(16).ToString)
  619. .Add("@GCapTotV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(17).ToString)
  620. .Add("@GCapUnV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(18).ToString)
  621. .Add("@RetAnBrV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(19).ToString)
  622. .Add("@RetAnNetV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(20).ToString)
  623. .Add("@UnV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(21).ToString)
  624. .Add("@ValTransV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(22).ToString)
  625. .Add("@MontoNetoV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(23).ToString)
  626. .Add("@PrecSucioV", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(24).ToString)
  627. .Add("@ComisionCompraCasa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(25).ToString)
  628. .Add("@ComisionCompraBolsa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(26).ToString)
  629. .Add("@ComisionVentaCasa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(27).ToString)
  630. .Add("@ComisionVentaBolsa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(28).ToString)
  631. .Add("@IOF", SqlDbType.Bit).Value = CByte(coleccion(29))
  632. .Add("@Renta", SqlDbType.Bit).Value = CByte(coleccion(30))
  633. .Add("@Tipo", SqlDbType.VarChar).Value = coleccion(31).ToString
  634. .Add("@ComisionCompraCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(32).ToString)
  635. .Add("@ComisionCompraBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(33).ToString)
  636. .Add("@ComisionVentaCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(34).ToString)
  637. .Add("@ComisionVentaBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(coleccion(35).ToString)
  638. End With
  639. retorno = cmd.ExecuteNonQuery
  640. Catch ex As Exception
  641. MsgBox("Error al modificar datos")
  642. End Try
  643. cn.Close()
  644. Return retorno
  645. End Function
  646. Public Sub EliminarAccion(ByVal Codigo As String)
  647. Dim objCon As New Conexion
  648. Dim sql As String
  649. Dim cmd As SqlCommand
  650. Dim res As Integer
  651. Dim cn As SqlConnection = objCon.Conectar
  652. If cn.State = ConnectionState.Closed Then
  653. cn.Open()
  654. End If
  655. sql = "DELETE FROM [dbo].[ACC0]
  656. WHERE [CodInv]=@CodInv;DELETE FROM [dbo].[ACC1]
  657. WHERE [CodInv]=@CodInv;DELETE FROM [dbo].[ACC2]
  658. WHERE [CodInv]=@CodInv;"
  659. Try
  660. cmd = New SqlCommand
  661. cmd.CommandText = sql
  662. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  663. cmd.Connection = cn
  664. res = cmd.ExecuteNonQuery
  665. Catch ex As Exception
  666. MsgBox("Error al eliminar")
  667. End Try
  668. cn.Close()
  669. End Sub
  670. Public Function Nuevo(ByVal oAccion As Object) As Integer
  671. Dim objCon As New Conexion
  672. Dim retorno As Integer
  673. Dim sql As String
  674. Dim cmd As SqlCommand
  675. Dim cn As SqlConnection = objCon.Conectar
  676. If cn.State = ConnectionState.Closed Then
  677. cn.Open()
  678. End If
  679. sql = "INSERT INTO [dbo].[ACC0]
  680. ([CodInv]
  681. ,[OpPrefC]
  682. ,[OpBolsaC]
  683. ,[PrecioLimpioC]
  684. ,[FOperC]
  685. ,[FLiqC]
  686. ,[DiasTC]
  687. ,[GCapTotC]
  688. ,[GCapUnC]
  689. ,[RetAnBrC]
  690. ,[RetAnNetC]
  691. ,[UnC]
  692. ,[ValTransC]
  693. ,[MontoNetoC]
  694. ,[PrecSucioC]
  695. ,[FactDiv]
  696. ,[PrecioLimpioV]
  697. ,[FOperV]
  698. ,[FLiqV]
  699. ,[DiasTV]
  700. ,[GCapTotV]
  701. ,[GCapUnV]
  702. ,[RetAnBrV]
  703. ,[RetAnNetV]
  704. ,[UnV]
  705. ,[ValTransV]
  706. ,[MontoNetoV]
  707. ,[PrecSucioV]
  708. ,[IngresoBruto]
  709. ,[IngresoBrutoPend]
  710. ,[ImpSumC]
  711. ,[ComSumC]
  712. ,[ImpSumV]
  713. ,[ComSumV]
  714. ,[ISR]
  715. ,[ISRPend]
  716. ,[IngresoNeto]
  717. ,[IngresoNetoPend]
  718. ,[SumImpComCompra]
  719. ,[SumImpComVenta])
  720. VALUES
  721. (@CodInv
  722. ,@OpPrefC
  723. ,@OpBolsaC
  724. ,@PrecioLimpioC
  725. ,@FOperC
  726. ,@FLiqC
  727. ,@DiasTC
  728. ,@GCapTotC
  729. ,@GCapUnC
  730. ,@RetAnBrC
  731. ,@RetAnNetC
  732. ,@UnC
  733. ,@ValTransC
  734. ,@MontoNetoC
  735. ,@PrecSucioC
  736. ,@FactDiv
  737. ,@PrecioLimpioV
  738. ,@FOperV
  739. ,@FLiqV
  740. ,@DiasTV
  741. ,@GCapTotV
  742. ,@GCapUnV
  743. ,@RetAnBrV
  744. ,@RetAnNetV
  745. ,@UnV
  746. ,@ValTransV
  747. ,@MontoNetoV
  748. ,@PrecSucioV
  749. ,@IngresoBruto
  750. ,@IngresoBrutoPend
  751. ,@ImpSumC
  752. ,@ComSumC
  753. ,@ImpSumV
  754. ,@ComSumV
  755. ,@ISR
  756. ,@ISRPend
  757. ,@IngresoNeto
  758. ,@IngresoNetoPend
  759. ,@SumImpComCompra
  760. ,@SumImpComVenta"
  761. cmd = New SqlCommand
  762. cmd.CommandText = sql
  763. cmd.Connection = cn
  764. With cmd.Parameters
  765. .Add("@CodInv", SqlDbType.Float).Value = oAccion.CodigoInversion
  766. .Add("@OpPrefC", SqlDbType.Float).Value = oAccion.AccionPreferente
  767. .Add("@OpBolsaC", SqlDbType.Float).Value = oAccion.OperacionEnBolsa
  768. .Add("@PrecioLimpioC", SqlDbType.Float).Value = oAccion.PrecioLimpioCompra
  769. .Add("@FOperC", SqlDbType.Float).Value = oAccion.FechaOperacionCompra
  770. .Add("@FLiqC", SqlDbType.Float).Value = oAccion.FechaLiquidacionCompra
  771. .Add("@DiasTC", SqlDbType.Float).Value = oAccion.DiasDeTenenciaCompra
  772. .Add("@GCapTotC", SqlDbType.Float).Value = oAccion.GananciaDeCapitalTotalCompra
  773. .Add("@GCapUnC", SqlDbType.Float).Value = oAccion.GananciaDeCapitalUnitarioCompra
  774. .Add("@RetAnBrC", SqlDbType.Float).Value = oAccion.RetornoAnualizadoBrutoCompra
  775. .Add("@RetAnNetC", SqlDbType.Float).Value = oAccion.RetornoAnualizadoNetoCompra
  776. .Add("@UnC", SqlDbType.Float).Value = oAccion.CantidadCompra
  777. .Add("@ValTransC", SqlDbType.Float).Value = oAccion.ValorTransadoCompra
  778. .Add("@MontoNetoC", SqlDbType.Float).Value = oAccion.MontoNetoCompra
  779. .Add("@PrecSucioC", SqlDbType.Float).Value = oAccion.PrecioSucioCompra
  780. .Add("@FactDiv", SqlDbType.Float).Value = oAccion.FactorDeDividendo
  781. .Add("@PrecioLimpioV", SqlDbType.Float).Value = oAccion.PrecioLimpioVenta
  782. .Add("@FOperV", SqlDbType.Float).Value = oAccion.FechaOperacionVenta
  783. .Add("@FLiqV", SqlDbType.Float).Value = oAccion.FechaLiquidacionVenta
  784. .Add("@DiasTV", SqlDbType.Float).Value = oAccion.DiasDeTenenciaVenta
  785. .Add("@GCapTotV", SqlDbType.Float).Value = oAccion.GananciaDeCapitalTotalVenta
  786. .Add("@GCapUnV", SqlDbType.Float).Value = oAccion.GananciaDeCapitalUnitarioVenta
  787. .Add("@RetAnBrV", SqlDbType.Float).Value = oAccion.RetornoAnualizadoBrutoVenta
  788. .Add("@RetAnNetV", SqlDbType.Float).Value = oAccion.RetornoAnualizadoNetoVenta
  789. .Add("@UnV", SqlDbType.Float).Value = oAccion.CantidadVenta
  790. .Add("@ValTransV", SqlDbType.Float).Value = oAccion.ValorTransadoVenta
  791. .Add("@MontoNetoV", SqlDbType.Float).Value = oAccion.MontoNetoVenta
  792. .Add("@PrecSucioV", SqlDbType.Float).Value = oAccion.PrecioSucioVenta
  793. .Add("@IngresoBruto", SqlDbType.Float).Value = oAccion.IngresoBruto
  794. .Add("@IngresoBrutoPend", SqlDbType.Float).Value = oAccion.IngresoBrutoPendiente
  795. .Add("@ImpSumC", SqlDbType.Float).Value = 0
  796. .Add("@ComSumC", SqlDbType.Float).Value = 0
  797. .Add("@ImpSumV", SqlDbType.Float).Value = 0
  798. .Add("@ComSumV", SqlDbType.Float).Value = 0
  799. .Add("@ISR", SqlDbType.Float).Value = oAccion.ISR
  800. .Add("@ISRPend", SqlDbType.Float).Value = 0
  801. .Add("@IngresoNeto", SqlDbType.Float).Value = oAccion.IngresoNeto
  802. .Add("@IngresoNetoPend", SqlDbType.Float).Value = 0
  803. .Add("@SumImpComCompra", SqlDbType.Float).Value = oAccion.SumaImpuestosYComisionesCompra
  804. .Add("@SumImpComVenta", SqlDbType.Float).Value = oAccion.SumaImpuestosYComisionesVenta
  805. End With
  806. retorno = cmd.ExecuteNonQuery
  807. Me.GuardarDividendos(oAccion.CodigoInversion, oAccion.Dividendos)
  808. Me.GuardarImpuestosYComisiones(oAccion.CodigoInversion, oAccion.ImpuestosYComisiones)
  809. cn.Close()
  810. Return retorno
  811. End Function
  812. Function Nuevo(ByVal oAccion As AccionesCE, DocId As Integer, Tipo As String) As Integer
  813. Dim objCon As New Conexion
  814. Dim retorno As Integer = -1
  815. Dim Transaccion As SqlTransaction
  816. Dim query As String
  817. Dim Tabla As String = ""
  818. Dim cn As SqlConnection = objCon.Conectar
  819. If cn.State = ConnectionState.Closed Then
  820. cn.Open()
  821. End If
  822. If Tipo = "P" Then
  823. Tabla = "PACC0"
  824. End If
  825. If Tipo = "I" Then
  826. Tabla = "IACC0"
  827. End If
  828. Dim cmd As SqlCommand = cn.CreateCommand
  829. Transaccion = cn.BeginTransaction("NuevaAccion")
  830. cmd.Connection = cn
  831. cmd.Transaction = Transaccion
  832. query = "INSERT INTO [dbo].[" & Tabla & "]
  833. ([DocId]
  834. ,[CodCasaC]
  835. ,[OpPrefC]
  836. ,[OpBolsaC]
  837. ,[PrecioLimpioC]
  838. ,[FOperC]
  839. ,[FLiqC]
  840. ,[DiasTC]
  841. ,[GCapTotC]
  842. ,[GCapUnC]
  843. ,[RetAnBrC]
  844. ,[RetAnNetC]
  845. ,[UnC]
  846. ,[ValTransC]
  847. ,[MontoNetoC]
  848. ,[PrecSucioC]
  849. ,[FactDiv]
  850. ,[PrecioLimpioV]
  851. ,[FOperV]
  852. ,[FLiqV]
  853. ,[DiasTV]
  854. ,[GCapTotV]
  855. ,[GCapUnV]
  856. ,[RetAnBrV]
  857. ,[RetAnNetV]
  858. ,[UnV]
  859. ,[ValTransV]
  860. ,[MontoNetoV]
  861. ,[PrecSucioV]
  862. ,[CodCasaV])
  863. VALUES
  864. (@DocId
  865. ,@CodCasaC
  866. ,@OpPrefC
  867. ,@OpBolsaC
  868. ,@PrecioLimpioC
  869. ,@FOperC
  870. ,@FLiqC
  871. ,@DiasTC
  872. ,@GCapTotC
  873. ,@GCapUnC
  874. ,@RetAnBrC
  875. ,@RetAnNetC
  876. ,@UnC
  877. ,@ValTransC
  878. ,@MontoNetoC
  879. ,@PrecSucioC
  880. ,@FactDiv
  881. ,@PrecioLimpioV
  882. ,@FOperV
  883. ,@FLiqV
  884. ,@DiasTV
  885. ,@GCapTotV
  886. ,@GCapUnV
  887. ,@RetAnBrV
  888. ,@RetAnNetV
  889. ,@UnV
  890. ,@ValTransV
  891. ,@MontoNetoV
  892. ,@PrecSucioV
  893. ,@CodCasaV
  894. )"
  895. cmd.CommandText = query
  896. With cmd.Parameters
  897. .Add("@DocId", SqlDbType.Int).Value = DocId
  898. .Add("@CodCasaC", SqlDbType.VarChar).Value = oAccion.CodigoCasaCompra
  899. .Add("@OpPrefC", SqlDbType.VarChar).Value = oAccion.AccionPreferente
  900. .Add("@OpBolsaC", SqlDbType.VarChar).Value = oAccion.OperacionEnBolsa
  901. .Add("@PrecioLimpioC", SqlDbType.Decimal).Value = oAccion.PrecioLimpioCompra
  902. .Add("@FOperC", SqlDbType.DateTime).Value = oAccion.FechaOperacionCompra
  903. .Add("@FLiqC", SqlDbType.DateTime).Value = oAccion.FechaVencimientoCompra
  904. .Add("@DiasTC", SqlDbType.Int).Value = oAccion.DiasDeTenenciaCompra
  905. .Add("@GCapTotC", SqlDbType.Decimal).Value = oAccion.GananciaDeCapitalTotalCompra
  906. .Add("@GCapUnC", SqlDbType.Decimal).Value = oAccion.GananciaDeCapitalUnitarioCompra
  907. .Add("@RetAnBrC", SqlDbType.Decimal).Value = oAccion.RetornoAnualizadoBrutoCompra
  908. .Add("@RetAnNetC", SqlDbType.Decimal).Value = oAccion.RetornoAnualizadoNetoCompra
  909. .Add("@UnC", SqlDbType.Int).Value = oAccion.CantidadCompra
  910. .Add("@ValTransC", SqlDbType.Decimal).Value = oAccion.ValorTransadoCompra
  911. .Add("@MontoNetoC", SqlDbType.Decimal).Value = oAccion.MontoNetoCompra
  912. .Add("@PrecSucioC", SqlDbType.Decimal).Value = oAccion.PrecioSucioCompra
  913. .Add("@FactDiv", SqlDbType.Decimal).Value = oAccion.FactorDeDividendo
  914. .Add("@PrecioLimpioV", SqlDbType.Decimal).Value = oAccion.PrecioLimpioVenta
  915. .Add("@FOperV", SqlDbType.DateTime).Value = oAccion.FechaOperacionVenta
  916. .Add("@FLiqV", SqlDbType.DateTime).Value = oAccion.FechaVencimientoVenta
  917. .Add("@DiasTV", SqlDbType.Int).Value = oAccion.DiasDeTenenciaVenta
  918. .Add("@GCapTotV", SqlDbType.Decimal).Value = oAccion.GananciaDeCapitalTotalVenta
  919. .Add("@GCapUnV", SqlDbType.Decimal).Value = oAccion.GananciaDeCapitalUnitarioVenta
  920. .Add("@RetAnBrV", SqlDbType.Decimal).Value = oAccion.RetornoAnualizadoBrutoVenta
  921. .Add("@RetAnNetV", SqlDbType.Decimal).Value = oAccion.RetornoAnualizadoNetoVenta
  922. .Add("@UnV", SqlDbType.Int).Value = oAccion.CantidadVenta
  923. .Add("@ValTransV", SqlDbType.Decimal).Value = oAccion.ValorTransadoVenta
  924. .Add("@MontoNetoV", SqlDbType.Decimal).Value = oAccion.MontoNetoVenta
  925. .Add("@PrecSucioV", SqlDbType.Decimal).Value = oAccion.PrecioSucioVenta
  926. .Add("@CodCasaV", SqlDbType.VarChar).Value = oAccion.CodigoCasaVenta
  927. End With
  928. Try
  929. cmd.ExecuteNonQuery()
  930. Transaccion.Commit()
  931. retorno = 0
  932. Catch ex As Exception
  933. MsgBox("Error al Guardar Accion : " & ex.GetType.ToString)
  934. MsgBox("Mensaje: " & ex.Message)
  935. retorno = 1
  936. Try
  937. Transaccion.Rollback()
  938. retorno = 2
  939. Catch ex2 As Exception
  940. MsgBox("Error en Rollback: " & ex2.GetType.ToString)
  941. MsgBox("Mensaje Rollbak: " & ex2.Message)
  942. retorno = 3
  943. End Try
  944. End Try
  945. cmd.Dispose()
  946. cn.Dispose()
  947. Return retorno
  948. End Function
  949. Public Function CargarRegistro(ByVal vCodigoInversion As String) As AccionesCE
  950. Dim objCon As New Conexion
  951. Dim oAcciones As New AccionesCE
  952. Dim dtDividendos As New DataTable
  953. Dim dtImpuestosYComisiones As New DataTable
  954. Dim drd As SqlDataReader
  955. Dim cmd As SqlCommand
  956. Dim da As SqlDataAdapter
  957. Dim sql As String
  958. Dim cn As SqlConnection = objCon.Conectar
  959. If cn.State = ConnectionState.Closed Then
  960. cn.Open()
  961. End If
  962. sql = "SELECT * FROM [dbo].[ACC0] T0 WHERE T0.CodInv=@CodInv"
  963. cmd = New SqlCommand
  964. cmd.CommandText = sql
  965. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = vCodigoInversion
  966. cmd.Connection = cn
  967. drd = cmd.ExecuteReader
  968. If drd.HasRows Then
  969. 'SE ENCONTRO EL REGISTRO
  970. 'oAcciones = New AccionesCE
  971. If drd.Read Then
  972. oAcciones.CodigoInversion = vCodigoInversion
  973. 'COMPRA
  974. oAcciones.AccionPreferente = drd.Item("OpPrefC").ToString
  975. oAcciones.OperacionEnBolsa = drd.Item("OpBolsaC").ToString
  976. If String.IsNullOrEmpty(drd.Item("PrecioLimpioC").ToString) Then
  977. oAcciones.PrecioLimpioCompra = 0
  978. Else
  979. oAcciones.PrecioLimpioCompra = drd.Item("PrecioLimpioC").ToString
  980. End If
  981. If String.IsNullOrEmpty(drd.Item("UnC").ToString) Then
  982. oAcciones.CantidadCompra = 0
  983. Else
  984. oAcciones.CantidadCompra = drd.Item("UnC").ToString
  985. End If
  986. If String.IsNullOrEmpty(drd.Item("FOperC").ToString) Then
  987. oAcciones.FechaOperacionCompra = Date.Now.Date
  988. Else
  989. oAcciones.FechaOperacionCompra = drd.Item("FOperC").ToString
  990. End If
  991. If String.IsNullOrEmpty(drd.Item("FVenC").ToString) Then
  992. oAcciones.FechaVencimientoCompra = Date.Now.Date
  993. Else
  994. oAcciones.FechaVencimientoCompra = drd.Item("FVenC").ToString
  995. End If
  996. If String.IsNullOrEmpty(drd.Item("RetAnBrC").ToString) Then
  997. oAcciones.RetornoBruto = 0
  998. Else
  999. oAcciones.RetornoBruto = drd.Item("RetAnBrC").ToString
  1000. End If
  1001. If drd.Item("IOF").ToString Then
  1002. oAcciones.IOF = True
  1003. Else
  1004. oAcciones.IOF = False
  1005. End If
  1006. If drd.Item("Renta").ToString Then
  1007. oAcciones.Renta = True
  1008. Else
  1009. oAcciones.Renta = False
  1010. End If
  1011. If IsNumeric(drd.Item("GCapTotC")) Then
  1012. oAcciones.GananciaDeCapitalTotalCompra = drd.Item("GCapTotC")
  1013. Else
  1014. oAcciones.GananciaDeCapitalTotalCompra = 0
  1015. End If
  1016. If IsNumeric(drd.Item("GCapUnC")) Then
  1017. oAcciones.GananciaDeCapitalUnitarioCompra = drd.Item("GCapUnC")
  1018. Else
  1019. oAcciones.GananciaDeCapitalUnitarioCompra = 0
  1020. End If
  1021. If IsNumeric(drd.Item("RetAnBrC")) Then
  1022. oAcciones.RetornoAnualizadoBrutoCompra = drd.Item("RetAnBrC")
  1023. Else
  1024. oAcciones.RetornoAnualizadoBrutoCompra = 0
  1025. End If
  1026. If IsNumeric(drd.Item("RetAnNetC")) Then
  1027. oAcciones.RetornoAnualizadoNetoCompra = drd.Item("RetAnNetC")
  1028. Else
  1029. oAcciones.RetornoAnualizadoNetoCompra = 0
  1030. End If
  1031. If IsNumeric(drd.Item("FactDiv")) Then
  1032. oAcciones.FactorDeDividendo = drd.Item("FactDiv")
  1033. Else
  1034. oAcciones.FactorDeDividendo = 0
  1035. End If
  1036. If IsNumeric(drd.Item("GCapTotV")) Then
  1037. oAcciones.GananciaDeCapitalTotalVentasus = drd.Item("GCapTotV")
  1038. Else
  1039. oAcciones.GananciaDeCapitalTotalVentasus = 0
  1040. End If
  1041. If IsNumeric(drd.Item("GCapUnV")) Then
  1042. oAcciones.GananciaDeCapitalUnitarioVenta = drd.Item("GCapUnV")
  1043. Else
  1044. oAcciones.GananciaDeCapitalUnitarioVenta = 0
  1045. End If
  1046. If IsNumeric(drd.Item("RetAnBrV")) Then
  1047. oAcciones.RetornoAnualizadoBrutoVentasus = drd.Item("RetAnBrV")
  1048. Else
  1049. oAcciones.RetornoAnualizadoBrutoVentasus = 0
  1050. End If
  1051. If IsNumeric(drd.Item("RetAnNetV")) Then
  1052. oAcciones.RetornoAnualizadoNetoVenta = drd.Item("RetAnNetV")
  1053. Else
  1054. oAcciones.RetornoAnualizadoNetoVenta = 0
  1055. End If
  1056. 'VENTA
  1057. If String.IsNullOrEmpty(drd.Item("PrecioLimpioV").ToString) Then
  1058. oAcciones.PrecioLimpioVenta = 0
  1059. Else
  1060. oAcciones.PrecioLimpioVenta = drd.Item("PrecioLimpioV").ToString
  1061. End If
  1062. If String.IsNullOrEmpty(drd.Item("PrecSucioC").ToString) Then
  1063. oAcciones.PrecioSucioCompra = 0
  1064. Else
  1065. oAcciones.PrecioSucioCompra = drd.Item("PrecSucioC").ToString
  1066. End If
  1067. If String.IsNullOrEmpty(drd.Item("PrecSucioV").ToString) Then
  1068. oAcciones.PrecioSucioVentasus = 0
  1069. Else
  1070. oAcciones.PrecioSucioVentasus = drd.Item("PrecSucioV").ToString
  1071. End If
  1072. If String.IsNullOrEmpty(drd.Item("FOperV").ToString) Then
  1073. oAcciones.FechaOperacionVenta = Date.Now.Date
  1074. Else
  1075. oAcciones.FechaOperacionVenta = drd.Item("FOperV").ToString
  1076. End If
  1077. If String.IsNullOrEmpty(drd.Item("FVenV").ToString) Then
  1078. oAcciones.FechaVencimientoVenta = Date.Now.Date
  1079. Else
  1080. oAcciones.FechaVencimientoVenta = drd.Item("FVenV").ToString
  1081. End If
  1082. If String.IsNullOrEmpty(drd.Item("UnV").ToString) Then
  1083. oAcciones.CantidadVenta = 0
  1084. Else
  1085. oAcciones.CantidadVenta = drd.Item("UnV").ToString
  1086. End If
  1087. End If
  1088. If String.IsNullOrEmpty(drd.Item("Tipo").ToString) Then
  1089. oAcciones.Tipo = 0
  1090. Else
  1091. oAcciones.Tipo = drd.Item("Tipo").ToString
  1092. End If
  1093. If String.IsNullOrEmpty(drd.Item("DiasTC").ToString) Then
  1094. oAcciones.DiasDeTenenciaCompra = 0
  1095. Else
  1096. oAcciones.DiasDeTenenciaCompra = drd.Item("DiasTC").ToString
  1097. End If
  1098. If String.IsNullOrEmpty(drd.Item("DiasTV").ToString) Then
  1099. oAcciones.DiasDeTenenciaVenta = 0
  1100. Else
  1101. oAcciones.DiasDeTenenciaVenta = drd.Item("DiasTV").ToString
  1102. End If
  1103. If String.IsNullOrEmpty(drd.Item("ValTransC")) Then
  1104. oAcciones.ValorTransadoCompra = 0
  1105. Else
  1106. oAcciones.ValorTransadoCompra = drd.Item("ValTransC")
  1107. End If
  1108. If String.IsNullOrEmpty(drd.Item("ValTransV")) Then
  1109. oAcciones.ValorTransadoVenta = 0
  1110. Else
  1111. oAcciones.ValorTransadoVenta = drd.Item("ValTransV")
  1112. End If
  1113. If String.IsNullOrEmpty(drd.Item("MontoNetoC").ToString) Then
  1114. oAcciones.MontoNetoComprasus = 0
  1115. Else
  1116. oAcciones.MontoNetoComprasus = drd.Item("MontoNetoC")
  1117. End If
  1118. If String.IsNullOrEmpty(drd.Item("MontoNetoV").ToString) Then
  1119. oAcciones.MontoNetoVentasus = 0
  1120. Else
  1121. oAcciones.MontoNetoVentasus = drd.Item("MontoNetoV")
  1122. End If
  1123. If (String.IsNullOrEmpty(drd.Item("ComisionCompraCasaValor").ToString)) Then
  1124. oAcciones.ComisionCompraCasa = 0
  1125. Else
  1126. oAcciones.ComisionCompraCasa = drd.Item("ComisionCompraCasaValor").ToString
  1127. End If
  1128. If (String.IsNullOrEmpty(drd.Item("ComisionCompraBolsaValor").ToString)) Then
  1129. oAcciones.ComisionCompraBolsa = 0
  1130. Else
  1131. oAcciones.ComisionCompraBolsa = drd.Item("ComisionCompraBolsaValor").ToString
  1132. End If
  1133. If (String.IsNullOrEmpty(drd.Item("ComisionVentaCasaValor").ToString)) Then
  1134. oAcciones.ComisionVentaCasa = 0
  1135. Else
  1136. oAcciones.ComisionVentaCasa = drd.Item("ComisionVentaCasaValor").ToString
  1137. End If
  1138. If (String.IsNullOrEmpty(drd.Item("ComisionVentaBolsaValor").ToString)) Then
  1139. oAcciones.ComisionVentaBolsa = 0
  1140. Else
  1141. oAcciones.ComisionVentaBolsa = drd.Item("ComisionVentaBolsaValor").ToString
  1142. End If
  1143. If (String.IsNullOrEmpty(drd.Item("ComisionCompraCasa").ToString)) Then
  1144. oAcciones.ComisionPorcentajeCompraCasa = 0
  1145. Else
  1146. oAcciones.ComisionPorcentajeCompraCasa = drd.Item("ComisionCompraCasa").ToString
  1147. End If
  1148. If (String.IsNullOrEmpty(drd.Item("ComisionCompraBolsa").ToString)) Then
  1149. oAcciones.ComisionPorcentajeCompraBolsa = 0
  1150. Else
  1151. oAcciones.ComisionPorcentajeCompraBolsa = drd.Item("ComisionCompraBolsa").ToString
  1152. End If
  1153. If (String.IsNullOrEmpty(drd.Item("ComisionVentaCasa").ToString)) Then
  1154. oAcciones.ComisionPorcentajeVentaCasa = 0
  1155. Else
  1156. oAcciones.ComisionPorcentajeVentaCasa = drd.Item("ComisionVentaCasa").ToString
  1157. End If
  1158. If (String.IsNullOrEmpty(drd.Item("ComisionVentaBolsa").ToString)) Then
  1159. oAcciones.ComisionPorcentajeVentaBolsa = 0
  1160. Else
  1161. oAcciones.ComisionPorcentajeVentaBolsa = drd.Item("ComisionVentaBolsa").ToString
  1162. End If
  1163. drd.Close()
  1164. Else
  1165. oAcciones.CantidadCompra = 0
  1166. 'NO SE ENCONTRO EL REGISTRO
  1167. End If
  1168. cmd.Dispose()
  1169. cn.Dispose()
  1170. Return oAcciones
  1171. End Function
  1172. Public Function CargarRegistroActualizar() As DataTable
  1173. Dim objCon As New Conexion
  1174. Dim ds As New DataSet
  1175. Dim dt As DataTable
  1176. Dim da As SqlDataAdapter
  1177. Dim sql As String = String.Empty
  1178. Dim cn As SqlConnection = objCon.Conectar
  1179. If cn.State = ConnectionState.Closed Then
  1180. cn.Open()
  1181. End If
  1182. sql = "SELECT * FROM [dbo].[ACC0] "
  1183. da = New SqlDataAdapter(sql, cn)
  1184. da.Fill(ds)
  1185. dt = ds.Tables(0)
  1186. da.Dispose()
  1187. cn.Dispose()
  1188. Return dt
  1189. End Function
  1190. Public Function Actualizar(ByVal oAccionesCE As AccionesCE) As Integer
  1191. Dim objCon As New Conexion
  1192. Dim sql As String
  1193. Dim cmd As SqlCommand
  1194. Dim retorno As Integer
  1195. Dim cn As SqlConnection = objCon.Conectar
  1196. If cn.State = ConnectionState.Closed Then
  1197. cn.Open()
  1198. End If
  1199. sql = "
  1200. "
  1201. cmd = New SqlCommand
  1202. cmd.CommandText = sql
  1203. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Variables.Codigo
  1204. cmd.CommandType = CommandType.Text
  1205. cmd.Connection = cn
  1206. retorno = cmd.ExecuteNonQuery()
  1207. cmd.Dispose()
  1208. cn.Dispose()
  1209. Return retorno
  1210. End Function
  1211. Private Sub GuardarDividendos(ByVal CodInversion As String, ByVal dt As DataTable)
  1212. Dim objCon As New Conexion
  1213. Dim sql As String
  1214. Dim cmd As SqlCommand
  1215. Dim res As Integer
  1216. Dim cn As SqlConnection = objCon.Conectar
  1217. If cn.State = ConnectionState.Closed Then
  1218. cn.Open()
  1219. End If
  1220. sql = "DELETE FROM [dbo].[ACC1]
  1221. WHERE [CodInv]=@CodInv"
  1222. cmd = New SqlCommand
  1223. cmd.CommandText = sql
  1224. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = CodInversion
  1225. cmd.Connection = cn
  1226. res = cmd.ExecuteNonQuery
  1227. sql = String.Empty
  1228. If dt.Rows.Count > 0 Then
  1229. For Each dr In dt.Rows
  1230. cmd = New SqlCommand
  1231. sql = "INSERT INTO [dbo].[ACC1]
  1232. ([CodInv]
  1233. ,[Fecha]
  1234. ,[Dividendo]
  1235. ,[CantidadBase]
  1236. ,[IngresoBruto]
  1237. ,[PorcISR]
  1238. ,[ISR]
  1239. ,[IngresoNeto])
  1240. VALUES
  1241. (@CodInv
  1242. ,@Fecha
  1243. ,@Dividendo
  1244. ,@CantidadBase
  1245. ,@IngresoBruto
  1246. ,@PorcISR
  1247. ,@ISR
  1248. ,@IngresoNeto)"
  1249. cmd.CommandText = sql
  1250. cmd.Parameters.AddWithValue("@CodInv", CodInversion)
  1251. cmd.Parameters.AddWithValue("@Fecha", dr("Fecha"))
  1252. cmd.Parameters.AddWithValue("@Dividendo", dr("Dividendo"))
  1253. cmd.Parameters.AddWithValue("@CantidadBase", dr("CantidadBase"))
  1254. cmd.Parameters.AddWithValue("@IngresoBruto", dr("IngresoBruto"))
  1255. cmd.Parameters.AddWithValue("@PorcISR", dr("PorcISR"))
  1256. cmd.Parameters.AddWithValue("@ISR", dr("ISR"))
  1257. cmd.Parameters.AddWithValue("@IngresoNeto", dr("IngresoNeto"))
  1258. cmd.Connection = cn
  1259. res = cmd.ExecuteNonQuery
  1260. Next
  1261. End If
  1262. cn.Close()
  1263. End Sub
  1264. Private Sub GuardarImpuestosYComisiones(ByVal CodInversion As String, ByVal dt As DataTable)
  1265. Dim objCon As New Conexion
  1266. Dim sql As String
  1267. Dim cmd As SqlCommand
  1268. Dim res As Integer
  1269. Dim cn As SqlConnection = objCon.Conectar
  1270. If cn.State = ConnectionState.Closed Then
  1271. cn.Open()
  1272. End If
  1273. sql = "DELETE FROM [dbo].[ACC2]
  1274. WHERE [CodInv]=@CodInv"
  1275. cmd = New SqlCommand
  1276. cmd.CommandText = sql
  1277. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = CodInversion
  1278. cmd.Connection = cn
  1279. res = cmd.ExecuteNonQuery
  1280. sql = String.Empty
  1281. If dt.Rows.Count > 0 Then
  1282. For Each dr In dt.Rows
  1283. cmd = New SqlCommand
  1284. sql = "INSERT INTO [dbo].[ACC2]
  1285. ([CodInv]
  1286. ,[TipoOper]
  1287. ,[CodImp]
  1288. ,[PorcImp]
  1289. ,[MontoImp]
  1290. ,[MontoSujeto])
  1291. VALUES
  1292. (@CodInv
  1293. ,@TipoOper
  1294. ,@CodImp
  1295. ,@PorcImp
  1296. ,@MontoImp
  1297. ,@MontoSujeto)"
  1298. cmd.CommandText = sql
  1299. cmd.Parameters.AddWithValue("@CodInv", CodInversion)
  1300. cmd.Parameters.AddWithValue("@TipoOper", dr("TipoOper"))
  1301. cmd.Parameters.AddWithValue("@CodImp", dr("CodImp"))
  1302. cmd.Parameters.AddWithValue("@PorcImp", dr("PorcImp"))
  1303. cmd.Parameters.AddWithValue("@MontoImp", dr("MontoImp"))
  1304. cmd.Parameters.AddWithValue("@MontoSujeto", dr("MontoSujeto"))
  1305. cmd.Connection = cn
  1306. res = cmd.ExecuteNonQuery
  1307. Next
  1308. End If
  1309. cn.Close()
  1310. End Sub
  1311. Public Function CargarDividendo(ByVal codigo As String)
  1312. Dim objCon As New Conexion
  1313. Dim cn As SqlConnection = objCon.Conectar
  1314. If cn.State = ConnectionState.Closed Then
  1315. cn.Open()
  1316. End If
  1317. Dim sql = "select * from ACC1 where CodInv='" + codigo + "' order by NumDiv"
  1318. Dim cmd As New SqlCommand(sql, cn)
  1319. Dim dr As SqlDataReader
  1320. dr = cmd.ExecuteReader
  1321. Return dr
  1322. End Function
  1323. End Class