InversionDAO.vb 71 KB

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