DAOPropuestaInversion.vb 48 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494
  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 = ObjPropuesta.MontoInversion.ToString
  511. .Add("@Precio", SqlDbType.Float).Value = ObjPropuesta.Precio.ToString
  512. .Add("@Rendimiento", SqlDbType.Float).Value = ObjPropuesta.Rendimiento.ToString
  513. .Add("@Plazo", SqlDbType.Int).Value = ObjPropuesta.PlazoNumero.ToString
  514. .Add("@PlazoFact", SqlDbType.VarChar).Value = ObjPropuesta.PlazoFactor.ToString
  515. .Add("@Ingresos", SqlDbType.Float).Value = ObjPropuesta.Ingresos.ToString
  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. query = "INSERT INTO [dbo].[PIN0]
  625. ([CodInv]
  626. ,[DocEst]
  627. ,[Asunto]
  628. ,[CodEmpr]
  629. ,[CodIF]
  630. ,[CodEmis]
  631. ,[CodCalRi]
  632. ,[CodECalRi]
  633. ,[OFon]
  634. ,[Coment]
  635. ,[Just]
  636. ,[TipoOper]
  637. ,[MontoInv]
  638. ,[Precio]
  639. ,[Rendimiento]
  640. ,[Plazo]
  641. ,[PlazoFact]
  642. ,[Ingresos]
  643. ,[FechaDoc]
  644. ,[AutEstado]
  645. ,[TipoMerc]
  646. ,[CodPais]
  647. ,[TipoRenta]
  648. ,[TipoTasa]
  649. ,[Periodicidad]
  650. ,[NombreManual]
  651. ,[EstadoReporto]
  652. )
  653. VALUES
  654. (@CodInv
  655. ,@DocEst
  656. ,@Asunto
  657. ,@CodEmpr
  658. ,@CodIF
  659. ,@CodEmis
  660. ,@CodCalRi
  661. ,@CodECalRi
  662. ,@OFon
  663. ,@Coment
  664. ,@Just
  665. ,@TipoOper
  666. ,@MontoInv
  667. ,@Precio
  668. ,@Rendimiento
  669. ,@Plazo
  670. ,@PlazoFact
  671. ,@Ingresos
  672. ,@FechaDoc
  673. ,@AutEstado
  674. ,@TipoMerc
  675. ,@CodPais
  676. ,@TipoRenta
  677. ,@TipoTasa
  678. ,@Periodicidad
  679. ,@NombreManual
  680. ,@EstadoReporto
  681. )"
  682. cmd = New SqlCommand
  683. cmd.CommandText = query
  684. cmd.Connection = cn
  685. cmd.Transaction = myTrans
  686. With cmd.Parameters
  687. .Add("@CodInv", SqlDbType.VarChar).Value = ObjPropuesta.CodigoInversion.ToString
  688. .Add("@DocEst", SqlDbType.VarChar).Value = ObjPropuesta.EstadoDocumento.ToString
  689. .Add("@Asunto", SqlDbType.VarChar).Value = ObjPropuesta.Asunto.ToString
  690. .Add("@CodEmpr", SqlDbType.VarChar).Value = ObjPropuesta.CodigoEmpresa.ToString
  691. .Add("@CodIF", SqlDbType.VarChar).Value = ObjPropuesta.CodigoInstrumentoFinanciero.ToString
  692. .Add("@CodEmis", SqlDbType.Int).Value = ObjPropuesta.CodigoEmisor.ToString
  693. .Add("@CodCalRi", SqlDbType.VarChar).Value = ObjPropuesta.CodigoCalificacionDeRiesgo.ToString
  694. .Add("@CodECalRi", SqlDbType.VarChar).Value = ObjPropuesta.CodigoEmpresaCalificadora.ToString
  695. .Add("@OFon", SqlDbType.VarChar).Value = ObjPropuesta.OrigenDeFondos.ToString
  696. .Add("@Coment", SqlDbType.VarChar).Value = ObjPropuesta.Comentarios.ToString
  697. .Add("@Just", SqlDbType.VarChar).Value = ObjPropuesta.Justificacion.ToString
  698. .Add("@TipoOper", SqlDbType.VarChar).Value = ObjPropuesta.TipoOperacion.ToString
  699. .Add("@MontoInv", SqlDbType.Float).Value = ObjPropuesta.MontoInversion.ToString
  700. .Add("@Precio", SqlDbType.Float).Value = ObjPropuesta.Precio.ToString
  701. .Add("@Rendimiento", SqlDbType.Float).Value = ObjPropuesta.Rendimiento.ToString
  702. .Add("@Plazo", SqlDbType.Int).Value = ObjPropuesta.PlazoNumero.ToString
  703. .Add("@PlazoFact", SqlDbType.VarChar).Value = ObjPropuesta.PlazoFactor.ToString
  704. .Add("@Ingresos", SqlDbType.Float).Value = ObjPropuesta.Ingresos.ToString
  705. .Add("@FechaDoc", SqlDbType.Date).Value = ObjPropuesta.FechaDocumento.ToString
  706. .Add("@AutEstado", SqlDbType.VarChar).Value = ObjPropuesta.EstadoAutorizacion.ToString
  707. .Add("@TipoMerc", SqlDbType.VarChar).Value = ObjPropuesta.TipoMercado.ToString
  708. .Add("@CodPais", SqlDbType.VarChar).Value = ObjPropuesta.Pais.ToString
  709. .Add("@TipoRenta", SqlDbType.VarChar).Value = ObjPropuesta.TipoRenta.ToString
  710. .Add("@TipoTasa", SqlDbType.VarChar).Value = ObjPropuesta.TipoTasa.ToString
  711. .Add("@Periodicidad", SqlDbType.VarChar).Value = ObjPropuesta.Periodicidad.ToString
  712. .Add("@NombreManual", SqlDbType.VarChar).Value = ObjPropuesta.NombreManual.ToString
  713. .Add("@EstadoReporto", SqlDbType.VarChar).Value = "PRIMARIO"
  714. End With
  715. cmd.CommandText = query
  716. Retorno = cmd.ExecuteNonQuery
  717. ''Ingresar codigo
  718. '#####################################################################'
  719. cmd = New SqlCommand
  720. query = "INSERT INTO [dbo].[Propuesta]
  721. ([CodigoPropuesta]
  722. ,[Nombre]
  723. ,[Descrip]
  724. ,[Estado]
  725. )
  726. VALUES
  727. (@CodigoPropuesta
  728. ,@Nombre
  729. ,@Descrip
  730. ,@Estado
  731. )"
  732. cmd.CommandText = query
  733. cmd.Connection = cn
  734. cmd.Transaction = myTrans
  735. With cmd.Parameters
  736. .Add("@CodigoPropuesta", SqlDbType.VarChar).Value = ObjPropuesta.CodigoInversion.ToString
  737. .Add("@Nombre", SqlDbType.VarChar).Value = "ProCre"
  738. .Add("@Descrip", SqlDbType.VarChar).Value = "Propuesta de Inversion Inicial Creada"
  739. .Add("@Estado", SqlDbType.VarChar).Value = "En Propuesta"
  740. End With
  741. Retornar = cmd.ExecuteNonQuery
  742. ''###############################################################
  743. ''###############################################################
  744. If TipoProcesoCMVTA = "V" Then
  745. cmd = New SqlCommand
  746. query = "INSERT INTO [dbo].[OPERCMVTA]
  747. ([FechaOperacion]
  748. ,[CodigoInversionCompra]
  749. ,[CodigoInversionVenta]
  750. ,[TipoFlujo]
  751. )
  752. VALUES
  753. (@FechaOperacion
  754. ,@CodigoInversionCompra
  755. ,@CodigoInversionVenta
  756. ,@TipoFlujo
  757. )"
  758. cmd.CommandText = query
  759. cmd.Connection = cn
  760. cmd.Transaction = myTrans
  761. With cmd.Parameters
  762. .Add("@FechaOperacion", SqlDbType.Date).Value = Date.Now.Date
  763. .Add("@CodigoInversionCompra", SqlDbType.VarChar).Value = CodigoInversionCMVTA
  764. .Add("@CodigoInversionVenta", SqlDbType.VarChar).Value = ObjPropuesta.CodigoInversion.ToString
  765. .Add("@TipoFlujo", SqlDbType.VarChar).Value = "C-V"
  766. End With
  767. Retornar = cmd.ExecuteNonQuery
  768. End If
  769. Try
  770. myTrans.Commit()
  771. MsgBox("Propuesta Guardada")
  772. Catch ex As Exception
  773. MsgBox("Error en Transaccion: " & ex.GetType.ToString)
  774. MsgBox("Mensaje: " & ex.Message)
  775. Try
  776. myTrans.Rollback()
  777. Catch ex2 As Exception
  778. MsgBox("Error en Rollback: " & ex.GetType.ToString)
  779. MsgBox("Mensaje Rollbak: " & ex.Message)
  780. End Try
  781. End Try
  782. cmd.Dispose()
  783. da.Dispose()
  784. cn.Dispose()
  785. Return Retornar
  786. End Function
  787. Public Function IdRegistro(CodigoInversion As String) As Integer
  788. Dim objCon As New Conexion
  789. Dim vRetorno As Integer
  790. Dim sql As String
  791. Dim cmd As SqlCommand = New SqlCommand
  792. Dim cn As SqlConnection = objCon.Conectar
  793. If cn.State = ConnectionState.Closed Then
  794. cn.Open()
  795. End If
  796. sql = "SELECT DocId from [dbo].[PIN0] WHERE CodInv=@CodInv "
  797. cmd.CommandText = sql
  798. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = CodigoInversion
  799. cmd.Connection = cn
  800. vRetorno = cmd.ExecuteScalar
  801. cn.Close()
  802. Return vRetorno
  803. End Function
  804. Public Function IdRegistroInversion(CodigoInversion As String) As Integer
  805. Dim objCon As New Conexion
  806. Dim vRetorno As Integer
  807. Dim sql As String
  808. Dim cmd As SqlCommand = New SqlCommand
  809. Dim cn As SqlConnection = objCon.Conectar
  810. If cn.State = ConnectionState.Closed Then
  811. cn.Open()
  812. End If
  813. sql = "SELECT DocId from [dbo].[INV0] WHERE CodInv=@CodInv "
  814. cmd.CommandText = sql
  815. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = CodigoInversion
  816. cmd.Connection = cn
  817. vRetorno = cmd.ExecuteScalar
  818. cn.Close()
  819. Return vRetorno
  820. End Function
  821. Public Function IdPropuesta(CodigoInversion As String) As Integer
  822. Dim objCon As New Conexion
  823. Dim vRetorno As Integer
  824. Dim sql As String
  825. Dim cmd As SqlCommand = New SqlCommand
  826. Dim cn As SqlConnection = objCon.Conectar
  827. If cn.State = ConnectionState.Closed Then
  828. cn.Open()
  829. End If
  830. sql = "SELECT IdProInv from [dbo].[Propuesta] WHERE CodigoPropuesta=@CodigoPropuesta"
  831. cmd.CommandText = sql
  832. cmd.Parameters.Add("@CodigoPropuesta", SqlDbType.VarChar).Value = CodigoInversion
  833. cmd.Connection = cn
  834. vRetorno = cmd.ExecuteScalar
  835. cn.Close()
  836. Return vRetorno
  837. End Function
  838. Public Function CargarPropuesta(Id As Integer) As CEPropuestaInversion
  839. Dim objCon As New Conexion
  840. Dim oPropuesta As CEPropuestaInversion = New CEPropuestaInversion
  841. Dim cn As SqlConnection = objCon.Conectar
  842. If cn.State = ConnectionState.Closed Then
  843. cn.Open()
  844. End If
  845. Dim drd As SqlDataReader
  846. Try
  847. da = New SqlDataAdapter("SP_PROPIN_CARGAR", cn)
  848. da.SelectCommand.CommandType = CommandType.StoredProcedure
  849. With da.SelectCommand.Parameters
  850. .Add("@IdPropuesta", SqlDbType.Int).Value = Id
  851. End With
  852. drd = da.SelectCommand.ExecuteReader()
  853. If drd.HasRows Then
  854. oPropuesta.IdDeDocumento = Id
  855. End If
  856. If drd.Read Then
  857. oPropuesta.CodigoInversion = drd.Item("CodInv").ToString
  858. oPropuesta.EstadoDocumento = drd.Item("DocEst").ToString
  859. oPropuesta.TipoOperacion = drd.Item("TipoOper").ToString
  860. oPropuesta.Asunto = drd.Item("Asunto").ToString
  861. oPropuesta.CodigoEmpresa = drd.Item("CodEmpr").ToString
  862. oPropuesta.CodigoInstrumentoFinanciero = drd.Item("CodIF").ToString
  863. oPropuesta.CodigoEmisor = Operaciones.ConvertirEntero(drd.Item("CodEmis").ToString)
  864. oPropuesta.CodigoCalificacionDeRiesgo = drd.Item("CodCalRi").ToString
  865. oPropuesta.CodigoEmpresaCalificadora = drd.Item("CodECalRi").ToString
  866. oPropuesta.OrigenDeFondos = drd.Item("OFon").ToString
  867. oPropuesta.Justificacion = drd.Item("Just").ToString
  868. oPropuesta.Comentarios = drd.Item("Coment").ToString
  869. oPropuesta.MontoInversion = Operaciones.ConvertirDecimal(drd.Item("MontoInv").ToString)
  870. oPropuesta.Precio = Operaciones.ConvertirDecimal(drd.Item("Precio").ToString)
  871. oPropuesta.Rendimiento = Operaciones.ConvertirDecimal(drd.Item("Rendimiento").ToString)
  872. oPropuesta.PlazoNumero = Operaciones.ConvertirEntero(drd.Item("Plazo").ToString)
  873. oPropuesta.PlazoFactor = drd.Item("PlazoFact").ToString
  874. oPropuesta.Ingresos = Operaciones.ConvertirDecimal(drd.Item("Ingresos").ToString)
  875. oPropuesta.FechaDocumento = Operaciones.ConvertirFecha(drd.Item("FechaDoc").ToString)
  876. oPropuesta.EstadoAutorizacion = drd.Item("AutEstado").ToString
  877. oPropuesta.TipoMercado = drd.Item("TipoMerc").ToString
  878. oPropuesta.Pais = drd.Item("CodPais").ToString
  879. oPropuesta.TipoRenta = drd.Item("TipoRenta").ToString
  880. oPropuesta.TipoTasa = drd.Item("TipoTasa").ToString
  881. oPropuesta.Periodicidad = drd.Item("Periodicidad").ToString
  882. oPropuesta.NombreManual = drd.Item("NombreManual").ToString
  883. oPropuesta.IdFlujo = Operaciones.ConvertirEntero(Operaciones.ConvertirDecimal(drd.Item("IdFlujo").ToString))
  884. oPropuesta.IdEA = Operaciones.ConvertirEntero(Operaciones.ConvertirDecimal(drd.Item("IdEA").ToString))
  885. oPropuesta.EstadoReporto = drd.Item("EstadoReporto").ToString
  886. oPropuesta.CodigoAsociado = drd.Item("CodigoAsociado").ToString
  887. End If
  888. drd.Close()
  889. Catch ex As Exception
  890. MsgBox("Error", MsgBoxStyle.Critical)
  891. MsgBox(ex.Message)
  892. Finally
  893. da.Dispose()
  894. cn.Dispose()
  895. End Try
  896. Return oPropuesta
  897. End Function
  898. Public Function Actualizar(ByVal oPropuestaCE As CEPropuestaInversion, ByVal parametro As String, ByVal EstadoReporto As String) As Integer
  899. Dim objCon As New Conexion
  900. Dim retorno As Integer
  901. Dim Transaccion As SqlTransaction
  902. Dim query As String
  903. Dim cn As SqlConnection = objCon.Conectar
  904. If cn.State = ConnectionState.Closed Then
  905. cn.Open()
  906. End If
  907. Dim cmd As SqlCommand = cn.CreateCommand
  908. Transaccion = cn.BeginTransaction("ActualizarPropuesta")
  909. Try
  910. cmd.Connection = cn
  911. cmd.Transaction = Transaccion
  912. query = "UPDATE [dbo].[PIN0]
  913. SET
  914. [CodInv] = @CodInv
  915. ,[DocEst] = @DocEst
  916. ,[Asunto] = @Asunto
  917. ,[CodEmpr] = @CodEmpr
  918. ,[CodIF] = @CodIF
  919. ,[CodEmis] = @CodEmis
  920. ,[CodCalRi] = @CodCalRi
  921. ,[CodECalRi] = @CodECalRi
  922. ,[OFon] = @OFon
  923. ,[Coment] = @Coment
  924. ,[Just] = @Just
  925. ,[TipoOper] = @TipoOper
  926. ,[MontoInv] = @MontoInv
  927. ,[Precio] = @Precio
  928. ,[Rendimiento] = @Rendimiento
  929. ,[Plazo] = @Plazo
  930. ,[PlazoFact] = @PlazoFact
  931. ,[Ingresos] = @Ingresos
  932. ,[FechaDoc] = @FechaDoc
  933. ,[AutEstado] = @AutEstado
  934. ,[TipoMerc] = @TipoMerc
  935. ,[CodPais] = @CodPais
  936. ,[TipoRenta]=@TipoRenta
  937. ,[TipoTasa]=@TipoTasa
  938. ,[Periodicidad]=@Periodicidad
  939. ,[NombreManual]=@NombreManual
  940. WHERE [CodInv] = @CodInv"
  941. cmd.CommandText = query
  942. With cmd.Parameters
  943. .Add("@DocId", SqlDbType.VarChar).Value = oPropuestaCE.IdDeDocumento
  944. .Add("@CodInv", SqlDbType.VarChar).Value = parametro
  945. .Add("@DocEst", SqlDbType.VarChar).Value = oPropuestaCE.EstadoDocumento
  946. .Add("@Asunto", SqlDbType.VarChar).Value = oPropuestaCE.Asunto
  947. .Add("@CodEmpr", SqlDbType.VarChar).Value = oPropuestaCE.CodigoEmpresa
  948. .Add("@CodIF", SqlDbType.VarChar).Value = oPropuestaCE.CodigoInstrumentoFinanciero
  949. .Add("@CodEmis", SqlDbType.Int).Value = oPropuestaCE.CodigoEmisor
  950. .Add("@CodCalRi", SqlDbType.VarChar).Value = oPropuestaCE.CodigoCalificacionDeRiesgo
  951. .Add("@CodECalRi", SqlDbType.VarChar).Value = oPropuestaCE.CodigoEmpresaCalificadora
  952. .Add("@OFon", SqlDbType.VarChar).Value = oPropuestaCE.OrigenDeFondos
  953. .Add("@Coment", SqlDbType.VarChar).Value = oPropuestaCE.Comentarios
  954. .Add("@Just", SqlDbType.VarChar).Value = oPropuestaCE.Justificacion
  955. .Add("@TipoOper", SqlDbType.VarChar).Value = oPropuestaCE.TipoOperacion
  956. .Add("@MontoInv", SqlDbType.Float).Value = oPropuestaCE.MontoInversion
  957. .Add("@Precio", SqlDbType.Float).Value = oPropuestaCE.Precio
  958. .Add("@Rendimiento", SqlDbType.Float).Value = oPropuestaCE.Rendimiento
  959. .Add("@Plazo", SqlDbType.Int).Value = oPropuestaCE.PlazoNumero
  960. .Add("@PlazoFact", SqlDbType.VarChar).Value = oPropuestaCE.PlazoFactor
  961. .Add("@Ingresos", SqlDbType.Float).Value = oPropuestaCE.Ingresos
  962. .Add("@FechaDoc", SqlDbType.Date).Value = oPropuestaCE.FechaDocumento
  963. .Add("@AutEstado", SqlDbType.VarChar).Value = oPropuestaCE.EstadoAutorizacion
  964. .Add("@TipoMerc", SqlDbType.VarChar).Value = oPropuestaCE.TipoMercado
  965. .Add("@CodPais", SqlDbType.VarChar).Value = oPropuestaCE.Pais
  966. .Add("@TipoRenta", SqlDbType.VarChar).Value = oPropuestaCE.TipoRenta.ToString
  967. .Add("@TipoTasa", SqlDbType.VarChar).Value = oPropuestaCE.TipoTasa.ToString
  968. .Add("@Periodicidad", SqlDbType.VarChar).Value = oPropuestaCE.Periodicidad.ToString
  969. .Add("@NombreManual", SqlDbType.VarChar).Value = oPropuestaCE.NombreManual.ToString
  970. End With
  971. retorno = cmd.ExecuteNonQuery()
  972. If oPropuestaCE.OrigenDeFondos = "REPOVENTA" Then
  973. EstadoReporto = "SECUNDARIO"
  974. End If
  975. If oPropuestaCE.EstadoAutorizacion = "C" Or oPropuestaCE.EstadoAutorizacion = "R" And EstadoReporto = "SECUNDARIO" Then
  976. Dim IniciarError As String = CambiarEstArbCE.ProcesarCambio(parametro, "CambiarRechazado", cn, Transaccion)
  977. If IniciarError = "NO" Or IniciarError = "Error" Then
  978. Throw New Exception
  979. End If
  980. Dim CodigoReporto As String = String.Empty
  981. cmd = New SqlCommand
  982. cmd.Connection = cn
  983. cmd.Transaction = Transaccion
  984. query = "select CodigoReporto from TitEspApro where CodigoNuevoTitulo=@CodigoNuevoTitulo"
  985. cmd.CommandText = query
  986. With cmd.Parameters
  987. .Add("@CodigoNuevoTitulo", SqlDbType.VarChar).Value = parametro
  988. End With
  989. CodigoReporto = cmd.ExecuteScalar
  990. ''#########################################################
  991. ''#########################################################
  992. If String.IsNullOrEmpty(CodigoReporto) Then
  993. CodigoReporto = Nothing
  994. End If
  995. cmd = New SqlCommand
  996. cmd.Connection = cn
  997. cmd.Transaction = Transaccion
  998. query = "UPDATE [dbo].[INV0]
  999. SET EstadoProceso=@EstadoProceso
  1000. WHERE [CodInv] = @CodInv"
  1001. cmd.CommandText = query
  1002. With cmd.Parameters
  1003. .Add("@CodInv", SqlDbType.VarChar).Value = CodigoReporto
  1004. .Add("@EstadoProceso", SqlDbType.VarChar).Value = "E"
  1005. End With
  1006. retorno = cmd.ExecuteNonQuery()
  1007. End If
  1008. Transaccion.Commit()
  1009. retorno = 0
  1010. Catch ex As Exception
  1011. retorno = 1
  1012. Try
  1013. Transaccion.Rollback()
  1014. Catch ex2 As Exception
  1015. MsgBox("Error en Rollback: " & ex.GetType.ToString)
  1016. MsgBox("Mensaje Rollbak: " & ex.Message)
  1017. End Try
  1018. End Try
  1019. If retorno = 0 Then
  1020. 'Transaccion.Commit()
  1021. Else
  1022. 'Transaccion.Rollback()
  1023. MsgBox("Falla al Guardar Propuesta")
  1024. End If
  1025. cmd.Dispose()
  1026. da.Dispose()
  1027. cn.Dispose()
  1028. Return retorno
  1029. End Function
  1030. Public Function ConvertirEnInversion(ByVal IdPropuesta As Integer, ByVal EstadoReporto As String) As Integer
  1031. Dim vRetorno As Integer = 1
  1032. Dim oCEPropuesta As CEPropuestaInversion = CargarPropuesta(IdPropuesta)
  1033. Dim oCEInversion As InversionesCE
  1034. Dim oDAOInversion As InversionDAO
  1035. If Not oCEPropuesta Is Nothing Then
  1036. 'ES OBJETO
  1037. oCEInversion = New InversionesCE
  1038. oDAOInversion = New InversionDAO
  1039. oCEInversion.CodigoIversion = oCEPropuesta.CodigoInversion
  1040. oCEInversion.CodigoEmpresa = oCEPropuesta.CodigoEmpresa
  1041. oCEInversion.CodigoInstrumentoFinanciero = oCEPropuesta.CodigoInstrumentoFinanciero
  1042. oCEInversion.CodigoEmisor = oCEPropuesta.CodigoEmisor
  1043. oCEInversion.CodigoCalificacionDeRiesgo = oCEPropuesta.CodigoCalificacionDeRiesgo
  1044. oCEInversion.CodigoEmpresaCalificadora = oCEPropuesta.CodigoEmpresaCalificadora
  1045. oCEInversion.Comentarios = oCEPropuesta.Comentarios
  1046. oCEInversion.TipoOperacion = oCEPropuesta.TipoOperacion
  1047. oCEInversion.DocumentoBase = oCEPropuesta.IdDeDocumento
  1048. oCEInversion.Pais = oCEPropuesta.Pais
  1049. oCEInversion.TipoMercado = oCEPropuesta.TipoMercado
  1050. oCEInversion.DocumentoBase = oCEPropuesta.IdDeDocumento
  1051. oCEInversion.EstadoDocumento = oCEPropuesta.EstadoDocumento
  1052. oCEInversion.NombreManual = oCEPropuesta.NombreManual
  1053. oCEInversion.TipoRenta = oCEPropuesta.TipoRenta
  1054. oCEInversion.TipoTasa = oCEPropuesta.TipoTasa
  1055. oCEInversion.Periodicidad = oCEPropuesta.Periodicidad
  1056. oCEInversion.PlazoFactor = oCEPropuesta.PlazoFactor
  1057. oCEInversion.PlazoNumero = oCEPropuesta.PlazoNumero
  1058. oCEInversion.OFondo = oCEPropuesta.OrigenDeFondos
  1059. oCEInversion.CodigoCompra = oCEPropuesta.CodigoCompra
  1060. oCEInversion.EstadoProceso = "R"
  1061. oCEInversion.FechaDocumento = oCEPropuesta.FechaDocumento
  1062. oCEInversion.EstadoReporto = oCEPropuesta.EstadoReporto
  1063. If oCEPropuesta.EstadoReporto = "SECUNDARIO" Then
  1064. oCEInversion.CodigoAsociado = oCEPropuesta.CodigoAsociado
  1065. oCEInversion.IdFlujo = oCEPropuesta.IdFlujo
  1066. oCEInversion.IdEA = oCEPropuesta.IdEA
  1067. End If
  1068. oCEInversion.IdProInv = Me.IdPropuesta(oCEPropuesta.CodigoInversion)
  1069. Dim vResNuevo As Integer
  1070. vResNuevo = oDAOInversion.Nuevo(oCEInversion)
  1071. If vResNuevo > 0 Then
  1072. Cerrar(IdPropuesta)
  1073. vRetorno = 1
  1074. Else
  1075. vRetorno = -2
  1076. MsgBox("Falla al convertir en Inversion")
  1077. End If
  1078. Else
  1079. vRetorno = -1
  1080. End If
  1081. Return vRetorno
  1082. End Function
  1083. Public Sub Cerrar(ByVal IidPropuesta As Integer)
  1084. Dim objCon As New Conexion
  1085. Dim vTransaccion As SqlTransaction
  1086. Dim query As String
  1087. Dim cn As SqlConnection = objCon.Conectar
  1088. If cn.State = ConnectionState.Closed Then
  1089. cn.Open()
  1090. End If
  1091. Dim cmd As SqlCommand = cn.CreateCommand
  1092. vTransaccion = cn.BeginTransaction
  1093. cmd.Connection = cn
  1094. cmd.Transaction = vTransaccion
  1095. query = "UPDATE [dbo].[PIN0]
  1096. SET [DocEst] = 'C'
  1097. WHERE [DocId] = @DocId"
  1098. cmd.CommandText = query
  1099. With cmd.Parameters
  1100. .Add("@DocId", SqlDbType.VarChar).Value = IidPropuesta
  1101. End With
  1102. Try
  1103. cmd.ExecuteNonQuery()
  1104. vTransaccion.Commit()
  1105. Catch ex As Exception
  1106. MsgBox("Error en Transaccion: " & ex.GetType.ToString)
  1107. MsgBox("Mensaje: " & ex.Message)
  1108. Try
  1109. vTransaccion.Rollback()
  1110. Catch ex2 As Exception
  1111. MsgBox("Error en Rollback: " & ex.GetType.ToString)
  1112. MsgBox("Mensaje Rollbak: " & ex.Message)
  1113. End Try
  1114. End Try
  1115. cmd.Dispose()
  1116. cn.Dispose()
  1117. End Sub
  1118. End Class