InversionDAO.vb 67 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592159315941595159615971598159916001601160216031604160516061607160816091610161116121613161416151616161716181619162016211622162316241625162616271628162916301631163216331634163516361637163816391640164116421643164416451646164716481649165016511652165316541655165616571658165916601661166216631664166516661667166816691670167116721673167416751676167716781679168016811682168316841685168616871688168916901691169216931694169516961697169816991700170117021703170417051706170717081709171017111712171317141715171617171718171917201721172217231724172517261727172817291730173117321733173417351736173717381739174017411742174317441745174617471748174917501751175217531754175517561757175817591760176117621763176417651766176717681769177017711772177317741775177617771778177917801781178217831784178517861787178817891790179117921793179417951796179717981799180018011802180318041805180618071808180918101811181218131814181518161817181818191820182118221823182418251826182718281829183018311832183318341835183618371838183918401841184218431844184518461847184818491850185118521853185418551856185718581859186018611862186318641865186618671868186918701871187218731874187518761877187818791880188118821883188418851886188718881889189018911892189318941895189618971898189919001901190219031904190519061907190819091910191119121913191419151916191719181919192019211922192319241925192619271928192919301931193219331934193519361937193819391940194119421943194419451946194719481949195019511952195319541955195619571958195919601961196219631964196519661967196819691970197119721973197419751976197719781979198019811982198319841985198619871988198919901991199219931994199519961997199819992000200120022003200420052006200720082009201020112012201320142015201620172018201920202021202220232024202520262027202820292030203120322033203420352036203720382039204020412042204320442045204620472048204920502051205220532054205520562057205820592060206120622063206420652066206720682069207020712072207320742075207620772078207920802081208220832084208520862087208820892090209120922093209420952096
  1. Imports System.Data.SqlClient
  2. Public Class InversionDAO
  3. Private Operaciones As New Operaciones
  4. Dim CambiarEstArbCE As New CambiarEstArbCE
  5. Public Function ObtenerTipoInstrumentoFinanciero(ByVal vCodigoIF As String) As String
  6. Dim objCon As New Conexion
  7. Dim cn As SqlConnection = objCon.Conectar
  8. Dim valor As String = String.Empty
  9. Dim sql As String
  10. Dim cmd As SqlCommand
  11. sql = "SELECT T0.Tipo FROM [dbo].[INFI] T0 where T0.CodIF=@CodIF"
  12. cmd = New SqlCommand
  13. cmd.CommandText = sql
  14. cmd.Parameters.Add("@CodIF", SqlDbType.VarChar).Value = vCodigoIF
  15. If cn Is Nothing Then
  16. cn = objCon.Conectar
  17. End If
  18. If cn.State = ConnectionState.Open Then
  19. cn.Close()
  20. cn.Dispose()
  21. cn = objCon.Conectar
  22. cn.Open()
  23. Else
  24. cn = objCon.Conectar
  25. cn.Open()
  26. End If
  27. cmd.Connection = cn
  28. valor = cmd.ExecuteScalar
  29. cmd.Dispose()
  30. cn.Close()
  31. Return valor
  32. End Function
  33. Public Function VistaInversiones_ValorNominal() As DataTable
  34. Dim oVistaInversiones As DataTable = Me.VistaInversiones
  35. Dim vCodigoInstrumento As String
  36. Dim vCodigoInversion As String
  37. Dim oInstrumentoDAO As Object
  38. Dim oInstrumentoCE As Object
  39. Dim vValorNominal As Double
  40. Dim vDataColumn As DataColumn
  41. vDataColumn = New DataColumn
  42. vDataColumn.ColumnName = "ValorNominal"
  43. vDataColumn.DataType = GetType(Double)
  44. oVistaInversiones.Columns.Add(vDataColumn)
  45. For Each r As DataRow In oVistaInversiones.Rows
  46. vCodigoInstrumento = r.Item("CodIF")
  47. vCodigoInversion = r.Item("CodInv")
  48. If vCodigoInstrumento = "ACC" Then
  49. oInstrumentoDAO = New AccionesDAO
  50. oInstrumentoCE = oInstrumentoDAO.CargarRegistro(vCodigoInversion)
  51. vValorNominal = oInstrumentoCE.ValorTransadoCompra
  52. End If
  53. r.Item("ValorNominal") = vValorNominal
  54. oInstrumentoDAO = Nothing
  55. Next
  56. Return oVistaInversiones
  57. End Function
  58. Private Function VistaInversiones() As DataTable
  59. Dim objCon As New Conexion
  60. Dim cn As SqlConnection = objCon.Conectar
  61. Dim sql As String
  62. Dim cmd As SqlCommand
  63. Dim da As SqlDataAdapter
  64. Dim dt As New DataTable
  65. If cn Is Nothing Then
  66. cn = objCon.Conectar
  67. End If
  68. If cn.State = ConnectionState.Open Then
  69. cn.Close()
  70. cn.Dispose()
  71. cn = objCon.Conectar
  72. cn.Open()
  73. Else
  74. cn = objCon.Conectar
  75. cn.Open()
  76. End If
  77. cmd = New SqlCommand
  78. sql = "SELECT [CodInv]
  79. ,[CodIF]
  80. ,[Descrip]
  81. ,[CodEmpr]
  82. ,[Empresa]
  83. ,[CodEmis]
  84. ,[Emisor]
  85. ,[CodCalRi]
  86. ,[Calificacion]
  87. ,[CodECalRi]
  88. ,[Calificadora]
  89. ,[CodPais]
  90. ,[Pais]
  91. FROM [dbo].[vInversiones]
  92. "
  93. cmd.CommandText = sql
  94. cmd.Connection = cn
  95. da = New SqlDataAdapter(cmd.CommandText, cmd.Connection)
  96. da.Fill(dt)
  97. cn.Close()
  98. Return dt
  99. End Function
  100. Public Function ListaCodigosInversion() As DataTable
  101. Dim objCon As New Conexion
  102. Dim cn As SqlConnection = objCon.Conectar
  103. Dim sql As String
  104. Dim da As SqlDataAdapter
  105. Dim dt As New DataTable
  106. sql = "SELECT ROW_NUMBER() OVER(ORDER BY [CodInv] ),[DocId] FROM [dbo].[INV0] ORDER BY [CodInv]"
  107. If cn Is Nothing Then
  108. cn = objCon.Conectar
  109. End If
  110. If cn.State = ConnectionState.Open Then
  111. cn.Close()
  112. cn.Dispose()
  113. cn = objCon.Conectar
  114. cn.Open()
  115. Else
  116. cn = objCon.Conectar
  117. cn.Open()
  118. End If
  119. da = New SqlDataAdapter(sql, cn)
  120. da.Fill(dt)
  121. Return dt
  122. End Function
  123. Public Function Eliminar(ByVal Codigo As String, ByVal Tabla As String, ByVal Validar As Boolean) As Integer
  124. Dim objCon As New Conexion
  125. Dim cn As SqlConnection = objCon.Conectar
  126. Dim oCon As New Conexion
  127. Dim retorno As Integer
  128. Dim sql As String
  129. Dim cmd As SqlCommand
  130. Dim myTrans As SqlTransaction
  131. If cn Is Nothing Then
  132. cn = objCon.Conectar
  133. End If
  134. If cn.State = ConnectionState.Open Then
  135. cn.Close()
  136. cn.Dispose()
  137. cn = objCon.Conectar
  138. cn.Open()
  139. Else
  140. cn = objCon.Conectar
  141. cn.Open()
  142. End If
  143. myTrans = cn.BeginTransaction()
  144. Try
  145. sql = "DELETE FROM " + Tabla + "
  146. WHERE [CodInv]=@CodInv"
  147. cmd = New SqlCommand
  148. cmd.CommandText = sql
  149. cmd.Connection = cn
  150. cmd.Transaction = myTrans
  151. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  152. retorno = cmd.ExecuteNonQuery
  153. If Not Validar Then
  154. If Codigo.IndexOf("LETE") > -1 Then
  155. sql = "DELETE FROM [dbo].[LET0]
  156. WHERE [CodInv]=@CodInv"
  157. cmd = New SqlCommand
  158. cmd.CommandText = sql
  159. cmd.Connection = cn
  160. cmd.Transaction = myTrans
  161. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  162. retorno = cmd.ExecuteNonQuery
  163. End If
  164. If Codigo.IndexOf("PBUR") > -1 Then
  165. sql = "DELETE FROM [dbo].[PBUR]
  166. WHERE [CodInv]=@CodInv"
  167. cmd = New SqlCommand
  168. cmd.CommandText = sql
  169. cmd.Connection = cn
  170. cmd.Transaction = myTrans
  171. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  172. retorno = cmd.ExecuteNonQuery
  173. End If
  174. If Codigo.IndexOf("VCN") > -1 Then
  175. sql = "DELETE FROM [dbo].[VCN]
  176. WHERE [CodInv]=@CodInv"
  177. cmd = New SqlCommand
  178. cmd.CommandText = sql
  179. cmd.Connection = cn
  180. cmd.Transaction = myTrans
  181. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  182. retorno = cmd.ExecuteNonQuery
  183. End If
  184. If Codigo.IndexOf("CETE") > -1 Then
  185. sql = "DELETE FROM [dbo].[CET0]
  186. WHERE [CodInv]=@CodInv"
  187. cmd = New SqlCommand
  188. cmd.CommandText = sql
  189. cmd.Connection = cn
  190. cmd.Transaction = myTrans
  191. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  192. retorno = cmd.ExecuteNonQuery
  193. End If
  194. If Codigo.IndexOf("ACC") > -1 Then
  195. sql = "DELETE FROM [dbo].[ACC1]
  196. WHERE [CodInv]=@CodInv"
  197. cmd = New SqlCommand
  198. cmd.CommandText = sql
  199. cmd.Connection = cn
  200. cmd.Transaction = myTrans
  201. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  202. retorno = cmd.ExecuteNonQuery
  203. sql = "DELETE FROM [dbo].[ACC0]
  204. WHERE [CodInv]=@CodInv"
  205. cmd = New SqlCommand
  206. cmd.CommandText = sql
  207. cmd.Connection = cn
  208. cmd.Transaction = myTrans
  209. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  210. retorno = cmd.ExecuteNonQuery
  211. End If
  212. If Codigo.IndexOf("CINV") > -1 Then
  213. sql = "DELETE FROM [dbo].[CIN0]
  214. WHERE [CodInv]=@CodInv"
  215. cmd = New SqlCommand
  216. cmd.CommandText = sql
  217. cmd.Connection = cn
  218. cmd.Transaction = myTrans
  219. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  220. retorno = cmd.ExecuteNonQuery
  221. sql = "DELETE FROM [dbo].[CIN1]
  222. WHERE [CodInv]=@CodInv"
  223. cmd = New SqlCommand
  224. cmd.CommandText = sql
  225. cmd.Connection = cn
  226. cmd.Transaction = myTrans
  227. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  228. retorno = cmd.ExecuteNonQuery
  229. End If
  230. If Codigo.IndexOf("BONO") > -1 Then
  231. sql = "DELETE FROM [dbo].[BON0]
  232. WHERE [CodInv]=@CodInv"
  233. cmd = New SqlCommand
  234. cmd.CommandText = sql
  235. cmd.Connection = cn
  236. cmd.Transaction = myTrans
  237. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  238. retorno = cmd.ExecuteNonQuery
  239. sql = "DELETE FROM [dbo].[BON1]
  240. WHERE [CodInv]=@CodInv"
  241. cmd = New SqlCommand
  242. cmd.CommandText = sql
  243. cmd.Connection = cn
  244. cmd.Transaction = myTrans
  245. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  246. retorno = cmd.ExecuteNonQuery
  247. End If
  248. If Codigo.IndexOf("EURB") > -1 Then
  249. sql = "DELETE FROM [dbo].[EURB0]
  250. WHERE [CodInv]=@CodInv"
  251. cmd = New SqlCommand
  252. cmd.CommandText = sql
  253. cmd.Connection = cn
  254. cmd.Transaction = myTrans
  255. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  256. retorno = cmd.ExecuteNonQuery
  257. sql = "DELETE FROM [dbo].[EURB1]
  258. WHERE [CodInv]=@CodInv"
  259. cmd = New SqlCommand
  260. cmd.CommandText = sql
  261. cmd.Connection = cn
  262. cmd.Transaction = myTrans
  263. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  264. retorno = cmd.ExecuteNonQuery
  265. End If
  266. If Codigo.IndexOf("TIT") > -1 Then
  267. sql = "DELETE FROM [dbo].[TIT]
  268. WHERE [CodInv]=@CodInv"
  269. cmd = New SqlCommand
  270. cmd.CommandText = sql
  271. cmd.Connection = cn
  272. cmd.Transaction = myTrans
  273. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  274. retorno = cmd.ExecuteNonQuery
  275. sql = "DELETE FROM [dbo].[TIT0_0]
  276. WHERE [CodInv]=@CodInv"
  277. cmd = New SqlCommand
  278. cmd.CommandText = sql
  279. cmd.Connection = cn
  280. cmd.Transaction = myTrans
  281. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  282. retorno = cmd.ExecuteNonQuery
  283. sql = "DELETE FROM [dbo].[TIT0]
  284. WHERE [CodInv]=@CodInv"
  285. cmd = New SqlCommand
  286. cmd.CommandText = sql
  287. cmd.Connection = cn
  288. cmd.Transaction = myTrans
  289. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  290. retorno = cmd.ExecuteNonQuery
  291. sql = "DELETE FROM [dbo].[TIT2]
  292. WHERE [CodInv]=@CodInv"
  293. cmd = New SqlCommand
  294. cmd.CommandText = sql
  295. cmd.Connection = cn
  296. cmd.Transaction = myTrans
  297. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  298. retorno = cmd.ExecuteNonQuery
  299. End If
  300. If Codigo.IndexOf("DAP") > -1 Then
  301. sql = "DELETE FROM [dbo].[DAP0]
  302. WHERE [CodInv]=@CodInv"
  303. cmd = New SqlCommand
  304. cmd.CommandText = sql
  305. cmd.Connection = cn
  306. cmd.Transaction = myTrans
  307. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  308. retorno = cmd.ExecuteNonQuery
  309. sql = "DELETE FROM [dbo].[DAP1]
  310. WHERE [CodInv]=@CodInv"
  311. cmd = New SqlCommand
  312. cmd.CommandText = sql
  313. cmd.Connection = cn
  314. cmd.Transaction = myTrans
  315. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  316. retorno = cmd.ExecuteNonQuery
  317. End If
  318. If Codigo.IndexOf("FUTU") > -1 Then
  319. sql = "DELETE FROM [dbo].[FUT0]
  320. WHERE [CodInv]=@CodInv"
  321. cmd = New SqlCommand
  322. cmd.CommandText = sql
  323. cmd.Connection = cn
  324. cmd.Transaction = myTrans
  325. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  326. retorno = cmd.ExecuteNonQuery
  327. End If
  328. If Codigo.IndexOf("OPC") > -1 Then
  329. sql = "DELETE FROM [dbo].[OPC0]
  330. WHERE [CodInv]=@CodInv"
  331. cmd = New SqlCommand
  332. cmd.CommandText = sql
  333. cmd.Connection = cn
  334. cmd.Transaction = myTrans
  335. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  336. retorno = cmd.ExecuteNonQuery
  337. End If
  338. If Codigo.IndexOf("PEMP") > -1 Then
  339. sql = "DELETE FROM [dbo].[PEMP0]
  340. WHERE [CodInv]=@CodInv"
  341. cmd = New SqlCommand
  342. cmd.CommandText = sql
  343. cmd.Connection = cn
  344. cmd.Transaction = myTrans
  345. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  346. retorno = cmd.ExecuteNonQuery
  347. sql = "DELETE FROM [dbo].[PEMP1]
  348. WHERE [CodInv]=@CodInv"
  349. cmd = New SqlCommand
  350. cmd.CommandText = sql
  351. cmd.Connection = cn
  352. cmd.Transaction = myTrans
  353. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  354. retorno = cmd.ExecuteNonQuery
  355. End If
  356. If Codigo.IndexOf("PPER") > -1 Then
  357. sql = "DELETE FROM [dbo].[PPER0]
  358. WHERE [CodInv]=@CodInv"
  359. cmd = New SqlCommand
  360. cmd.CommandText = sql
  361. cmd.Connection = cn
  362. cmd.Transaction = myTrans
  363. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  364. retorno = cmd.ExecuteNonQuery
  365. sql = "DELETE FROM [dbo].[PPER1]
  366. WHERE [CodInv]=@CodInv"
  367. cmd = New SqlCommand
  368. cmd.CommandText = sql
  369. cmd.Connection = cn
  370. cmd.Transaction = myTrans
  371. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  372. retorno = cmd.ExecuteNonQuery
  373. sql = "DELETE FROM [dbo].[PPER2]
  374. WHERE [CodInv]=@CodInv"
  375. cmd = New SqlCommand
  376. cmd.CommandText = sql
  377. cmd.Connection = cn
  378. cmd.Transaction = myTrans
  379. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  380. retorno = cmd.ExecuteNonQuery
  381. End If
  382. If Codigo.IndexOf("REPOVENTA") > -1 Then
  383. sql = "DELETE FROM [dbo].[REP0VENTA]
  384. WHERE [CodInv]=@CodInv"
  385. cmd = New SqlCommand
  386. cmd.CommandText = sql
  387. cmd.Connection = cn
  388. cmd.Transaction = myTrans
  389. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  390. retorno = cmd.ExecuteNonQuery
  391. ElseIf Codigo.IndexOf("REPO") > -1 Then
  392. sql = "DELETE FROM [dbo].[REP0]
  393. WHERE [CodInv]=@CodInv"
  394. cmd = New SqlCommand
  395. cmd.CommandText = sql
  396. cmd.Connection = cn
  397. cmd.Transaction = myTrans
  398. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  399. retorno = cmd.ExecuteNonQuery
  400. End If
  401. End If
  402. myTrans.Commit()
  403. Catch ex As Exception
  404. myTrans.Rollback()
  405. MsgBox(ex.Message)
  406. Return 1
  407. End Try
  408. cn.Close()
  409. Return 0
  410. End Function
  411. Public Function EliminarPropuesta(ByVal CodInv As String) As Integer
  412. Dim objCon As New Conexion
  413. Dim cn As SqlConnection = objCon.Conectar
  414. Dim valor As String = String.Empty
  415. Dim sql As String
  416. Dim cmd As SqlCommand
  417. sql = "Delete from [dbo].[PIN0] where [CodInv]=@CodInv"
  418. cmd = New SqlCommand
  419. cmd.CommandText = sql
  420. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = CodInv.ToString()
  421. If cn Is Nothing Then
  422. cn = objCon.Conectar
  423. End If
  424. If cn.State = ConnectionState.Open Then
  425. cn.Close()
  426. cn.Dispose()
  427. cn = objCon.Conectar
  428. cn.Open()
  429. Else
  430. cn = objCon.Conectar
  431. cn.Open()
  432. End If
  433. cmd.Connection = cn
  434. valor = cmd.ExecuteScalar
  435. cmd.Dispose()
  436. cmd.Dispose()
  437. cmd.Dispose()
  438. Return 0
  439. End Function
  440. Public Function NuevoConReportoVenta(ByVal oInversionesCE As InversionesCE, ByVal Diccionario As Dictionary(Of String, Collection), ByVal CodigoReporto As String, ByVal CodigoAsociacion As String, ByRef EstadoReporto As String, ByRef ColUnionTablas As Collection)
  441. Dim objCon As New Conexion
  442. Dim cn As SqlConnection = objCon.Conectar
  443. Dim retorno As Integer
  444. If cn Is Nothing Then
  445. cn = objCon.Conectar
  446. End If
  447. If cn.State = ConnectionState.Open Then
  448. cn.Close()
  449. cn.Dispose()
  450. cn = objCon.Conectar
  451. cn.Open()
  452. Else
  453. cn = objCon.Conectar
  454. cn.Open()
  455. End If
  456. Dim vPuedoContinuar As Boolean = True
  457. Dim vCodigoNuevo As String
  458. vCodigoNuevo = oInversionesCE.CodigoIversion
  459. If oInversionesCE Is Nothing Then
  460. vPuedoContinuar = False
  461. Else
  462. If Me.ComprobarCodigoinversion(vCodigoNuevo) > 0 Then
  463. vPuedoContinuar = False
  464. MsgBox("Ya existe una inversión con el mismo código.")
  465. End If
  466. End If
  467. oInversionesCE.CodigoIversion = vCodigoNuevo
  468. If vPuedoContinuar Then
  469. Dim sql As String
  470. Dim cmd As SqlCommand
  471. Dim myTrans As SqlTransaction
  472. myTrans = cn.BeginTransaction()
  473. Dim vRetorno As Integer = 0
  474. Try
  475. sql = "INSERT INTO [dbo].[INV0]
  476. ([CodInv]
  477. ,[CodEmpr]
  478. ,[CodIF]
  479. ,[CodEmis]
  480. ,[CodCalRi]
  481. ,[CodECalRi]
  482. ,[Coment]
  483. ,[TipoOper]
  484. ,[DocBase]
  485. ,[Plazo]
  486. ,[PlazoFact]
  487. ,[TipoMerc]
  488. ,[CodPais]
  489. ,[NombreManIF]
  490. ,[CodManIF]
  491. ,[Periodicidad]
  492. ,[TipTasa]
  493. ,[TipRenta]
  494. ,[DocEst]
  495. ,[OFon]
  496. ,[EstadoProceso]
  497. ,[FechaDoc]
  498. ,[EstadoReporto]
  499. )
  500. VALUES
  501. (
  502. @CodInv
  503. ,@CodEmpr
  504. ,@CodIF
  505. ,@CodEmis
  506. ,@CodCalRi
  507. ,@CodECalRi
  508. ,@Coment
  509. ,@TipoOper
  510. ,@DocBase
  511. ,@Plazo
  512. ,@PlazoFact
  513. ,@TipoMerc
  514. ,@CodPais
  515. ,@NombreManIF
  516. ,@CodManIF
  517. ,@Periodicidad
  518. ,@TipTasa
  519. ,@TipRenta
  520. ,@DocEst
  521. ,@OFon
  522. ,@EstadoProceso
  523. ,@FechaDoc
  524. ,@EstadoReporto
  525. )"
  526. cmd = New SqlCommand
  527. With cmd.Parameters
  528. .Add("@CodInv", SqlDbType.VarChar).Value = vCodigoNuevo.ToString
  529. .Add("@CodEmpr", SqlDbType.VarChar).Value = oInversionesCE.CodigoEmpresa.ToString
  530. .Add("@CodIF", SqlDbType.VarChar).Value = oInversionesCE.CodigoInstrumentoFinanciero.ToString
  531. .Add("@CodEmis", SqlDbType.Int).Value = oInversionesCE.CodigoEmisor
  532. .Add("@CodCalRi", SqlDbType.VarChar).Value = oInversionesCE.CodigoCalificacionDeRiesgo.ToString
  533. .Add("@CodECalRi", SqlDbType.VarChar).Value = oInversionesCE.CodigoEmpresaCalificadora.ToString
  534. .Add("@Coment", SqlDbType.VarChar).Value = oInversionesCE.Comentarios.ToString
  535. .Add("@TipoOper", SqlDbType.VarChar).Value = oInversionesCE.TipoOperacion.ToString
  536. .Add("@DocBase", SqlDbType.Int).Value = oInversionesCE.DocumentoBase
  537. .Add("@TipoMerc", SqlDbType.VarChar).Value = oInversionesCE.TipoMercado.ToString
  538. .Add("@Plazo", SqlDbType.VarChar).Value = oInversionesCE.PlazoNumero.ToString
  539. .Add("@PlazoFact", SqlDbType.VarChar).Value = oInversionesCE.PlazoFactor.ToString
  540. .Add("@CodPais", SqlDbType.VarChar).Value = oInversionesCE.Pais.ToString
  541. .Add("@NombreManIF", SqlDbType.VarChar).Value = oInversionesCE.NombreManual.ToString
  542. .Add("@CodManIF", SqlDbType.VarChar).Value = oInversionesCE.CodigoManual.ToString
  543. .Add("@Periodicidad", SqlDbType.VarChar).Value = oInversionesCE.Periodicidad.ToString
  544. .Add("@TipTasa", SqlDbType.VarChar).Value = oInversionesCE.TipoTasa.ToString
  545. .Add("@TipRenta", SqlDbType.VarChar).Value = oInversionesCE.TipoRenta.ToString
  546. .Add("@DocEst", SqlDbType.VarChar).Value = oInversionesCE.EstadoDocumento.ToString
  547. .Add("@OFon", SqlDbType.VarChar).Value = oInversionesCE.OFondo.ToString
  548. .Add("@EstadoProceso", SqlDbType.VarChar).Value = oInversionesCE.EstadoProceso.ToString
  549. .Add("@FechaDoc", SqlDbType.Date).Value = oInversionesCE.FechaDocumento
  550. .Add("@EstadoReporto", SqlDbType.VarChar).Value = EstadoReporto
  551. End With
  552. cmd.CommandText = sql
  553. cmd.Connection = cn
  554. cmd.Transaction = myTrans
  555. retorno = cmd.ExecuteNonQuery
  556. '########################################################3'
  557. sql = "DELETE FROM REP0VENTA
  558. WHERE [CodInv]=@CodInv "
  559. cmd = New SqlCommand
  560. cmd.CommandText = sql
  561. cmd.Connection = cn
  562. cmd.Transaction = myTrans
  563. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = CodigoReporto
  564. retorno = cmd.ExecuteNonQuery
  565. sql = "INSERT INTO ReportoGenerado(
  566. [CodigoAsociacion]
  567. ,[FechaCreado]
  568. ,[CodigoReporto])
  569. values(
  570. @CodigoAsociacion
  571. ,@FechaCreado
  572. ,@CodigoReporto
  573. )"
  574. cmd = New SqlCommand
  575. cmd.CommandText = sql
  576. cmd.Connection = cn
  577. cmd.Transaction = myTrans
  578. cmd.Parameters.Add("@CodigoAsociacion", SqlDbType.VarChar).Value = CodigoAsociacion
  579. cmd.Parameters.Add("@FechaCreado", SqlDbType.VarChar).Value = Date.Now.Date
  580. cmd.Parameters.Add("@CodigoReporto", SqlDbType.VarChar).Value = CodigoReporto
  581. retorno = cmd.ExecuteNonQuery
  582. If Not Diccionario Is Nothing Then
  583. For Each DatosDiccionario In Diccionario
  584. Dim Coleccion As Collection = DatosDiccionario.Value
  585. sql = "INSERT INTO REP0VENTA (
  586. [CodInv]
  587. ,[codigo]
  588. ,[Nombre]
  589. ,[FCompra]
  590. ,[ValTrans]
  591. ,[Dias]
  592. ,[FVenc]
  593. ,[Rend]
  594. ,[CostoTransfr]
  595. ,[ComisionCasa]
  596. ,[ComisionBolsa]
  597. ,[Casa]
  598. ,[IOF]
  599. ,[Renta]
  600. ,[Base]
  601. ,[ComisionCasaValor]
  602. ,[ComisionBolsaValor]
  603. ,[IOFValor]
  604. ,[OtrosCostos]
  605. ,[TotalCostos]
  606. ,[MontoLiq]
  607. ,[IntGenerar]
  608. ,[RendAntImp]
  609. ,[RendDesImp]
  610. ,[ImpLiq]
  611. ,[IngrNet]
  612. ,[ValorNet]
  613. ,[EstadoIOF]
  614. ,[EstadoRenta]
  615. ) VALUES(
  616. @CodInv
  617. ,@codigo
  618. ,@Nombre
  619. ,@FCompra
  620. ,@ValTrans
  621. ,@Dias
  622. ,@FVenc
  623. ,@Rend
  624. ,@CostoTransfr
  625. ,@ComisionCasa
  626. ,@ComisionBolsa
  627. ,@Casa
  628. ,@IOF
  629. ,@Renta
  630. ,@Base
  631. ,@ComisionCasaValor
  632. ,@ComisionBolsaValor
  633. ,@IOFValor
  634. ,@OtrosCostos
  635. ,@TotalCostos
  636. ,@MontoLiq
  637. ,@IntGenerar
  638. ,@RendAntImp
  639. ,@RendDesImp
  640. ,@ImpLiq
  641. ,@IngrNet
  642. ,@ValorNet
  643. ,@EstadoIOF
  644. ,@EstadoRenta
  645. )
  646. "
  647. cmd = New SqlCommand
  648. cmd.CommandText = sql
  649. cmd.Connection = cn
  650. cmd.Transaction = myTrans
  651. With cmd.Parameters
  652. .Add("@CodInv", SqlDbType.VarChar).Value = CodigoReporto.ToString
  653. .Add("@Nombre", SqlDbType.VarChar).Value = Coleccion(1).ToString
  654. .Add("@FCompra", SqlDbType.Date).Value = Operaciones.ConvertirFecha(Coleccion(2).ToString)
  655. .Add("@ValTrans", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(3).ToString)
  656. .Add("@Dias", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(4).ToString)
  657. .Add("@FVenc", SqlDbType.Date).Value = Operaciones.ConvertirFecha(Coleccion(5).ToString)
  658. .Add("@Rend", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(6).ToString)
  659. .Add("@CostoTransfr", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(7).ToString)
  660. .Add("@codigo", SqlDbType.VarChar).Value = Coleccion(8).ToString
  661. .Add("@ComisionCasa", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion(9).ToString)
  662. .Add("@ComisionBolsa", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion(10).ToString)
  663. .Add("@Casa", SqlDbType.VarChar).Value = Coleccion(11).ToString
  664. .Add("@IOF", SqlDbType.Bit).Value = CByte(Coleccion(12))
  665. .Add("@Renta", SqlDbType.Bit).Value = CByte(Coleccion(13))
  666. .Add("@Base", SqlDbType.Int).Value = DBNull.Value
  667. .Add("@ComisionCasaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(14).ToString)
  668. .Add("@ComisionBolsaValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(15).ToString)
  669. .Add("@IOFValor", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(16).ToString)
  670. .Add("@OtrosCostos", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(17).ToString)
  671. .Add("@TotalCostos", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(18).ToString)
  672. .Add("@MontoLiq", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(19).ToString)
  673. .Add("@IntGenerar", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(20).ToString)
  674. .Add("@RendAntImp", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(21).ToString)
  675. .Add("@RendDesImp", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(22).ToString)
  676. .Add("@ImpLiq", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(23).ToString)
  677. .Add("@IngrNet", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(24).ToString)
  678. .Add("@ValorNet", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(25).ToString)
  679. .Add("@EstadoIOF", SqlDbType.Bit).Value = CByte(Coleccion(27))
  680. .Add("@EstadoRenta", SqlDbType.Bit).Value = CByte(Coleccion(28))
  681. End With
  682. retorno = cmd.ExecuteNonQuery
  683. Next
  684. End If
  685. Dim PIdFlujo As Integer = 0
  686. ''''''''''''''''''
  687. For Each DicUnionTab As Dictionary(Of String, Object) In ColUnionTablas
  688. Dim CodigoTitulos = Function()
  689. If DicUnionTab.ContainsKey("CodigoTitulos") Then
  690. Return DicUnionTab.Item("CodigoTitulos")
  691. Else
  692. Return String.Empty
  693. End If
  694. End Function
  695. Dim IdFlujo = Function()
  696. If DicUnionTab.ContainsKey("IdFlujo") Then
  697. Return DicUnionTab.Item("IdFlujo")
  698. Else
  699. Return 0
  700. End If
  701. End Function
  702. Dim IdLisRep = Function()
  703. If DicUnionTab.ContainsKey("IdLisRep") Then
  704. Return DicUnionTab.Item("IdLisRep")
  705. Else
  706. Return 0
  707. End If
  708. End Function
  709. Dim ValorCodigoTitulos As String = CodigoTitulos().ToString
  710. Dim ValorIdFlujo As Integer = Operaciones.ConvertirEntero(IdFlujo().ToString)
  711. Dim ValorIdLisRep As Integer = Operaciones.ConvertirEntero(IdLisRep().ToString)
  712. If PIdFlujo = 0 Then
  713. PIdFlujo = ValorIdFlujo
  714. End If
  715. sql = "INSERT INTO REPOGEN(
  716. [CodigoAsociado]
  717. ,[CodigoReporto]
  718. ,[CodigoTitulo]
  719. ,[CodigoEstado]
  720. ,[Nombre]
  721. ,[Descrip]
  722. ,[IdFlujo]
  723. ,[IdLisRep]
  724. )VALUES(
  725. @CodigoAsociado
  726. ,@CodigoReporto
  727. ,@CodigoTitulo
  728. ,@CodigoEstado
  729. ,@Nombre
  730. ,@Descrip
  731. ,@IdFlujo
  732. ,@IdLisRep
  733. )"
  734. cmd = New SqlCommand
  735. cmd.CommandText = sql
  736. cmd.Connection = cn
  737. cmd.Transaction = myTrans
  738. cmd.Parameters.Add("@CodigoAsociado", SqlDbType.VarChar).Value = CodigoAsociacion
  739. cmd.Parameters.Add("@CodigoReporto", SqlDbType.VarChar).Value = CodigoReporto
  740. cmd.Parameters.Add("@CodigoTitulo", SqlDbType.VarChar).Value = ValorCodigoTitulos
  741. cmd.Parameters.Add("@CodigoEstado", SqlDbType.VarChar).Value = "RC"
  742. cmd.Parameters.Add("@Nombre", SqlDbType.VarChar).Value = "Reporto Creado"
  743. cmd.Parameters.Add("@Descrip", SqlDbType.VarChar).Value = "Reporto Creado(En Espera de Generar Lista de Titulos de Inversion)"
  744. cmd.Parameters.Add("@IdFlujo", SqlDbType.Int).Value = ValorIdFlujo
  745. cmd.Parameters.Add("@IdLisRep", SqlDbType.Int).Value = ValorIdLisRep
  746. retorno = cmd.ExecuteNonQuery
  747. '########################################################################'
  748. sql = "INSERT INTO TitTerm(
  749. [CodigoAsociado]
  750. ,[CodigoTitulo]
  751. ,[CodigoEstado]
  752. ,[Nombre]
  753. ,[Descrip]
  754. ,[IdFlujo]
  755. ,[IdLisRep]
  756. )VALUES(
  757. @CodigoAsociado
  758. ,@CodigoTitulo
  759. ,@CodigoEstado
  760. ,@Nombre
  761. ,@Descrip
  762. ,@IdFlujo
  763. ,@IdLisRep
  764. )"
  765. cmd = New SqlCommand
  766. cmd.CommandText = sql
  767. cmd.Connection = cn
  768. cmd.Transaction = myTrans
  769. cmd.Parameters.Add("@CodigoAsociado", SqlDbType.VarChar).Value = CodigoAsociacion
  770. cmd.Parameters.Add("@CodigoTitulo", SqlDbType.VarChar).Value = ValorCodigoTitulos
  771. cmd.Parameters.Add("@CodigoEstado", SqlDbType.VarChar).Value = "FIN"
  772. cmd.Parameters.Add("@Nombre", SqlDbType.VarChar).Value = "Ciclo de Titulo Finalizado"
  773. cmd.Parameters.Add("@Descrip", SqlDbType.VarChar).Value = "Ciclo de TItulo Finalizado(En Espera de Generar más)"
  774. cmd.Parameters.Add("@IdFlujo", SqlDbType.Int).Value = ValorIdFlujo
  775. cmd.Parameters.Add("@IdLisRep", SqlDbType.Int).Value = ValorIdLisRep
  776. retorno = cmd.ExecuteNonQuery
  777. Next
  778. sql = "INSERT INTO SegundaFase(
  779. [CodigoReporto]
  780. ,[CodigoAsociado]
  781. ,[IdFlujo]
  782. )VALUES(
  783. @CodigoReporto
  784. ,@CodigoAsociado
  785. ,@IdFlujo
  786. )"
  787. cmd = New SqlCommand
  788. cmd.CommandText = sql
  789. cmd.Connection = cn
  790. cmd.Transaction = myTrans
  791. cmd.Parameters.Add("@CodigoReporto", SqlDbType.VarChar).Value = CodigoReporto
  792. cmd.Parameters.Add("@CodigoAsociado", SqlDbType.VarChar).Value = CodigoAsociacion
  793. cmd.Parameters.Add("@IdFlujo", SqlDbType.VarChar).Value = PIdFlujo
  794. retorno = cmd.ExecuteNonQuery
  795. myTrans.Commit()
  796. MsgBox("Datos Ingresados")
  797. frmColaTitulos.Inicializacion()
  798. Catch ex As Exception
  799. myTrans.Rollback()
  800. MsgBox(ex.Message)
  801. End Try
  802. End If
  803. cn.Close()
  804. Return retorno
  805. End Function
  806. Public Function Nuevo(ByVal oInversionesCE As InversionesCE) As Integer
  807. Dim objCon As New Conexion
  808. Dim cn As SqlConnection = objCon.Conectar
  809. Dim vRetorno As Integer = 0
  810. Dim vPuedoContinuar As Boolean = True
  811. Dim vCodigoNuevo As String
  812. vCodigoNuevo = oInversionesCE.CodigoIversion
  813. If oInversionesCE Is Nothing Then
  814. vPuedoContinuar = False
  815. Else
  816. If Me.ComprobarCodigoinversion(vCodigoNuevo) > 0 Then
  817. vPuedoContinuar = False
  818. MsgBox("Ya existe una inversión con el mismo código.")
  819. End If
  820. End If
  821. oInversionesCE.CodigoIversion = vCodigoNuevo
  822. If vPuedoContinuar Then
  823. 'VIENE UNA CE DE INVERCIONES
  824. Dim vQuery As String = ""
  825. If cn Is Nothing Then
  826. cn = objCon.Conectar
  827. End If
  828. If cn.State = ConnectionState.Open Then
  829. cn.Close()
  830. cn.Dispose()
  831. cn = objCon.Conectar
  832. cn.Open()
  833. Else
  834. cn = objCon.Conectar
  835. cn.Open()
  836. End If
  837. If cn.State = ConnectionState.Open Then
  838. Dim vTransaccion As SqlTransaction
  839. Dim cmd As SqlCommand = cn.CreateCommand
  840. vTransaccion = cn.BeginTransaction
  841. cmd.Connection = cn
  842. cmd.Transaction = vTransaccion
  843. Try
  844. vQuery = "INSERT INTO [dbo].[INV0]
  845. ([CodInv]
  846. ,[CodEmpr]
  847. ,[CodIF]
  848. ,[CodEmis]
  849. ,[CodCalRi]
  850. ,[CodECalRi]
  851. ,[Coment]
  852. ,[TipoOper]
  853. ,[DocBase]
  854. ,[Plazo]
  855. ,[PlazoFact]
  856. ,[TipoMerc]
  857. ,[CodPais]
  858. ,[NombreManIF]
  859. ,[CodManIF]
  860. ,[Periodicidad]
  861. ,[TipTasa]
  862. ,[TipRenta]
  863. ,[DocEst]
  864. ,[OFon]
  865. ,[EstadoProceso]
  866. ,[FechaDoc]
  867. ,[CodigoAsociado]
  868. ,[EstadoReporto]
  869. )
  870. VALUES
  871. (
  872. @CodInv
  873. ,@CodEmpr
  874. ,@CodIF
  875. ,@CodEmis
  876. ,@CodCalRi
  877. ,@CodECalRi
  878. ,@Coment
  879. ,@TipoOper
  880. ,@DocBase
  881. ,@Plazo
  882. ,@PlazoFact
  883. ,@TipoMerc
  884. ,@CodPais
  885. ,@NombreManIF
  886. ,@CodManIF
  887. ,@Periodicidad
  888. ,@TipTasa
  889. ,@TipRenta
  890. ,@DocEst
  891. ,@OFon
  892. ,@EstadoProceso
  893. ,@FechaDoc
  894. ,@CodigoAsociado
  895. ,@EstadoReporto
  896. )"
  897. cmd.CommandText = vQuery
  898. With cmd.Parameters
  899. .Add("@CodInv", SqlDbType.VarChar).Value = vCodigoNuevo.ToString
  900. .Add("@CodEmpr", SqlDbType.VarChar).Value = oInversionesCE.CodigoEmpresa.ToString
  901. .Add("@CodIF", SqlDbType.VarChar).Value = oInversionesCE.CodigoInstrumentoFinanciero.ToString
  902. .Add("@CodEmis", SqlDbType.Int).Value = oInversionesCE.CodigoEmisor
  903. .Add("@CodCalRi", SqlDbType.VarChar).Value = oInversionesCE.CodigoCalificacionDeRiesgo.ToString
  904. .Add("@CodECalRi", SqlDbType.VarChar).Value = oInversionesCE.CodigoEmpresaCalificadora.ToString
  905. .Add("@Coment", SqlDbType.VarChar).Value = oInversionesCE.Comentarios.ToString
  906. .Add("@TipoOper", SqlDbType.VarChar).Value = oInversionesCE.TipoOperacion.ToString
  907. .Add("@DocBase", SqlDbType.Int).Value = oInversionesCE.DocumentoBase
  908. .Add("@TipoMerc", SqlDbType.VarChar).Value = oInversionesCE.TipoMercado.ToString
  909. .Add("@Plazo", SqlDbType.VarChar).Value = oInversionesCE.PlazoNumero.ToString
  910. .Add("@PlazoFact", SqlDbType.VarChar).Value = oInversionesCE.PlazoFactor.ToString
  911. .Add("@CodPais", SqlDbType.VarChar).Value = oInversionesCE.Pais.ToString
  912. .Add("@NombreManIF", SqlDbType.VarChar).Value = oInversionesCE.NombreManual.ToString
  913. .Add("@CodManIF", SqlDbType.VarChar).Value = oInversionesCE.CodigoManual.ToString
  914. .Add("@Periodicidad", SqlDbType.VarChar).Value = oInversionesCE.Periodicidad.ToString
  915. .Add("@TipTasa", SqlDbType.VarChar).Value = oInversionesCE.TipoTasa.ToString
  916. .Add("@TipRenta", SqlDbType.VarChar).Value = oInversionesCE.TipoRenta.ToString
  917. .Add("@DocEst", SqlDbType.VarChar).Value = oInversionesCE.EstadoDocumento.ToString
  918. .Add("@OFon", SqlDbType.VarChar).Value = oInversionesCE.OFondo.ToString
  919. .Add("@EstadoProceso", SqlDbType.VarChar).Value = oInversionesCE.EstadoProceso.ToString
  920. .Add("@FechaDoc", SqlDbType.Date).Value = Date.Now.Date
  921. .Add("@CodigoAsociado", SqlDbType.VarChar).Value = oInversionesCE.CodigoAsociado
  922. .Add("@EstadoReporto", SqlDbType.VarChar).Value = oInversionesCE.EstadoReporto
  923. End With
  924. vRetorno = cmd.ExecuteNonQuery
  925. oInversionesCE.IdFlujo += 1
  926. vQuery = "INSERT INTO TitulosGenerarLREP(
  927. [CodigoTitulo]
  928. ,[CodigoEstado]
  929. ,[Nombre]
  930. ,[Descrip]
  931. ,[IdProInv]
  932. ,[IdFlujo]
  933. )
  934. VALUES(
  935. @CodigoTitulo
  936. ,@CodigoEstado
  937. ,@Nombre
  938. ,@Descrip
  939. ,@IdProInv
  940. ,@IdFlujo
  941. )
  942. "
  943. cmd = New SqlCommand
  944. cmd.CommandText = vQuery
  945. cmd.Connection = cn
  946. cmd.Transaction = vTransaccion
  947. cmd.Parameters.Add("@CodigoTitulo", SqlDbType.VarChar).Value = vCodigoNuevo.ToString
  948. cmd.Parameters.Add("@CodigoEstado", SqlDbType.VarChar).Value = "SEG"
  949. cmd.Parameters.Add("@Nombre", SqlDbType.VarChar).Value = "Sin Asignar"
  950. cmd.Parameters.Add("@Descrip", SqlDbType.VarChar).Value = "Sin Asignar(En Espera de Generar una Lista de Titulos para Reportear)"
  951. cmd.Parameters.Add("@IdFlujo", SqlDbType.Int).Value = oInversionesCE.IdFlujo
  952. cmd.Parameters.Add("@IdProInv", SqlDbType.Int).Value = oInversionesCE.IdProInv
  953. vRetorno = cmd.ExecuteNonQuery
  954. vQuery = "INSERT INTO IniFlu(
  955. [IdFlujo]
  956. ,[CodigoAsociadoAnterior]
  957. ,[CodigoTitulo]
  958. )
  959. VALUES(
  960. @IdFlujo
  961. ,@CodigoAsociadoAnterior
  962. ,@CodigoTitulo
  963. )
  964. "
  965. If String.IsNullOrEmpty(oInversionesCE.CodigoAsociado) Then
  966. oInversionesCE.CodigoAsociado = "Sin Pasado"
  967. End If
  968. cmd = New SqlCommand
  969. cmd.CommandText = vQuery
  970. cmd.Connection = cn
  971. cmd.Transaction = vTransaccion
  972. cmd.Parameters.Add("@IdFlujo", SqlDbType.Int).Value = oInversionesCE.IdFlujo
  973. cmd.Parameters.Add("@CodigoTitulo", SqlDbType.VarChar).Value = vCodigoNuevo.ToString
  974. cmd.Parameters.Add("@CodigoAsociadoAnterior", SqlDbType.VarChar).Value = oInversionesCE.CodigoAsociado
  975. vRetorno = cmd.ExecuteNonQuery
  976. '' #####################################################
  977. Dim IniciarError As String = CambiarEstArbCE.ProcesarCambio(vCodigoNuevo.ToString, "CambiarAprobacion", cn, vTransaccion)
  978. If IniciarError = "NO" Or IniciarError = "Error" Then
  979. Throw New Exception
  980. End If
  981. '##############################################################'
  982. If oInversionesCE.EstadoReporto = "SECUNDARIO" Then
  983. vQuery = "INSERT INTO TitApro(
  984. [CodigoAsociado]
  985. ,[CodigoTitulo]
  986. ,[CodigoEstado]
  987. ,[Nombre]
  988. ,[Descrip]
  989. ,[IdEA]
  990. ,[IdFlujo]
  991. )
  992. VALUES(
  993. @CodigoAsociado
  994. ,@CodigoTitulo
  995. ,@CodigoEstado
  996. ,@Nombre
  997. ,@Descrip
  998. ,@IdEA
  999. ,@IdFlujo
  1000. )
  1001. "
  1002. cmd = New SqlCommand
  1003. cmd.CommandText = vQuery
  1004. cmd.Connection = cn
  1005. cmd.Transaction = vTransaccion
  1006. cmd.Parameters.Add("@CodigoAsociado", SqlDbType.VarChar).Value = oInversionesCE.CodigoAsociado
  1007. cmd.Parameters.Add("@CodigoTitulo", SqlDbType.VarChar).Value = vCodigoNuevo.ToString
  1008. cmd.Parameters.Add("@CodigoEstado", SqlDbType.VarChar).Value = "TA"
  1009. cmd.Parameters.Add("@Nombre", SqlDbType.VarChar).Value = "Titulo Aprobado"
  1010. cmd.Parameters.Add("@Descrip", SqlDbType.VarChar).Value = "Titulo Aprobado"
  1011. cmd.Parameters.Add("@IdEA", SqlDbType.Int).Value = oInversionesCE.IdEA
  1012. cmd.Parameters.Add("@IdFlujo", SqlDbType.Int).Value = oInversionesCE.IdFlujo
  1013. vRetorno = cmd.ExecuteNonQuery
  1014. End If
  1015. '###########################################################'
  1016. ''Ingresar codigo
  1017. vTransaccion.Commit()
  1018. cmd.Dispose()
  1019. vTransaccion.Dispose()
  1020. cn.Dispose()
  1021. cn.Close()
  1022. Catch ex2 As Exception
  1023. vTransaccion.Rollback()
  1024. MsgBox("Error")
  1025. vRetorno = 0
  1026. End Try
  1027. Else
  1028. vRetorno = 0
  1029. End If
  1030. Else
  1031. vRetorno = -1
  1032. End If
  1033. Return vRetorno
  1034. End Function
  1035. Public Function Modificar(ByVal oCEINV As InversionesCE) As Integer
  1036. Dim objCon As New Conexion
  1037. Dim cn As SqlConnection = objCon.Conectar
  1038. Dim retorno As Integer
  1039. Dim cmd As SqlCommand
  1040. Dim sql As String
  1041. sql = "UPDATE [dbo].[INV0]
  1042. SET [Asunto] = @Asunto
  1043. ,[CodEmpr] = @CodEmpr
  1044. ,[CodEmis] = @CodEmis
  1045. ,[CodCalRi] = @CodCalRi
  1046. ,[CodECalRi] = @CodECalRi
  1047. ,[OFon] = @OFon
  1048. ,[Coment] = @Coment
  1049. ,[Just] = @Just
  1050. ,[TipoOper] = @TipoOper
  1051. ,[Plazo] = @Plazo
  1052. ,[PlazoFact] = @PlazoFact
  1053. ,[FechaDoc] = @FechaDoc
  1054. ,[TipoMerc] = @TipoMerc
  1055. ,[CodPais] = @CodPais
  1056. ,[NombreManIF] = @NombreManIF
  1057. ,[CodManIF] = @CodManIF
  1058. ,[Periodicidad] = @Periodicidad
  1059. ,[TipTasa] = @TipTasa
  1060. ,[TipRenta] = @TipRenta
  1061. ,[DocEst]=@DocEst
  1062. ,[EstadoProceso]=@EstadoProceso
  1063. WHERE [CodInv]=@CodInv"
  1064. If cn Is Nothing Then
  1065. cn = objCon.Conectar
  1066. End If
  1067. If cn.State = ConnectionState.Open Then
  1068. cn.Close()
  1069. cn.Dispose()
  1070. cn = objCon.Conectar
  1071. cn.Open()
  1072. Else
  1073. cn = objCon.Conectar
  1074. cn.Open()
  1075. End If
  1076. cmd = New SqlCommand
  1077. cmd.CommandText = sql
  1078. cmd.Connection = cn
  1079. With cmd.Parameters
  1080. .Add("@Asunto", SqlDbType.VarChar).Value = String.Empty
  1081. .Add("@CodEmpr", SqlDbType.VarChar).Value = oCEINV.CodigoEmpresa
  1082. .Add("@CodEmis", SqlDbType.VarChar).Value = oCEINV.CodigoEmisor
  1083. .Add("@CodCalRi", SqlDbType.VarChar).Value = oCEINV.CodigoCalificacionDeRiesgo
  1084. .Add("@CodECalRi", SqlDbType.VarChar).Value = oCEINV.CodigoEmpresaCalificadora
  1085. .Add("@OFon", SqlDbType.VarChar).Value = oCEINV.OFondo
  1086. .Add("@Coment", SqlDbType.VarChar).Value = oCEINV.Comentarios
  1087. .Add("@Just", SqlDbType.VarChar).Value = String.Empty
  1088. .Add("@TipoOper", SqlDbType.VarChar).Value = oCEINV.TipoOperacion
  1089. .Add("@Plazo", SqlDbType.Int).Value = oCEINV.PlazoNumero
  1090. .Add("@PlazoFact", SqlDbType.VarChar).Value = oCEINV.PlazoFactor
  1091. .Add("@FechaDoc", SqlDbType.Date).Value = oCEINV.FechaDocumento
  1092. .Add("@TipoMerc", SqlDbType.VarChar).Value = oCEINV.TipoMercado
  1093. .Add("@CodPais", SqlDbType.VarChar).Value = oCEINV.Pais
  1094. .Add("@NombreManIF", SqlDbType.VarChar).Value = oCEINV.NombreManual
  1095. .Add("@CodManIF", SqlDbType.VarChar).Value = oCEINV.CodigoManual
  1096. .Add("@Periodicidad", SqlDbType.VarChar).Value = oCEINV.Periodicidad
  1097. .Add("@TipTasa", SqlDbType.VarChar).Value = oCEINV.TipoTasa
  1098. .Add("@TipRenta", SqlDbType.VarChar).Value = oCEINV.TipoRenta
  1099. .Add("@CodInv", SqlDbType.VarChar).Value = oCEINV.CodigoIversion
  1100. .Add("@DocId", SqlDbType.Int).Value = oCEINV.IdDeDocumento
  1101. .Add("@DocEst", SqlDbType.VarChar).Value = oCEINV.EstadoDocumento
  1102. .Add("@EstadoProceso", SqlDbType.VarChar).Value = oCEINV.EstadoProceso
  1103. End With
  1104. retorno = cmd.ExecuteNonQuery
  1105. cn.Close()
  1106. Return retorno
  1107. End Function
  1108. Public Function ComprobarCodigoinversion(CodigoInversion As String) As Integer
  1109. Dim objCon As New Conexion
  1110. Dim cn As SqlConnection = objCon.Conectar
  1111. Dim vRetorno As Integer
  1112. Dim sql As String
  1113. Dim cmd As SqlCommand = New SqlCommand
  1114. If cn Is Nothing Then
  1115. cn = objCon.Conectar
  1116. End If
  1117. If cn.State = ConnectionState.Open Then
  1118. cn.Close()
  1119. cn.Dispose()
  1120. cn = objCon.Conectar
  1121. cn.Open()
  1122. Else
  1123. cn = objCon.Conectar
  1124. cn.Open()
  1125. End If
  1126. sql = "SELECT COUNT('A') FROM [dbo].[INV0] WHERE CodInv=@CodInv"
  1127. cmd.CommandText = sql
  1128. cmd.Connection = cn
  1129. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = CodigoInversion
  1130. vRetorno = cmd.ExecuteScalar
  1131. cn.Close()
  1132. Return vRetorno
  1133. End Function
  1134. Public Function Buscar(ByVal DiccionarioColecciones As Dictionary(Of String, Collection)) As DataSet
  1135. Dim objCon As New Conexion
  1136. Dim cn As SqlConnection = objCon.Conectar
  1137. Dim ds As New DataSet
  1138. Dim da As SqlDataAdapter
  1139. cn = objCon.Conectar
  1140. Dim Col_Empresas As New Collection
  1141. Dim Col_Emisor As New Collection
  1142. Dim Col_EstDocumento As New Collection
  1143. Dim Col_Instrumento As New Collection
  1144. Dim Col_CalRiesgo As New Collection
  1145. Dim Col_TipOperacion As New Collection
  1146. Dim Col_OriFond As New Collection
  1147. Dim Col_CalERiesgo As New Collection
  1148. Dim Col_Aut As New Collection
  1149. Dim Col_Plazo As New Collection
  1150. Dim Col_Pais As New Collection
  1151. Dim Col_TipMercado As New Collection
  1152. Dim Vacio As Boolean = False
  1153. For Each Item In DiccionarioColecciones
  1154. If Item.Key = "Empresa" Then
  1155. Col_Empresas = Item.Value
  1156. ElseIf Item.Key = "Emisor" Then
  1157. Col_Emisor = Item.Value
  1158. ElseIf Item.Key = "EstDocumento" Then
  1159. Col_EstDocumento = Item.Value
  1160. ElseIf Item.Key = "Instrumento" Then
  1161. Col_Instrumento = Item.Value
  1162. ElseIf Item.Key = "CalRiesgo" Then
  1163. Col_CalRiesgo = Item.Value
  1164. ElseIf Item.Key = "TipOperacion" Then
  1165. Col_TipOperacion = Item.Value
  1166. ElseIf Item.Key = "OriFond" Then
  1167. Col_OriFond = Item.Value
  1168. ElseIf Item.Key = "CalERiesgo" Then
  1169. Col_CalERiesgo = Item.Value
  1170. ElseIf Item.Key = "Aut" Then
  1171. Col_Aut = Item.Value
  1172. ElseIf Item.Key = "Plazo" Then
  1173. Col_Plazo = Item.Value
  1174. ElseIf Item.Key = "Pais" Then
  1175. Col_Pais = Item.Value
  1176. ElseIf Item.Key = "TipMercado" Then
  1177. Col_TipMercado = Item.Value
  1178. End If
  1179. Next
  1180. If Col_Empresas.Count = 0 Or Col_Emisor.Count = 0 Or Col_EstDocumento.Count = 0 Or Col_OriFond.Count = 0 Or Col_CalERiesgo.Count = 0 Or Col_Aut.Count = 0 Or Col_Plazo.Count = 0 Or Col_Pais.Count = 0 Or Col_TipMercado.Count = 0 Or Col_Instrumento.Count = 0 Then
  1181. Vacio = True
  1182. End If
  1183. Dim sql As String = "select
  1184. CAST(DocId as varchar) as 'Id'
  1185. ,CAST(CodInv as varchar) as 'Código de Propuesta'
  1186. ,CAST(DocEst as varchar) as 'Estado'
  1187. ,CAST(Asunto as varchar) as 'Asunto'
  1188. ,CAST(CodEmpr as varchar) as 'Empresa'
  1189. ,CAST(CodIF as varchar) as 'Instrumento Financiero'
  1190. ,CAST(CodEmis as varchar) as 'Emisor'
  1191. ,CAST(CodCalRi as varchar) as 'Calificación de Riesgo'
  1192. ,CAST(CodECalRi as varchar) as 'Empresa Calificadora'
  1193. ,CAST(OFon as varchar) as 'Origen de Fondos'
  1194. ,CAST(Coment as varchar) as 'Comentarios'
  1195. ,CAST(Just as varchar) as 'Justificaciones'
  1196. ,CAST(TipoOper as varchar) as 'Tipo de Operacion'
  1197. ,CAST(DocBase as varchar) as 'Base de Calculo'
  1198. ,CAST(MontoInv as varchar) as 'Monto de Inversion'
  1199. ,CAST(Precio as varchar) as 'Precio'
  1200. ,CAST(Rendimiento as varchar) as 'Rendimiento'
  1201. ,CAST(Plazo as varchar) as 'Cantidad en Plazo'
  1202. ,CAST(PlazoFact as varchar) as 'Tipo de Plazo'
  1203. ,CAST(Ingresos as varchar) as 'Ingresos'
  1204. ,CAST(FechaDoc as varchar) as 'Fecha de Creación'
  1205. ,CAST(AutEstado as varchar) as 'Estado de Autorización'
  1206. ,CAST(TipoMerc as varchar) as 'Tipo de Mercado'
  1207. ,CAST(CodPais as varchar) as 'Pais'
  1208. from INV0
  1209. "
  1210. If Vacio Then
  1211. sql += " where 0=1"
  1212. Else
  1213. sql += " where 1=1"
  1214. End If
  1215. Dim TodosEmpresas As Boolean = False
  1216. Dim TodosEmisor As Boolean = False
  1217. Dim TodosEstDocumento As Boolean = False
  1218. Dim TodosInstrumento As Boolean = False
  1219. Dim TodosCalRiesgo As Boolean = False
  1220. Dim TodosTipOperacion As Boolean = False
  1221. Dim TodosOriFond As Boolean = False
  1222. Dim TodosCalERiesgo As Boolean = False
  1223. Dim TodosAut As Boolean = False
  1224. Dim TodosPlazo As Boolean = False
  1225. Dim TodosPais As Boolean = False
  1226. Dim TodosTipMercado As Boolean = False
  1227. For Each Item In Col_Empresas
  1228. If Not Item.IndexOf("Todos") = -1 Then
  1229. TodosEmpresas = True
  1230. End If
  1231. Next
  1232. For Each Item In Col_Emisor
  1233. If Not Item.IndexOf("Todos") = -1 Then
  1234. TodosEmisor = True
  1235. End If
  1236. Next
  1237. For Each Item In Col_EstDocumento
  1238. If Not Item.IndexOf("Todos") = -1 Then
  1239. TodosEstDocumento = True
  1240. End If
  1241. Next
  1242. For Each Item In Col_Instrumento
  1243. If Not Item.IndexOf("Todos") = -1 Then
  1244. TodosInstrumento = True
  1245. End If
  1246. Next
  1247. For Each Item In Col_CalRiesgo
  1248. If Not Item.IndexOf("Todos") = -1 Then
  1249. TodosCalRiesgo = True
  1250. End If
  1251. Next
  1252. For Each Item In Col_TipOperacion
  1253. If Not Item.IndexOf("Todos") = -1 Then
  1254. TodosTipOperacion = True
  1255. End If
  1256. Next
  1257. For Each Item In Col_OriFond
  1258. If Not Item.IndexOf("Todos") = -1 Then
  1259. TodosOriFond = True
  1260. End If
  1261. Next
  1262. For Each Item In Col_CalERiesgo
  1263. If Not Item.IndexOf("Todos") = -1 Then
  1264. TodosCalERiesgo = True
  1265. End If
  1266. Next
  1267. For Each Item In Col_Aut
  1268. TodosAut = True
  1269. Next
  1270. For Each Item In Col_Plazo
  1271. If Not Item.IndexOf("Todos") = -1 Then
  1272. TodosPlazo = True
  1273. End If
  1274. Next
  1275. For Each Item In Col_Pais
  1276. If Not Item.IndexOf("Todos") = -1 Then
  1277. TodosPais = True
  1278. End If
  1279. Next
  1280. For Each Item In Col_TipMercado
  1281. If Not Item.IndexOf("Todos") = -1 Then
  1282. TodosTipMercado = True
  1283. End If
  1284. Next
  1285. Dim OperadorLogico As String = String.Empty
  1286. OperadorLogico = " And ("
  1287. Dim Fin As String = String.Empty
  1288. If Not TodosEmpresas Then
  1289. For Each Item In Col_Empresas
  1290. Dim Cadena As String = Col_Empresas.ToString
  1291. Dim NombreItem As String = Item.ToString.Trim
  1292. Dim ConsultaExtra As String = "" + OperadorLogico + " CodEmpr like '%" + NombreItem + "%'"
  1293. sql += ConsultaExtra
  1294. OperadorLogico = " Or"
  1295. Fin = ")"
  1296. Next
  1297. If Not String.IsNullOrEmpty(Fin) Then
  1298. sql += Fin
  1299. End If
  1300. Fin = String.Empty
  1301. OperadorLogico = " And ("
  1302. End If
  1303. If Not TodosEmisor Then
  1304. For Each Item In Col_Emisor
  1305. Dim NombreItem As String = Item.ToString.Trim
  1306. Dim ConsultaExtra As String = " " + OperadorLogico + " CodEmis like '%" + NombreItem + "%'"
  1307. sql += ConsultaExtra
  1308. OperadorLogico = " Or"
  1309. Fin = ")"
  1310. Next
  1311. If Not String.IsNullOrEmpty(Fin) Then
  1312. sql += Fin
  1313. End If
  1314. Fin = String.Empty
  1315. OperadorLogico = " And ("
  1316. End If
  1317. If Not TodosEstDocumento Then
  1318. For Each Item In Col_EstDocumento
  1319. Dim NombreItem As String = Item.ToString.Trim
  1320. Dim ConsultaExtra As String = " " + OperadorLogico + " DocEst like '%" + NombreItem + "%'"
  1321. sql += ConsultaExtra
  1322. OperadorLogico = " Or"
  1323. Fin = ")"
  1324. Next
  1325. If Not String.IsNullOrEmpty(Fin) Then
  1326. sql += Fin
  1327. End If
  1328. Fin = String.Empty
  1329. OperadorLogico = " And ("
  1330. End If
  1331. If Not TodosInstrumento Then
  1332. For Each Item In Col_Instrumento
  1333. Dim NombreItem As String = Item.ToString.Trim
  1334. Dim ConsultaExtra As String = " " + OperadorLogico + " CodIF like '%" + NombreItem + "%'"
  1335. sql += ConsultaExtra
  1336. OperadorLogico = " Or"
  1337. Fin = ")"
  1338. Next
  1339. If Not String.IsNullOrEmpty(Fin) Then
  1340. sql += Fin
  1341. End If
  1342. Fin = String.Empty
  1343. OperadorLogico = " And ("
  1344. End If
  1345. If Not TodosCalRiesgo Then
  1346. For Each Item In Col_CalRiesgo
  1347. Dim NombreItem As String = Item.ToString.Trim
  1348. Dim ConsultaExtra As String = " " + OperadorLogico + " CodCalRi like '%" + NombreItem + "%'"
  1349. sql += ConsultaExtra
  1350. OperadorLogico = " Or"
  1351. Fin = ")"
  1352. Next
  1353. If Not String.IsNullOrEmpty(Fin) Then
  1354. sql += Fin
  1355. End If
  1356. Fin = String.Empty
  1357. OperadorLogico = " And ("
  1358. End If
  1359. If Not TodosTipOperacion Then
  1360. For Each Item In Col_TipOperacion
  1361. Dim NombreItem As String = Item.ToString.Trim
  1362. Dim ConsultaExtra As String = "" + OperadorLogico + " TipoOper like '%" + NombreItem + "%'"
  1363. sql += ConsultaExtra
  1364. OperadorLogico = " Or"
  1365. Fin = ")"
  1366. Next
  1367. If Not String.IsNullOrEmpty(Fin) Then
  1368. sql += Fin
  1369. End If
  1370. Fin = String.Empty
  1371. OperadorLogico = " And ("
  1372. End If
  1373. If Not TodosOriFond Then
  1374. For Each Item In Col_OriFond
  1375. Dim NombreItem As String = Item.ToString.Trim
  1376. Dim ConsultaExtra As String = " " + OperadorLogico + " OFon like '%" + NombreItem + "%'"
  1377. sql += ConsultaExtra
  1378. OperadorLogico = " Or"
  1379. Fin = ")"
  1380. Next
  1381. If Not String.IsNullOrEmpty(Fin) Then
  1382. sql += Fin
  1383. End If
  1384. Fin = String.Empty
  1385. OperadorLogico = " And ("
  1386. End If
  1387. If Not TodosCalERiesgo Then
  1388. For Each Item In Col_CalERiesgo
  1389. Dim NombreItem As String = Item.ToString.Trim
  1390. Dim ConsultaExtra As String = " " + OperadorLogico + " CodECalRi like '%" + NombreItem + "%'"
  1391. sql += ConsultaExtra
  1392. OperadorLogico = " Or"
  1393. Fin = ")"
  1394. Next
  1395. If Not String.IsNullOrEmpty(Fin) Then
  1396. sql += Fin
  1397. End If
  1398. Fin = String.Empty
  1399. OperadorLogico = " And ("
  1400. End If
  1401. If Not TodosAut Then
  1402. For Each Item In Col_Aut
  1403. Dim NombreItem As String = Item.ToString.Trim
  1404. Dim ConsultaExtra As String = " " + OperadorLogico + " AutEstado like '%" + NombreItem + "%'"
  1405. sql += ConsultaExtra
  1406. OperadorLogico = " Or"
  1407. Fin = ")"
  1408. Next
  1409. If Not String.IsNullOrEmpty(Fin) Then
  1410. sql += Fin
  1411. End If
  1412. Fin = String.Empty
  1413. OperadorLogico = " And ("
  1414. End If
  1415. If Not TodosPlazo Then
  1416. For Each Item In Col_Plazo
  1417. Dim NombreItem As String = Item.ToString.Trim
  1418. Dim ConsultaExtra As String = " " + OperadorLogico + " PlazoFact like '%" + NombreItem + "%'"
  1419. sql += ConsultaExtra
  1420. OperadorLogico = " Or"
  1421. Fin = ")"
  1422. Next
  1423. If Not String.IsNullOrEmpty(Fin) Then
  1424. sql += Fin
  1425. End If
  1426. Fin = String.Empty
  1427. OperadorLogico = " And ("
  1428. End If
  1429. If Not TodosPais Then
  1430. For Each Item In Col_Pais
  1431. Dim NombreItem As String = Item.ToString.Trim
  1432. Dim ConsultaExtra As String = " " + OperadorLogico + " CodPais like '%" + NombreItem + "%'"
  1433. sql += ConsultaExtra
  1434. OperadorLogico = " Or"
  1435. Fin = ")"
  1436. Next
  1437. If Not String.IsNullOrEmpty(Fin) Then
  1438. sql += Fin
  1439. End If
  1440. Fin = String.Empty
  1441. OperadorLogico = " And ("
  1442. End If
  1443. If Not TodosTipMercado Then
  1444. For Each Item In Col_TipMercado
  1445. Dim NombreItem As String = Item.ToString.Trim
  1446. Dim ConsultaExtra As String = " " + OperadorLogico + " TipoMerc like '%" + NombreItem + "%'"
  1447. sql += ConsultaExtra
  1448. OperadorLogico = " Or"
  1449. Fin = ")"
  1450. Next
  1451. If Not String.IsNullOrEmpty(Fin) Then
  1452. sql += Fin
  1453. End If
  1454. Fin = String.Empty
  1455. End If
  1456. If cn Is Nothing Then
  1457. cn = objCon.Conectar
  1458. End If
  1459. If cn.State = ConnectionState.Open Then
  1460. cn.Close()
  1461. cn.Dispose()
  1462. cn = objCon.Conectar
  1463. cn.Open()
  1464. Else
  1465. cn = objCon.Conectar
  1466. cn.Open()
  1467. End If
  1468. da = New SqlDataAdapter(sql, cn)
  1469. da.SelectCommand.CommandType = CommandType.Text
  1470. da.Fill(ds, "Resultado")
  1471. cn.Close()
  1472. Return ds
  1473. End Function
  1474. Public Function CargarRegistro(ByVal IdRegistro As Integer) As InversionesCE
  1475. Dim objCon As New Conexion
  1476. Dim cn As SqlConnection = objCon.Conectar
  1477. Dim oInversion As InversionesCE
  1478. Dim sql As String
  1479. Dim cmd As SqlCommand
  1480. Dim dr As SqlDataReader
  1481. sql = "SELECT * FROM [dbo].[INV0] WHERE [DocId]=@DocId"
  1482. If cn Is Nothing Then
  1483. cn = objCon.Conectar
  1484. End If
  1485. If cn.State = ConnectionState.Open Then
  1486. cn.Close()
  1487. cn.Dispose()
  1488. cn = objCon.Conectar
  1489. cn.Open()
  1490. Else
  1491. cn = objCon.Conectar
  1492. cn.Open()
  1493. End If
  1494. cmd = New SqlCommand(sql, cn)
  1495. cmd.Parameters.Add("@DocId", SqlDbType.Int).Value = IdRegistro
  1496. dr = cmd.ExecuteReader
  1497. If dr.HasRows Then
  1498. oInversion = New InversionesCE
  1499. While dr.Read
  1500. oInversion.CodigoEmpresa = dr.Item("CodEmpr").ToString
  1501. oInversion.CodigoInstrumentoFinanciero = dr.Item("CodIF").ToString
  1502. If (String.IsNullOrEmpty(dr.Item("CodEmis").ToString)) Then
  1503. oInversion.CodigoEmisor = -1
  1504. Else
  1505. oInversion.CodigoEmisor = dr.Item("CodEmis").ToString
  1506. End If
  1507. oInversion.CodigoCalificacionDeRiesgo = dr.Item("CodCalRi").ToString
  1508. oInversion.CodigoEmpresaCalificadora = dr.Item("CodECalRi").ToString
  1509. oInversion.Pais = dr.Item("CodPais").ToString
  1510. oInversion.TipoMercado = dr.Item("TipoMerc").ToString
  1511. oInversion.CodigoIversion = dr.Item("CodInv").ToString
  1512. oInversion.EstadoDocumento = dr.Item("DocEst").ToString
  1513. oInversion.NombreManual = dr.Item("NombreManIF").ToString
  1514. oInversion.CodigoManual = dr.Item("CodManIF").ToString
  1515. oInversion.Periodicidad = dr.Item("Periodicidad").ToString
  1516. oInversion.TipoTasa = dr.Item("TipTasa").ToString
  1517. oInversion.TipoRenta = dr.Item("TipRenta").ToString
  1518. If String.IsNullOrEmpty(dr.Item("Plazo").ToString) Then
  1519. oInversion.PlazoNumero = 0
  1520. Else
  1521. oInversion.PlazoNumero = dr.Item("Plazo")
  1522. End If
  1523. oInversion.PlazoFactor = dr.Item("PlazoFact").ToString
  1524. oInversion.Comentarios = dr.Item("Coment").ToString
  1525. oInversion.TipoOperacion = dr.Item("TipoOper").ToString
  1526. oInversion.OFondo = dr.Item("OFon").ToString
  1527. oInversion.EstadoProceso = dr.Item("EstadoProceso").ToString
  1528. oInversion.FechaDocumento = Operaciones.ConvertirFecha(dr.Item("FechaDoc").ToString)
  1529. End While
  1530. dr.Close()
  1531. cmd.Dispose()
  1532. oInversion.TipoInstrumentoFinanciero = Me.ObtenerTipoInstrumentoFinanciero(oInversion.CodigoInstrumentoFinanciero)
  1533. Else
  1534. End If
  1535. cn.Close()
  1536. Return oInversion
  1537. End Function
  1538. End Class