InversionDAO.vb 71 KB

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