DAOPropuestaInversion.vb 56 KB

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