DAOPropuestaInversion.vb 47 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499
  1. Imports System.Data.SqlClient
  2. Public Class DAOPropuestaInversion
  3. Dim CambiarEstArbCE As New CambiarEstArbCE
  4. Dim da As SqlDataAdapter
  5. Dim Operaciones As New Operaciones
  6. Function ExisteInstrumento(ByVal CodigoInversion As String)
  7. Dim objCon As New Conexion
  8. Dim valor As Double = 0
  9. Dim cn As SqlClient.SqlConnection = objCon.Conectar
  10. If cn.State = ConnectionState.Closed Then
  11. cn.Open()
  12. End If
  13. Dim sql = "[dbo].[SP_ExisteTitulo]"
  14. Dim cmd As New SqlClient.SqlCommand(sql, cn)
  15. cmd.CommandType = CommandType.StoredProcedure
  16. cmd.Parameters.Add("@CodigoInversion", SqlDbType.VarChar).Value = CodigoInversion
  17. valor = Operaciones.ConvertirDecimal(cmd.ExecuteScalar)
  18. cmd.Dispose()
  19. cn.Dispose()
  20. If valor = 0 Then
  21. Return False
  22. Else
  23. Return True
  24. End If
  25. End Function
  26. Public Function ListaPropuestasInversion() As DataSet
  27. Dim objCon As New Conexion
  28. Dim ds As New DataSet
  29. Dim cn As SqlConnection = objCon.Conectar
  30. If cn.State = ConnectionState.Closed Then
  31. cn.Open()
  32. End If
  33. da = New SqlDataAdapter("SP_PROPIN_SELECT", cn)
  34. da.Fill(ds, "PropuestasDeInversion")
  35. Return ds
  36. ds.Dispose()
  37. da.Dispose()
  38. cn.Dispose()
  39. End Function
  40. Public Function BuscarPropuestasInversion(ByVal ObjPropuesta As CEPropuestaInversion) As DataSet
  41. Dim objCon As New Conexion
  42. Dim ds As New DataSet
  43. Dim cn As SqlConnection = objCon.Conectar
  44. If cn.State = ConnectionState.Closed Then
  45. cn.Open()
  46. End If
  47. da = New SqlDataAdapter("SP_PROPIN_BUSQUEDA", cn)
  48. da.SelectCommand.CommandType = CommandType.StoredProcedure
  49. With da.SelectCommand.Parameters
  50. .Add("@CodigoPropuesta", SqlDbType.VarChar).Value = ObjPropuesta.CodigoInversion
  51. .Add("@Asunto", SqlDbType.VarChar).Value = ObjPropuesta.Asunto
  52. .Add("@Empresa", SqlDbType.VarChar).Value = ObjPropuesta.CodigoEmpresa
  53. .Add("@InstrumentoFinanciero", SqlDbType.VarChar).Value = ObjPropuesta.CodigoInstrumentoFinanciero
  54. .Add("@Emisor", SqlDbType.Int).Value = CInt(ObjPropuesta.CodigoEmisor)
  55. .Add("@CalificacionDeRiesgo", SqlDbType.VarChar).Value = ObjPropuesta.CodigoCalificacionDeRiesgo
  56. .Add("@CalificadoraDeRiesgo", SqlDbType.VarChar).Value = ObjPropuesta.CodigoEmpresaCalificadora
  57. .Add("@EstadoDocumento", SqlDbType.VarChar).Value = ObjPropuesta.EstadoDocumento
  58. .Add("@CodPais", SqlDbType.VarChar).Value = ObjPropuesta.Pais
  59. .Add("@TipoMerc", SqlDbType.VarChar).Value = ObjPropuesta.TipoMercado
  60. .Add("@Plazo", SqlDbType.Int).Value = ObjPropuesta.PlazoNumero
  61. .Add("@PlazoFact", SqlDbType.VarChar).Value = ObjPropuesta.PlazoFactor
  62. .Add("@MontoInv", SqlDbType.Float).Value = ObjPropuesta.MontoInversion
  63. .Add("@Precio", SqlDbType.Float).Value = ObjPropuesta.Precio
  64. .Add("@Rendimiento", SqlDbType.Float).Value = ObjPropuesta.Rendimiento
  65. .Add("@Ingresos", SqlDbType.Float).Value = ObjPropuesta.Ingresos
  66. .Add("@OFon", SqlDbType.VarChar).Value = ObjPropuesta.OrigenDeFondos
  67. .Add("@TipoOper", SqlDbType.VarChar).Value = ObjPropuesta.TipoOperacion
  68. .Add("@AutEstado", SqlDbType.VarChar).Value = ObjPropuesta.EstadoAutorizacion
  69. End With
  70. da.Fill(ds, "Resultado")
  71. Return ds
  72. End Function
  73. Public Function BuscarPropuestasCodigo(ByVal DiccionarioColecciones As Dictionary(Of String, Collection)) As DataSet
  74. Dim objCon As New Conexion
  75. Dim ds As New DataSet
  76. Dim cn = objCon.Conectar
  77. Dim Col_Empresas As New Collection
  78. Dim Col_Emisor As New Collection
  79. Dim Col_EstDocumento As New Collection
  80. Dim Col_Instrumento As New Collection
  81. Dim Col_CalRiesgo As New Collection
  82. Dim Col_TipOperacion As New Collection
  83. Dim Col_OriFond As New Collection
  84. Dim Col_CalERiesgo As New Collection
  85. Dim Col_Aut As New Collection
  86. Dim Col_Plazo As New Collection
  87. Dim Col_Pais As New Collection
  88. Dim Col_TipMercado As New Collection
  89. For Each Item In DiccionarioColecciones
  90. If Item.Key = "Empresa" Then
  91. Col_Empresas = Item.Value
  92. ElseIf Item.Key = "Emisor" Then
  93. Col_Emisor = Item.Value
  94. ElseIf Item.Key = "EstDocumento" Then
  95. Col_EstDocumento = Item.Value
  96. ElseIf Item.Key = "Instrumento" Then
  97. Col_Instrumento = Item.Value
  98. ElseIf Item.Key = "CalRiesgo" Then
  99. Col_CalRiesgo = Item.Value
  100. ElseIf Item.Key = "TipOperacion" Then
  101. Col_TipOperacion = Item.Value
  102. ElseIf Item.Key = "OriFond" Then
  103. Col_OriFond = Item.Value
  104. ElseIf Item.Key = "CalERiesgo" Then
  105. Col_CalERiesgo = Item.Value
  106. ElseIf Item.Key = "Aut" Then
  107. Col_Aut = Item.Value
  108. ElseIf Item.Key = "Plazo" Then
  109. Col_Plazo = Item.Value
  110. ElseIf Item.Key = "Pais" Then
  111. Col_Pais = Item.Value
  112. ElseIf Item.Key = "TipMercado" Then
  113. Col_TipMercado = Item.Value
  114. End If
  115. Next
  116. Dim sql As String = "select
  117. CAST(DocId as varchar) as 'Id'
  118. ,CAST(CodInv as varchar) as 'Código de Propuesta'
  119. ,CAST(DocEst as varchar) as 'Estado'
  120. ,CAST(Asunto as varchar) as 'Asunto'
  121. ,CAST(CodEmpr as varchar) as 'Empresa'
  122. ,CAST(CodIF as varchar) as 'Instrumento Financiero'
  123. ,CAST(CodEmis as varchar) as 'Emisor'
  124. ,CAST(CodCalRi as varchar) as 'Calificación de Riesgo'
  125. ,CAST(CodECalRi as varchar) as 'Empresa Calificadora'
  126. ,CAST(OFon as varchar) as 'Origen de Fondos'
  127. ,CAST(Coment as varchar) as 'Comentarios'
  128. ,CAST(Just as varchar) as 'Justificaciones'
  129. ,CAST(TipoOper as varchar) as 'Tipo de Operacion'
  130. ,CAST(DocBase as varchar) as 'Base de Calculo'
  131. ,CAST(MontoInv as varchar) as 'Monto de Inversion'
  132. ,CAST(Precio as varchar) as 'Precio'
  133. ,CAST(Rendimiento as varchar) as 'Rendimiento'
  134. ,CAST(Plazo as varchar) as 'Cantidad en Plazo'
  135. ,CAST(PlazoFact as varchar) as 'Tipo de Plazo'
  136. ,CAST(Ingresos as varchar) as 'Ingresos'
  137. ,CAST(FechaDoc as varchar) as 'Fecha de Creación'
  138. ,CAST(AutEstado as varchar) as 'Estado de Autorización'
  139. ,CAST(TipoMerc as varchar) as 'Tipo de Mercado'
  140. ,CAST(CodPais as varchar) as 'Pais'
  141. from PIN0 where 1=1
  142. "
  143. Dim TodosEmpresas As Boolean = False
  144. Dim TodosEmisor As Boolean = False
  145. Dim TodosEstDocumento As Boolean = False
  146. Dim TodosInstrumento As Boolean = False
  147. Dim TodosCalRiesgo As Boolean = False
  148. Dim TodosTipOperacion As Boolean = False
  149. Dim TodosOriFond As Boolean = False
  150. Dim TodosCalERiesgo As Boolean = False
  151. Dim TodosAut As Boolean = False
  152. Dim TodosPlazo As Boolean = False
  153. Dim TodosPais As Boolean = False
  154. Dim TodosTipMercado As Boolean = False
  155. For Each Item In Col_Empresas
  156. If Not Item.IndexOf("Todos") = -1 Then
  157. TodosEmpresas = True
  158. End If
  159. Next
  160. For Each Item In Col_Emisor
  161. If Not Item.IndexOf("Todos") = -1 Then
  162. TodosEmisor = True
  163. End If
  164. Next
  165. For Each Item In Col_EstDocumento
  166. If Not Item.IndexOf("Todos") = -1 Then
  167. TodosEstDocumento = True
  168. End If
  169. Next
  170. For Each Item In Col_Instrumento
  171. If Not Item.IndexOf("Todos") = -1 Then
  172. TodosInstrumento = True
  173. End If
  174. Next
  175. For Each Item In Col_CalRiesgo
  176. If Not Item.IndexOf("Todos") = -1 Then
  177. TodosCalRiesgo = True
  178. End If
  179. Next
  180. For Each Item In Col_TipOperacion
  181. If Not Item.IndexOf("Todos") = -1 Then
  182. TodosTipOperacion = True
  183. End If
  184. Next
  185. For Each Item In Col_OriFond
  186. If Not Item.IndexOf("Todos") = -1 Then
  187. TodosOriFond = True
  188. End If
  189. Next
  190. For Each Item In Col_CalERiesgo
  191. If Not Item.IndexOf("Todos") = -1 Then
  192. TodosCalERiesgo = True
  193. End If
  194. Next
  195. For Each Item In Col_Aut
  196. TodosAut = True
  197. Next
  198. For Each Item In Col_Plazo
  199. If Not Item.IndexOf("Todos") = -1 Then
  200. TodosPlazo = True
  201. End If
  202. Next
  203. For Each Item In Col_Pais
  204. If Not Item.IndexOf("Todos") = -1 Then
  205. TodosPais = True
  206. End If
  207. Next
  208. For Each Item In Col_TipMercado
  209. If Not Item.IndexOf("Todos") = -1 Then
  210. TodosTipMercado = True
  211. End If
  212. Next
  213. Dim OperadorLogico As String = String.Empty
  214. OperadorLogico = " And ("
  215. Dim Fin As String = String.Empty
  216. If Not TodosEmpresas Then
  217. For Each Item In Col_Empresas
  218. Dim Cadena As String = Col_Empresas.ToString
  219. Dim NombreItem As String = Item.ToString.Trim
  220. Dim ConsultaExtra As String = "" + OperadorLogico + " CodEmpr like '%" + NombreItem + "%'"
  221. sql += ConsultaExtra
  222. OperadorLogico = " Or"
  223. Fin = ")"
  224. Next
  225. If Not String.IsNullOrEmpty(Fin) Then
  226. sql += Fin
  227. End If
  228. Fin = String.Empty
  229. OperadorLogico = " And ("
  230. End If
  231. If Not TodosEmisor Then
  232. For Each Item In Col_Emisor
  233. Dim NombreItem As String = Item.ToString.Trim
  234. Dim ConsultaExtra As String = " " + OperadorLogico + " CodEmis like '%" + NombreItem + "%'"
  235. sql += ConsultaExtra
  236. OperadorLogico = " Or"
  237. Fin = ")"
  238. Next
  239. If Not String.IsNullOrEmpty(Fin) Then
  240. sql += Fin
  241. End If
  242. Fin = String.Empty
  243. OperadorLogico = " And ("
  244. End If
  245. If Not TodosEstDocumento Then
  246. For Each Item In Col_EstDocumento
  247. Dim NombreItem As String = Item.ToString.Trim
  248. Dim ConsultaExtra As String = " " + OperadorLogico + " DocEst like '%" + NombreItem + "%'"
  249. sql += ConsultaExtra
  250. OperadorLogico = " Or"
  251. Fin = ")"
  252. Next
  253. If Not String.IsNullOrEmpty(Fin) Then
  254. sql += Fin
  255. End If
  256. Fin = String.Empty
  257. OperadorLogico = " And ("
  258. End If
  259. If Not TodosInstrumento Then
  260. For Each Item In Col_Instrumento
  261. Dim NombreItem As String = Item.ToString.Trim
  262. Dim ConsultaExtra As String = " " + OperadorLogico + " CodIF like '%" + NombreItem + "%'"
  263. sql += ConsultaExtra
  264. OperadorLogico = " Or"
  265. Fin = ")"
  266. Next
  267. If Not String.IsNullOrEmpty(Fin) Then
  268. sql += Fin
  269. End If
  270. Fin = String.Empty
  271. OperadorLogico = " And ("
  272. End If
  273. If Not TodosCalRiesgo Then
  274. For Each Item In Col_CalRiesgo
  275. Dim NombreItem As String = Item.ToString.Trim
  276. Dim ConsultaExtra As String = " " + OperadorLogico + " CodCalRi like '%" + NombreItem + "%'"
  277. sql += ConsultaExtra
  278. OperadorLogico = " Or"
  279. Fin = ")"
  280. Next
  281. If Not String.IsNullOrEmpty(Fin) Then
  282. sql += Fin
  283. End If
  284. Fin = String.Empty
  285. OperadorLogico = " And ("
  286. End If
  287. If Not TodosTipOperacion Then
  288. For Each Item In Col_TipOperacion
  289. Dim NombreItem As String = Item.ToString.Trim
  290. Dim ConsultaExtra As String = "" + OperadorLogico + " TipoOper like '%" + NombreItem + "%'"
  291. sql += ConsultaExtra
  292. OperadorLogico = " Or"
  293. Fin = ")"
  294. Next
  295. If Not String.IsNullOrEmpty(Fin) Then
  296. sql += Fin
  297. End If
  298. Fin = String.Empty
  299. OperadorLogico = " And ("
  300. End If
  301. If Not TodosOriFond Then
  302. For Each Item In Col_OriFond
  303. Dim NombreItem As String = Item.ToString.Trim
  304. Dim ConsultaExtra As String = " " + OperadorLogico + " OFon like '%" + NombreItem + "%'"
  305. sql += ConsultaExtra
  306. OperadorLogico = " Or"
  307. Fin = ")"
  308. Next
  309. If Not String.IsNullOrEmpty(Fin) Then
  310. sql += Fin
  311. End If
  312. Fin = String.Empty
  313. OperadorLogico = " And ("
  314. End If
  315. If Not TodosCalERiesgo Then
  316. For Each Item In Col_CalERiesgo
  317. Dim NombreItem As String = Item.ToString.Trim
  318. Dim ConsultaExtra As String = " " + OperadorLogico + " CodECalRi like '%" + NombreItem + "%'"
  319. sql += ConsultaExtra
  320. OperadorLogico = " Or"
  321. Fin = ")"
  322. Next
  323. If Not String.IsNullOrEmpty(Fin) Then
  324. sql += Fin
  325. End If
  326. Fin = String.Empty
  327. OperadorLogico = " And ("
  328. End If
  329. If Not TodosAut Then
  330. For Each Item In Col_Aut
  331. Dim NombreItem As String = Item.ToString.Trim
  332. Dim ConsultaExtra As String = " " + OperadorLogico + " AutEstado like '%" + NombreItem + "%'"
  333. sql += ConsultaExtra
  334. OperadorLogico = " Or"
  335. Fin = ")"
  336. Next
  337. If Not String.IsNullOrEmpty(Fin) Then
  338. sql += Fin
  339. End If
  340. Fin = String.Empty
  341. OperadorLogico = " And ("
  342. End If
  343. If Not TodosPlazo Then
  344. For Each Item In Col_Plazo
  345. Dim NombreItem As String = Item.ToString.Trim
  346. Dim ConsultaExtra As String = " " + OperadorLogico + " PlazoFact like '%" + NombreItem + "%'"
  347. sql += ConsultaExtra
  348. OperadorLogico = " Or"
  349. Fin = ")"
  350. Next
  351. If Not String.IsNullOrEmpty(Fin) Then
  352. sql += Fin
  353. End If
  354. Fin = String.Empty
  355. OperadorLogico = " And ("
  356. End If
  357. If Not TodosPais Then
  358. For Each Item In Col_Pais
  359. Dim NombreItem As String = Item.ToString.Trim
  360. Dim ConsultaExtra As String = " " + OperadorLogico + " CodPais like '%" + NombreItem + "%'"
  361. sql += ConsultaExtra
  362. OperadorLogico = " Or"
  363. Fin = ")"
  364. Next
  365. If Not String.IsNullOrEmpty(Fin) Then
  366. sql += Fin
  367. End If
  368. Fin = String.Empty
  369. OperadorLogico = " And ("
  370. End If
  371. If Not TodosTipMercado Then
  372. For Each Item In Col_TipMercado
  373. Dim NombreItem As String = Item.ToString.Trim
  374. Dim ConsultaExtra As String = " " + OperadorLogico + " TipoMerc like '%" + NombreItem + "%'"
  375. sql += ConsultaExtra
  376. OperadorLogico = " Or"
  377. Fin = ")"
  378. Next
  379. If Not String.IsNullOrEmpty(Fin) Then
  380. sql += Fin
  381. End If
  382. Fin = String.Empty
  383. End If
  384. If cn Is Nothing Then
  385. cn = objCon.Conectar
  386. End If
  387. If cn.State = ConnectionState.Open Then
  388. cn.Close()
  389. cn.Dispose()
  390. cn = objCon.Conectar
  391. cn.Open()
  392. Else
  393. cn = objCon.Conectar
  394. cn.Open()
  395. End If
  396. da = New SqlDataAdapter(sql, cn)
  397. da.SelectCommand.CommandType = CommandType.Text
  398. da.Fill(ds, "Resultado")
  399. Return ds
  400. End Function
  401. Public Function ListaEstadoDocumento() As DataSet
  402. Dim objCon As New Conexion
  403. Dim ds As New DataSet
  404. Dim cn As SqlConnection = objCon.Conectar
  405. If cn.State = ConnectionState.Closed Then
  406. cn.Open()
  407. End If
  408. da = New SqlDataAdapter("SP_ListaEstadoDocumento", cn)
  409. da.Fill(ds, "EstadosDocumento")
  410. da.Dispose()
  411. cn.Dispose()
  412. Return ds
  413. End Function
  414. Public Function NuevaPropuesta(ByVal ObjPropuesta As CEPropuestaInversion, ByVal CodigoAsociado As String, ByVal EstadoReporto As String, ByVal CodigoReporto As String, ByVal IdFlujo As Integer, ByVal IdECT As Integer)
  415. Dim objCon As New Conexion
  416. Dim Transaccion As SqlTransaction
  417. Dim query As String
  418. Dim Retornar As Boolean
  419. Dim cn As SqlConnection = objCon.Conectar
  420. If cn.State = ConnectionState.Closed Then
  421. cn.Open()
  422. End If
  423. If String.IsNullOrEmpty(CodigoAsociado) Then
  424. CodigoAsociado = String.Empty
  425. End If
  426. Dim Retorno As Integer
  427. Dim NuevoDocId As Integer
  428. Dim cmd As SqlCommand = cn.CreateCommand
  429. Transaccion = cn.BeginTransaction("NuevaPropuesta")
  430. cmd.Connection = cn
  431. cmd.Transaction = Transaccion
  432. 'TRAE ULTIMO DOCID
  433. cmd.CommandText = "SELECT ISNULL(MAX(DocId),0) FROM [dbo].[PIN0]"
  434. NuevoDocId = cmd.ExecuteScalar()
  435. NuevoDocId = NuevoDocId + 1
  436. query = "INSERT INTO [dbo].[PIN0]
  437. ([CodInv]
  438. ,[DocEst]
  439. ,[Asunto]
  440. ,[CodEmpr]
  441. ,[CodIF]
  442. ,[CodEmis]
  443. ,[CodCalRi]
  444. ,[CodECalRi]
  445. ,[OFon]
  446. ,[Coment]
  447. ,[Just]
  448. ,[TipoOper]
  449. ,[MontoInv]
  450. ,[Precio]
  451. ,[Rendimiento]
  452. ,[Plazo]
  453. ,[PlazoFact]
  454. ,[Ingresos]
  455. ,[FechaDoc]
  456. ,[AutEstado]
  457. ,[TipoMerc]
  458. ,[CodPais]
  459. ,[TipoRenta]
  460. ,[TipoTasa]
  461. ,[Periodicidad]
  462. ,[NombreManual]
  463. ,[CodigoAsociado]
  464. ,[EstadoReporto]
  465. )
  466. VALUES
  467. (@CodInv
  468. ,@DocEst
  469. ,@Asunto
  470. ,@CodEmpr
  471. ,@CodIF
  472. ,@CodEmis
  473. ,@CodCalRi
  474. ,@CodECalRi
  475. ,@OFon
  476. ,@Coment
  477. ,@Just
  478. ,@TipoOper
  479. ,@MontoInv
  480. ,@Precio
  481. ,@Rendimiento
  482. ,@Plazo
  483. ,@PlazoFact
  484. ,@Ingresos
  485. ,@FechaDoc
  486. ,@AutEstado
  487. ,@TipoMerc
  488. ,@CodPais
  489. ,@TipoRenta
  490. ,@TipoTasa
  491. ,@Periodicidad
  492. ,@NombreManual
  493. ,@CodigoAsociado
  494. ,@EstadoReporto
  495. )"
  496. cmd.CommandText = query
  497. With cmd.Parameters
  498. .Add("@CodInv", SqlDbType.VarChar).Value = ObjPropuesta.CodigoInversion.ToString
  499. .Add("@DocEst", SqlDbType.VarChar).Value = ObjPropuesta.EstadoDocumento.ToString
  500. .Add("@Asunto", SqlDbType.VarChar).Value = ObjPropuesta.Asunto.ToString
  501. .Add("@CodEmpr", SqlDbType.VarChar).Value = ObjPropuesta.CodigoEmpresa.ToString
  502. .Add("@CodIF", SqlDbType.VarChar).Value = ObjPropuesta.CodigoInstrumentoFinanciero.ToString
  503. .Add("@CodEmis", SqlDbType.Int).Value = ObjPropuesta.CodigoEmisor.ToString
  504. .Add("@CodCalRi", SqlDbType.VarChar).Value = ObjPropuesta.CodigoCalificacionDeRiesgo.ToString
  505. .Add("@CodECalRi", SqlDbType.VarChar).Value = ObjPropuesta.CodigoEmpresaCalificadora.ToString
  506. .Add("@OFon", SqlDbType.VarChar).Value = ObjPropuesta.OrigenDeFondos.ToString
  507. .Add("@Coment", SqlDbType.VarChar).Value = ObjPropuesta.Comentarios.ToString
  508. .Add("@Just", SqlDbType.VarChar).Value = ObjPropuesta.Justificacion.ToString
  509. .Add("@TipoOper", SqlDbType.VarChar).Value = ObjPropuesta.TipoOperacion.ToString
  510. .Add("@MontoInv", SqlDbType.Float).Value = 0
  511. .Add("@Precio", SqlDbType.Float).Value = 0
  512. .Add("@Rendimiento", SqlDbType.Float).Value = 0
  513. .Add("@Plazo", SqlDbType.Int).Value = 0
  514. .Add("@PlazoFact", SqlDbType.VarChar).Value = 0
  515. .Add("@Ingresos", SqlDbType.Float).Value = 0
  516. .Add("@FechaDoc", SqlDbType.Date).Value = ObjPropuesta.FechaDocumento.ToString
  517. .Add("@AutEstado", SqlDbType.VarChar).Value = ObjPropuesta.EstadoAutorizacion.ToString
  518. .Add("@TipoMerc", SqlDbType.VarChar).Value = ObjPropuesta.TipoMercado.ToString
  519. .Add("@CodPais", SqlDbType.VarChar).Value = ObjPropuesta.Pais.ToString
  520. .Add("@TipoRenta", SqlDbType.VarChar).Value = ObjPropuesta.TipoRenta.ToString
  521. .Add("@TipoTasa", SqlDbType.VarChar).Value = ObjPropuesta.TipoTasa.ToString
  522. .Add("@Periodicidad", SqlDbType.VarChar).Value = ObjPropuesta.Periodicidad.ToString
  523. .Add("@NombreManual", SqlDbType.VarChar).Value = ObjPropuesta.NombreManual.ToString
  524. .Add("@CodigoAsociado", SqlDbType.VarChar).Value = CodigoAsociado.ToString
  525. .Add("@EstadoReporto", SqlDbType.VarChar).Value = EstadoReporto.ToString
  526. End With
  527. cmd.CommandText = query
  528. cmd.Transaction = Transaccion
  529. Retorno = cmd.ExecuteNonQuery
  530. ''Ingresar codigo
  531. '#####################################################################'
  532. cmd = New SqlCommand
  533. query = " INSERT INTO TitEspApro(
  534. [CodigoAsociado]
  535. ,[CodigoReporto]
  536. ,[CodigoNuevoTitulo]
  537. ,[CodigoEstado]
  538. ,[Nombre]
  539. ,[Descrip]
  540. ,[IdFlujo]
  541. ,[IdECT]
  542. ) VALUES(
  543. @CodigoAsociado
  544. ,@CodigoReporto
  545. ,@CodigoNuevoTitulo
  546. ,@CodigoEstado
  547. ,@Nombre
  548. ,@Descrip
  549. ,@IdFlujo
  550. ,@IdECT
  551. )"
  552. cmd.CommandText = query
  553. With cmd.Parameters
  554. .Add("@CodigoAsociado", SqlDbType.VarChar).Value = CodigoAsociado.ToString
  555. .Add("@CodigoReporto", SqlDbType.VarChar).Value = CodigoReporto
  556. .Add("@CodigoNuevoTitulo", SqlDbType.VarChar).Value = ObjPropuesta.CodigoInversion.ToString
  557. .Add("@CodigoEstado", SqlDbType.VarChar).Value = "TG"
  558. .Add("@Nombre", SqlDbType.VarChar).Value = "Titulo Generado"
  559. .Add("@Descrip", SqlDbType.VarChar).Value = "Titulo Generado Esperando Aprobación"
  560. .Add("@IdFlujo", SqlDbType.Int).Value = IdFlujo
  561. .Add("@IdECT", SqlDbType.Int).Value = IdECT
  562. End With
  563. cmd.Connection = cn
  564. cmd.Transaction = Transaccion
  565. Retorno = cmd.ExecuteNonQuery
  566. query = "INSERT INTO [dbo].[Propuesta]
  567. ([CodigoPropuesta]
  568. ,[Nombre]
  569. ,[Descrip]
  570. ,[Estado]
  571. )
  572. VALUES
  573. (@CodigoPropuesta
  574. ,@Nombre
  575. ,@Descrip
  576. ,@Estado
  577. )"
  578. cmd = New SqlCommand
  579. cmd.CommandText = query
  580. cmd.Connection = cn
  581. With cmd.Parameters
  582. .Add("@CodigoPropuesta", SqlDbType.VarChar).Value = ObjPropuesta.CodigoInversion.ToString
  583. .Add("@Nombre", SqlDbType.VarChar).Value = "ProCre"
  584. .Add("@Descrip", SqlDbType.VarChar).Value = "Propuesta de Inversion Inicial Creada"
  585. .Add("@Estado", SqlDbType.VarChar).Value = "En Propuesta"
  586. End With
  587. cmd.Transaction = Transaccion
  588. Retorno = cmd.ExecuteNonQuery
  589. Try
  590. Transaccion.Commit()
  591. MsgBox("Registro Guardado")
  592. Retornar = True
  593. frmColaTitulos.Inicializacion()
  594. Catch ex As Exception
  595. MsgBox("Error en Transaccion: " & ex.GetType.ToString)
  596. MsgBox("Mensaje: " & ex.Message)
  597. Try
  598. Transaccion.Rollback()
  599. Catch ex2 As Exception
  600. MsgBox("Error en Rollback: " & ex.GetType.ToString)
  601. MsgBox("Mensaje Rollbak: " & ex.Message)
  602. End Try
  603. Retornar = False
  604. End Try
  605. cmd.Dispose()
  606. da.Dispose()
  607. cn.Dispose()
  608. Return Retornar
  609. End Function
  610. Public Function NuevaPropuesta(ByVal ObjPropuesta As CEPropuestaInversion, ByVal TipoProcesoCMVTA As String, ByVal CodigoInversionCMVTA As String)
  611. Dim objCon As New Conexion
  612. Dim query As String
  613. Dim Retornar As Boolean
  614. Dim cn As SqlConnection = objCon.Conectar
  615. If cn.State = ConnectionState.Closed Then
  616. cn.Open()
  617. End If
  618. Dim myTrans As SqlTransaction
  619. myTrans = cn.BeginTransaction()
  620. Dim Retorno As Integer
  621. Dim cmd As SqlCommand = cn.CreateCommand
  622. 'TRAE ULTIMO DOCID
  623. 'cmd.CommandText = "SELECT ISNULL(MAX(DocId),0) FROM [dbo].[PIN0]"
  624. Try
  625. query = "INSERT INTO [dbo].[PIN0]
  626. ([CodInv]
  627. ,[DocEst]
  628. ,[Asunto]
  629. ,[CodEmpr]
  630. ,[CodIF]
  631. ,[CodEmis]
  632. ,[CodCalRi]
  633. ,[CodECalRi]
  634. ,[OFon]
  635. ,[Coment]
  636. ,[Just]
  637. ,[TipoOper]
  638. ,[MontoInv]
  639. ,[Precio]
  640. ,[Rendimiento]
  641. ,[Plazo]
  642. ,[PlazoFact]
  643. ,[Ingresos]
  644. ,[FechaDoc]
  645. ,[AutEstado]
  646. ,[TipoMerc]
  647. ,[CodPais]
  648. ,[TipoRenta]
  649. ,[TipoTasa]
  650. ,[Periodicidad]
  651. ,[NombreManual]
  652. ,[EstadoReporto]
  653. )
  654. VALUES
  655. (@CodInv
  656. ,@DocEst
  657. ,@Asunto
  658. ,@CodEmpr
  659. ,@CodIF
  660. ,@CodEmis
  661. ,@CodCalRi
  662. ,@CodECalRi
  663. ,@OFon
  664. ,@Coment
  665. ,@Just
  666. ,@TipoOper
  667. ,@MontoInv
  668. ,@Precio
  669. ,@Rendimiento
  670. ,@Plazo
  671. ,@PlazoFact
  672. ,@Ingresos
  673. ,@FechaDoc
  674. ,@AutEstado
  675. ,@TipoMerc
  676. ,@CodPais
  677. ,@TipoRenta
  678. ,@TipoTasa
  679. ,@Periodicidad
  680. ,@NombreManual
  681. ,@EstadoReporto
  682. )"
  683. cmd = New SqlCommand
  684. cmd.CommandText = query
  685. cmd.Connection = cn
  686. cmd.Transaction = myTrans
  687. With cmd.Parameters
  688. .Add("@CodInv", SqlDbType.VarChar).Value = ObjPropuesta.CodigoInversion.ToString
  689. .Add("@DocEst", SqlDbType.VarChar).Value = ObjPropuesta.EstadoDocumento.ToString
  690. .Add("@Asunto", SqlDbType.VarChar).Value = ObjPropuesta.Asunto.ToString
  691. .Add("@CodEmpr", SqlDbType.VarChar).Value = ObjPropuesta.CodigoEmpresa.ToString
  692. .Add("@CodIF", SqlDbType.VarChar).Value = ObjPropuesta.CodigoInstrumentoFinanciero.ToString
  693. .Add("@CodEmis", SqlDbType.Int).Value = ObjPropuesta.CodigoEmisor.ToString
  694. .Add("@CodCalRi", SqlDbType.VarChar).Value = ObjPropuesta.CodigoCalificacionDeRiesgo.ToString
  695. .Add("@CodECalRi", SqlDbType.VarChar).Value = ObjPropuesta.CodigoEmpresaCalificadora.ToString
  696. .Add("@OFon", SqlDbType.VarChar).Value = ObjPropuesta.OrigenDeFondos.ToString
  697. .Add("@Coment", SqlDbType.VarChar).Value = ObjPropuesta.Comentarios.ToString
  698. .Add("@Just", SqlDbType.VarChar).Value = ObjPropuesta.Justificacion.ToString
  699. .Add("@TipoOper", SqlDbType.VarChar).Value = ObjPropuesta.TipoOperacion.ToString
  700. .Add("@MontoInv", SqlDbType.Float).Value = 0
  701. .Add("@Precio", SqlDbType.Float).Value = 0
  702. .Add("@Rendimiento", SqlDbType.Float).Value = 0
  703. .Add("@Plazo", SqlDbType.Int).Value = 0
  704. .Add("@PlazoFact", SqlDbType.VarChar).Value = 0
  705. .Add("@Ingresos", SqlDbType.Float).Value = 0
  706. .Add("@FechaDoc", SqlDbType.Date).Value = ObjPropuesta.FechaDocumento.ToString
  707. .Add("@AutEstado", SqlDbType.VarChar).Value = ObjPropuesta.EstadoAutorizacion.ToString
  708. .Add("@TipoMerc", SqlDbType.VarChar).Value = ObjPropuesta.TipoMercado.ToString
  709. .Add("@CodPais", SqlDbType.VarChar).Value = ObjPropuesta.Pais.ToString
  710. .Add("@TipoRenta", SqlDbType.VarChar).Value = ObjPropuesta.TipoRenta.ToString
  711. .Add("@TipoTasa", SqlDbType.VarChar).Value = ObjPropuesta.TipoTasa.ToString
  712. .Add("@Periodicidad", SqlDbType.VarChar).Value = ObjPropuesta.Periodicidad.ToString
  713. .Add("@NombreManual", SqlDbType.VarChar).Value = ObjPropuesta.NombreManual.ToString
  714. .Add("@EstadoReporto", SqlDbType.VarChar).Value = "PRIMARIO"
  715. End With
  716. cmd.CommandText = query
  717. Retorno = cmd.ExecuteNonQuery
  718. ''Ingresar codigo
  719. '#####################################################################'
  720. cmd = New SqlCommand
  721. query = "INSERT INTO [dbo].[Propuesta]
  722. ([CodigoPropuesta]
  723. ,[Nombre]
  724. ,[Descrip]
  725. ,[Estado]
  726. )
  727. VALUES
  728. (@CodigoPropuesta
  729. ,@Nombre
  730. ,@Descrip
  731. ,@Estado
  732. )"
  733. cmd.CommandText = query
  734. cmd.Connection = cn
  735. cmd.Transaction = myTrans
  736. With cmd.Parameters
  737. .Add("@CodigoPropuesta", SqlDbType.VarChar).Value = ObjPropuesta.CodigoInversion.ToString
  738. .Add("@Nombre", SqlDbType.VarChar).Value = "ProCre"
  739. .Add("@Descrip", SqlDbType.VarChar).Value = "Propuesta de Inversion Inicial Creada"
  740. .Add("@Estado", SqlDbType.VarChar).Value = "En Propuesta"
  741. End With
  742. Retornar = cmd.ExecuteNonQuery
  743. ''###############################################################
  744. ''###############################################################
  745. If TipoProcesoCMVTA = "V" Then
  746. cmd = New SqlCommand
  747. query = "INSERT INTO [dbo].[OPERCMVTA]
  748. ([FechaOperacion]
  749. ,[CodigoInversionCompra]
  750. ,[CodigoInversionVenta]
  751. ,[TipoFlujo]
  752. )
  753. VALUES
  754. (@FechaOperacion
  755. ,@CodigoInversionCompra
  756. ,@CodigoInversionVenta
  757. ,@TipoFlujo
  758. )"
  759. cmd.CommandText = query
  760. cmd.Connection = cn
  761. cmd.Transaction = myTrans
  762. With cmd.Parameters
  763. .Add("@FechaOperacion", SqlDbType.Date).Value = Date.Now.Date
  764. .Add("@CodigoInversionCompra", SqlDbType.VarChar).Value = CodigoInversionCMVTA
  765. .Add("@CodigoInversionVenta", SqlDbType.VarChar).Value = ObjPropuesta.CodigoInversion.ToString
  766. .Add("@TipoFlujo", SqlDbType.VarChar).Value = "C-V"
  767. End With
  768. Retornar = cmd.ExecuteNonQuery
  769. End If
  770. Try
  771. myTrans.Commit()
  772. MsgBox("Propuesta Guardada")
  773. Catch ex As Exception
  774. MsgBox("Error en Transaccion: " & ex.GetType.ToString)
  775. MsgBox("Mensaje: " & ex.Message)
  776. Try
  777. myTrans.Rollback()
  778. Catch ex2 As Exception
  779. MsgBox("Error en Rollback: " & ex.GetType.ToString)
  780. MsgBox("Mensaje Rollbak: " & ex.Message)
  781. End Try
  782. End Try
  783. Catch ex As Exception
  784. End Try
  785. cmd.Dispose()
  786. da.Dispose()
  787. cn.Dispose()
  788. Return Retornar
  789. End Function
  790. Public Function IdRegistro(CodigoInversion As String) As Integer
  791. Dim objCon As New Conexion
  792. Dim vRetorno As Integer
  793. Dim sql As String
  794. Dim cmd As SqlCommand = New SqlCommand
  795. Dim cn As SqlConnection = objCon.Conectar
  796. If cn.State = ConnectionState.Closed Then
  797. cn.Open()
  798. End If
  799. sql = "SELECT DocId from [dbo].[PIN0] WHERE CodInv=@CodInv "
  800. cmd.CommandText = sql
  801. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = CodigoInversion
  802. cmd.Connection = cn
  803. vRetorno = cmd.ExecuteScalar
  804. cn.Close()
  805. Return vRetorno
  806. End Function
  807. Public Function IdRegistroInversion(CodigoInversion As String) As Integer
  808. Dim objCon As New Conexion
  809. Dim vRetorno As Integer
  810. Dim sql As String
  811. Dim cmd As SqlCommand = New SqlCommand
  812. Dim cn As SqlConnection = objCon.Conectar
  813. If cn.State = ConnectionState.Closed Then
  814. cn.Open()
  815. End If
  816. sql = "SELECT DocId from [dbo].[INV0] WHERE CodInv=@CodInv "
  817. cmd.CommandText = sql
  818. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = CodigoInversion
  819. cmd.Connection = cn
  820. vRetorno = cmd.ExecuteScalar
  821. cn.Close()
  822. Return vRetorno
  823. End Function
  824. Public Function IdPropuesta(CodigoInversion As String) As Integer
  825. Dim objCon As New Conexion
  826. Dim vRetorno As Integer
  827. Dim sql As String
  828. Dim cmd As SqlCommand = New SqlCommand
  829. Dim cn As SqlConnection = objCon.Conectar
  830. If cn.State = ConnectionState.Closed Then
  831. cn.Open()
  832. End If
  833. sql = "SELECT IdProInv from [dbo].[Propuesta] WHERE CodigoPropuesta=@CodigoPropuesta"
  834. cmd.CommandText = sql
  835. cmd.Parameters.Add("@CodigoPropuesta", SqlDbType.VarChar).Value = CodigoInversion
  836. cmd.Connection = cn
  837. vRetorno = cmd.ExecuteScalar
  838. cn.Close()
  839. Return vRetorno
  840. End Function
  841. Public Function CargarPropuesta(Id As Integer) As CEPropuestaInversion
  842. Dim objCon As New Conexion
  843. Dim oPropuesta As CEPropuestaInversion = New CEPropuestaInversion
  844. Dim cn As SqlConnection = objCon.Conectar
  845. If cn.State = ConnectionState.Closed Then
  846. cn.Open()
  847. End If
  848. Dim drd As SqlDataReader
  849. Try
  850. da = New SqlDataAdapter("SP_PROPIN_CARGAR", cn)
  851. da.SelectCommand.CommandType = CommandType.StoredProcedure
  852. With da.SelectCommand.Parameters
  853. .Add("@IdPropuesta", SqlDbType.Int).Value = Id
  854. End With
  855. drd = da.SelectCommand.ExecuteReader()
  856. If drd.HasRows Then
  857. oPropuesta.IdDeDocumento = Id
  858. End If
  859. If drd.Read Then
  860. oPropuesta.CodigoInversion = drd.Item("CodInv").ToString
  861. oPropuesta.EstadoDocumento = drd.Item("DocEst").ToString
  862. oPropuesta.TipoOperacion = drd.Item("TipoOper").ToString
  863. oPropuesta.Asunto = drd.Item("Asunto").ToString
  864. oPropuesta.CodigoEmpresa = drd.Item("CodEmpr").ToString
  865. oPropuesta.CodigoInstrumentoFinanciero = drd.Item("CodIF").ToString
  866. oPropuesta.CodigoEmisor = Operaciones.ConvertirEntero(drd.Item("CodEmis").ToString)
  867. oPropuesta.CodigoCalificacionDeRiesgo = drd.Item("CodCalRi").ToString
  868. oPropuesta.CodigoEmpresaCalificadora = drd.Item("CodECalRi").ToString
  869. oPropuesta.OrigenDeFondos = drd.Item("OFon").ToString
  870. oPropuesta.Justificacion = drd.Item("Just").ToString
  871. oPropuesta.Comentarios = drd.Item("Coment").ToString
  872. oPropuesta.MontoInversion = Operaciones.ConvertirDecimal(drd.Item("MontoInv").ToString)
  873. oPropuesta.Precio = Operaciones.ConvertirDecimal(drd.Item("Precio").ToString)
  874. oPropuesta.Rendimiento = Operaciones.ConvertirDecimal(drd.Item("Rendimiento").ToString)
  875. oPropuesta.PlazoNumero = Operaciones.ConvertirEntero(drd.Item("Plazo").ToString)
  876. oPropuesta.PlazoFactor = drd.Item("PlazoFact").ToString
  877. oPropuesta.Ingresos = Operaciones.ConvertirDecimal(drd.Item("Ingresos").ToString)
  878. oPropuesta.FechaDocumento = Operaciones.ConvertirFecha(drd.Item("FechaDoc").ToString)
  879. oPropuesta.EstadoAutorizacion = drd.Item("AutEstado").ToString
  880. oPropuesta.TipoMercado = drd.Item("TipoMerc").ToString
  881. oPropuesta.Pais = drd.Item("CodPais").ToString
  882. oPropuesta.TipoRenta = drd.Item("TipoRenta").ToString
  883. oPropuesta.TipoTasa = drd.Item("TipoTasa").ToString
  884. oPropuesta.Periodicidad = drd.Item("Periodicidad").ToString
  885. oPropuesta.NombreManual = drd.Item("NombreManual").ToString
  886. oPropuesta.IdFlujo = Operaciones.ConvertirEntero(Operaciones.ConvertirDecimal(drd.Item("IdFlujo").ToString))
  887. oPropuesta.IdEA = Operaciones.ConvertirEntero(Operaciones.ConvertirDecimal(drd.Item("IdEA").ToString))
  888. oPropuesta.EstadoReporto = drd.Item("EstadoReporto").ToString
  889. oPropuesta.CodigoAsociado = drd.Item("CodigoAsociado").ToString
  890. End If
  891. drd.Close()
  892. Catch ex As Exception
  893. MsgBox("Error", MsgBoxStyle.Critical)
  894. MsgBox(ex.Message)
  895. Finally
  896. da.Dispose()
  897. cn.Dispose()
  898. End Try
  899. Return oPropuesta
  900. End Function
  901. Public Function Actualizar(ByVal oPropuestaCE As CEPropuestaInversion, ByVal parametro As String, ByVal EstadoReporto As String) As Integer
  902. Dim objCon As New Conexion
  903. Dim retorno As Integer
  904. Dim Transaccion As SqlTransaction
  905. Dim query As String
  906. Dim cn As SqlConnection = objCon.Conectar
  907. If cn.State = ConnectionState.Closed Then
  908. cn.Open()
  909. End If
  910. Dim cmd As SqlCommand = cn.CreateCommand
  911. Transaccion = cn.BeginTransaction("ActualizarPropuesta")
  912. Try
  913. cmd.Connection = cn
  914. cmd.Transaction = Transaccion
  915. query = "UPDATE [dbo].[PIN0]
  916. SET
  917. [CodInv] = @CodInv
  918. ,[DocEst] = @DocEst
  919. ,[Asunto] = @Asunto
  920. ,[CodEmpr] = @CodEmpr
  921. ,[CodIF] = @CodIF
  922. ,[CodEmis] = @CodEmis
  923. ,[CodCalRi] = @CodCalRi
  924. ,[CodECalRi] = @CodECalRi
  925. ,[OFon] = @OFon
  926. ,[Coment] = @Coment
  927. ,[Just] = @Just
  928. ,[TipoOper] = @TipoOper
  929. ,[MontoInv] = @MontoInv
  930. ,[Precio] = @Precio
  931. ,[Rendimiento] = @Rendimiento
  932. ,[Plazo] = @Plazo
  933. ,[PlazoFact] = @PlazoFact
  934. ,[Ingresos] = @Ingresos
  935. ,[FechaDoc] = @FechaDoc
  936. ,[AutEstado] = @AutEstado
  937. ,[TipoMerc] = @TipoMerc
  938. ,[CodPais] = @CodPais
  939. ,[TipoRenta]=@TipoRenta
  940. ,[TipoTasa]=@TipoTasa
  941. ,[Periodicidad]=@Periodicidad
  942. ,[NombreManual]=@NombreManual
  943. WHERE [CodInv] = @CodInv"
  944. cmd.CommandText = query
  945. With cmd.Parameters
  946. .Add("@DocId", SqlDbType.VarChar).Value = oPropuestaCE.IdDeDocumento
  947. .Add("@CodInv", SqlDbType.VarChar).Value = parametro
  948. .Add("@DocEst", SqlDbType.VarChar).Value = oPropuestaCE.EstadoDocumento
  949. .Add("@Asunto", SqlDbType.VarChar).Value = oPropuestaCE.Asunto
  950. .Add("@CodEmpr", SqlDbType.VarChar).Value = oPropuestaCE.CodigoEmpresa
  951. .Add("@CodIF", SqlDbType.VarChar).Value = oPropuestaCE.CodigoInstrumentoFinanciero
  952. .Add("@CodEmis", SqlDbType.Int).Value = oPropuestaCE.CodigoEmisor
  953. .Add("@CodCalRi", SqlDbType.VarChar).Value = oPropuestaCE.CodigoCalificacionDeRiesgo
  954. .Add("@CodECalRi", SqlDbType.VarChar).Value = oPropuestaCE.CodigoEmpresaCalificadora
  955. .Add("@OFon", SqlDbType.VarChar).Value = oPropuestaCE.OrigenDeFondos
  956. .Add("@Coment", SqlDbType.VarChar).Value = oPropuestaCE.Comentarios
  957. .Add("@Just", SqlDbType.VarChar).Value = oPropuestaCE.Justificacion
  958. .Add("@TipoOper", SqlDbType.VarChar).Value = oPropuestaCE.TipoOperacion
  959. .Add("@MontoInv", SqlDbType.Float).Value = 0
  960. .Add("@Precio", SqlDbType.Float).Value = 0
  961. .Add("@Rendimiento", SqlDbType.Float).Value = 0
  962. .Add("@Plazo", SqlDbType.Int).Value = 0
  963. .Add("@PlazoFact", SqlDbType.VarChar).Value = 0
  964. .Add("@Ingresos", SqlDbType.Float).Value = 0
  965. .Add("@FechaDoc", SqlDbType.Date).Value = oPropuestaCE.FechaDocumento
  966. .Add("@AutEstado", SqlDbType.VarChar).Value = oPropuestaCE.EstadoAutorizacion
  967. .Add("@TipoMerc", SqlDbType.VarChar).Value = oPropuestaCE.TipoMercado
  968. .Add("@CodPais", SqlDbType.VarChar).Value = oPropuestaCE.Pais
  969. .Add("@TipoRenta", SqlDbType.VarChar).Value = oPropuestaCE.TipoRenta.ToString
  970. .Add("@TipoTasa", SqlDbType.VarChar).Value = oPropuestaCE.TipoTasa.ToString
  971. .Add("@Periodicidad", SqlDbType.VarChar).Value = oPropuestaCE.Periodicidad.ToString
  972. .Add("@NombreManual", SqlDbType.VarChar).Value = oPropuestaCE.NombreManual.ToString
  973. End With
  974. retorno = cmd.ExecuteNonQuery()
  975. If oPropuestaCE.OrigenDeFondos = "REPOVENTA" Then
  976. EstadoReporto = "SECUNDARIO"
  977. End If
  978. If oPropuestaCE.EstadoAutorizacion = "C" Or oPropuestaCE.EstadoAutorizacion = "R" And EstadoReporto = "SECUNDARIO" Then
  979. Dim IniciarError As String = CambiarEstArbCE.ProcesarCambio(parametro, "CambiarRechazado", cn, Transaccion)
  980. If IniciarError = "NO" Or IniciarError = "Error" Then
  981. Throw New Exception
  982. End If
  983. Dim CodigoReporto As String = String.Empty
  984. cmd = New SqlCommand
  985. cmd.Connection = cn
  986. cmd.Transaction = Transaccion
  987. query = "select CodigoReporto from TitEspApro where CodigoNuevoTitulo=@CodigoNuevoTitulo"
  988. cmd.CommandText = query
  989. With cmd.Parameters
  990. .Add("@CodigoNuevoTitulo", SqlDbType.VarChar).Value = parametro
  991. End With
  992. CodigoReporto = cmd.ExecuteScalar
  993. ''#########################################################
  994. ''#########################################################
  995. If String.IsNullOrEmpty(CodigoReporto) Then
  996. CodigoReporto = Nothing
  997. End If
  998. cmd = New SqlCommand
  999. cmd.Connection = cn
  1000. cmd.Transaction = Transaccion
  1001. query = "UPDATE [dbo].[INV0]
  1002. SET EstadoProceso=@EstadoProceso
  1003. WHERE [CodInv] = @CodInv"
  1004. cmd.CommandText = query
  1005. With cmd.Parameters
  1006. .Add("@CodInv", SqlDbType.VarChar).Value = CodigoReporto
  1007. .Add("@EstadoProceso", SqlDbType.VarChar).Value = "E"
  1008. End With
  1009. retorno = cmd.ExecuteNonQuery()
  1010. End If
  1011. Transaccion.Commit()
  1012. retorno = 0
  1013. Catch ex As Exception
  1014. retorno = 1
  1015. Try
  1016. Transaccion.Rollback()
  1017. Catch ex2 As Exception
  1018. MsgBox("Error en Rollback: " & ex.GetType.ToString)
  1019. MsgBox("Mensaje Rollbak: " & ex.Message)
  1020. End Try
  1021. End Try
  1022. If retorno = 0 Then
  1023. 'Transaccion.Commit()
  1024. Else
  1025. 'Transaccion.Rollback()
  1026. MsgBox("Falla al Guardar Propuesta")
  1027. End If
  1028. cmd.Dispose()
  1029. da.Dispose()
  1030. cn.Dispose()
  1031. Return retorno
  1032. End Function
  1033. Public Function ConvertirEnInversion(ByVal IdPropuesta As Integer, ByVal EstadoReporto As String) As Integer
  1034. Dim vRetorno As Integer = 1
  1035. Dim oCEPropuesta As CEPropuestaInversion = CargarPropuesta(IdPropuesta)
  1036. Dim oCEInversion As InversionesCE
  1037. Dim oDAOInversion As InversionDAO
  1038. If Not oCEPropuesta Is Nothing Then
  1039. 'ES OBJETO
  1040. oCEInversion = New InversionesCE
  1041. oDAOInversion = New InversionDAO
  1042. oCEInversion.CodigoIversion = oCEPropuesta.CodigoInversion
  1043. oCEInversion.CodigoEmpresa = oCEPropuesta.CodigoEmpresa
  1044. oCEInversion.CodigoInstrumentoFinanciero = oCEPropuesta.CodigoInstrumentoFinanciero
  1045. oCEInversion.CodigoEmisor = oCEPropuesta.CodigoEmisor
  1046. oCEInversion.CodigoCalificacionDeRiesgo = oCEPropuesta.CodigoCalificacionDeRiesgo
  1047. oCEInversion.CodigoEmpresaCalificadora = oCEPropuesta.CodigoEmpresaCalificadora
  1048. oCEInversion.Comentarios = oCEPropuesta.Comentarios
  1049. oCEInversion.TipoOperacion = oCEPropuesta.TipoOperacion
  1050. oCEInversion.DocumentoBase = oCEPropuesta.IdDeDocumento
  1051. oCEInversion.Pais = oCEPropuesta.Pais
  1052. oCEInversion.TipoMercado = oCEPropuesta.TipoMercado
  1053. oCEInversion.DocumentoBase = oCEPropuesta.IdDeDocumento
  1054. oCEInversion.EstadoDocumento = oCEPropuesta.EstadoDocumento
  1055. oCEInversion.NombreManual = oCEPropuesta.NombreManual
  1056. oCEInversion.TipoRenta = oCEPropuesta.TipoRenta
  1057. oCEInversion.TipoTasa = oCEPropuesta.TipoTasa
  1058. oCEInversion.Periodicidad = oCEPropuesta.Periodicidad
  1059. oCEInversion.PlazoFactor = oCEPropuesta.PlazoFactor
  1060. oCEInversion.PlazoNumero = oCEPropuesta.PlazoNumero
  1061. oCEInversion.OFondo = oCEPropuesta.OrigenDeFondos
  1062. oCEInversion.CodigoCompra = oCEPropuesta.CodigoCompra
  1063. oCEInversion.EstadoProceso = "R"
  1064. oCEInversion.FechaDocumento = oCEPropuesta.FechaDocumento
  1065. oCEInversion.EstadoReporto = oCEPropuesta.EstadoReporto
  1066. If oCEPropuesta.EstadoReporto = "SECUNDARIO" Then
  1067. oCEInversion.CodigoAsociado = oCEPropuesta.CodigoAsociado
  1068. oCEInversion.IdFlujo = oCEPropuesta.IdFlujo
  1069. oCEInversion.IdEA = oCEPropuesta.IdEA
  1070. End If
  1071. oCEInversion.IdProInv = Me.IdPropuesta(oCEPropuesta.CodigoInversion)
  1072. Dim vResNuevo As Integer
  1073. vResNuevo = oDAOInversion.Nuevo(oCEInversion)
  1074. If vResNuevo > 0 Then
  1075. Cerrar(IdPropuesta)
  1076. vRetorno = 1
  1077. Else
  1078. vRetorno = -2
  1079. MsgBox("Falla al convertir en Inversion")
  1080. End If
  1081. Else
  1082. vRetorno = -1
  1083. End If
  1084. Return vRetorno
  1085. End Function
  1086. Public Sub Cerrar(ByVal IidPropuesta As Integer)
  1087. Dim objCon As New Conexion
  1088. Dim vTransaccion As SqlTransaction
  1089. Dim query As String
  1090. Dim cn As SqlConnection = objCon.Conectar
  1091. If cn.State = ConnectionState.Closed Then
  1092. cn.Open()
  1093. End If
  1094. Dim cmd As SqlCommand = cn.CreateCommand
  1095. vTransaccion = cn.BeginTransaction
  1096. cmd.Connection = cn
  1097. cmd.Transaction = vTransaccion
  1098. query = "UPDATE [dbo].[PIN0]
  1099. SET [DocEst] = 'C'
  1100. WHERE [DocId] = @DocId"
  1101. cmd.CommandText = query
  1102. With cmd.Parameters
  1103. .Add("@DocId", SqlDbType.VarChar).Value = IidPropuesta
  1104. End With
  1105. Try
  1106. cmd.ExecuteNonQuery()
  1107. vTransaccion.Commit()
  1108. Catch ex As Exception
  1109. MsgBox("Error en Transaccion: " & ex.GetType.ToString)
  1110. MsgBox("Mensaje: " & ex.Message)
  1111. Try
  1112. vTransaccion.Rollback()
  1113. Catch ex2 As Exception
  1114. MsgBox("Error en Rollback: " & ex.GetType.ToString)
  1115. MsgBox("Mensaje Rollbak: " & ex.Message)
  1116. End Try
  1117. End Try
  1118. cmd.Dispose()
  1119. cn.Dispose()
  1120. End Sub
  1121. End Class