DepositosAPlazoDAO.vb 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542
  1. Imports System.Data.SqlClient
  2. Public Class DepositosAPlazoDAO
  3. Dim Operaciones As New Operaciones
  4. Public Function CargarRegistro(ByVal vCodigoInversion As String) As DepositosAPlazoCE
  5. Dim objCon As New Conexion
  6. Dim oDAPCE As New DepositosAPlazoCE
  7. Dim drd As SqlDataReader
  8. Dim cmd As SqlCommand
  9. Dim da As SqlDataAdapter
  10. Dim sql As String
  11. Dim dtIntereses As New DataTable
  12. Dim cn As SqlConnection = objCon.Conectar
  13. If cn.State = ConnectionState.Closed Then
  14. cn.Open()
  15. End If
  16. 'INTERESES
  17. sql = "SELECT * FROM [dbo].[DAP1] T0 WHERE T0.CodInv=@CodInv"
  18. da = New SqlDataAdapter(sql, cn)
  19. da.SelectCommand.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = vCodigoInversion
  20. da.Fill(dtIntereses)
  21. oDAPCE.dtIntereses = dtIntereses
  22. sql = "SELECT * FROM [dbo].[DAP0] T0 WHERE T0.CodInv=@CodInv"
  23. cmd = New SqlCommand
  24. cmd.CommandText = sql
  25. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = vCodigoInversion
  26. cmd.Connection = cn
  27. drd = cmd.ExecuteReader
  28. If drd.HasRows Then
  29. 'SE ENCONTRO EL REGISTRO
  30. If drd.Read Then
  31. oDAPCE.CodigoInversion = vCodigoInversion.ToString
  32. oDAPCE.MontoDeInversion = Operaciones.ConvertirDecimal(drd.Item("MontoInv").ToString)
  33. oDAPCE.FechaOperacion = Operaciones.ConvertirFecha(drd.Item("FOper").ToString)
  34. oDAPCE.FechaVencimiento = Operaciones.ConvertirFecha(drd.Item("FVenc").ToString)
  35. oDAPCE.Tasa = Operaciones.ConvertirDecimal(drd.Item("Tasa").ToString)
  36. oDAPCE.Plazo = Operaciones.ConvertirDecimal(drd.Item("Plazo").ToString)
  37. oDAPCE.Periodicidad = drd.Item("Periodic").ToString
  38. End If
  39. drd.Close()
  40. Else
  41. 'NO ENCONTRO EL REGISTRO
  42. End If
  43. cmd.Dispose()
  44. cn.Dispose()
  45. Return oDAPCE
  46. End Function
  47. Public Function NuevoDato(ByVal Coleccion As Collection, ByVal Diccionario As Dictionary(Of String, Collection), ByVal Codigo As String)
  48. Dim objCon As New Conexion
  49. Dim retorno As Integer
  50. Dim sql As String
  51. Dim cmd As SqlCommand
  52. Dim myTrans As SqlTransaction
  53. Dim cn As SqlConnection = objCon.Conectar
  54. If cn.State = ConnectionState.Closed Then
  55. cn.Open()
  56. End If
  57. myTrans = cn.BeginTransaction()
  58. Try
  59. sql = "INSERT INTO [dbo].[DAP0](
  60. [CodInv]
  61. ,[MontoInv]
  62. ,[FOper]
  63. ,[FVenc]
  64. ,[Tasa]
  65. ,[Plazo]
  66. ,[Periodic]
  67. ,[RendBr]
  68. ,[RendNet]
  69. ,[IngrBrutoTot]
  70. ,[IngrNetoTot]
  71. ,[Renta]
  72. ) VALUES(
  73. @CodInv
  74. ,@MontoInv
  75. ,@FOper
  76. ,@FVenc
  77. ,@Tasa
  78. ,@Plazo
  79. ,@Periodic
  80. ,@RendBr
  81. ,@RendNet
  82. ,@IngrBrutoTot
  83. ,@IngrNetoTot
  84. ,@Renta
  85. )
  86. "
  87. cmd = New SqlCommand
  88. cmd.CommandText = sql
  89. cmd.Connection = cn
  90. cmd.Transaction = myTrans
  91. With cmd.Parameters
  92. .Add("@CodInv ", SqlDbType.VarChar).Value = Codigo.ToString
  93. .Add("@MontoInv", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion(1).ToString)
  94. .Add("@FOper", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(Coleccion(2).ToString)
  95. .Add("@FVenc", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(Coleccion(3).ToString)
  96. .Add("@Tasa", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion(4).ToString)
  97. .Add("@Plazo", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion(5).ToString)
  98. .Add("@Periodic", SqlDbType.VarChar).Value = Coleccion(6).ToString
  99. .Add("@RendBr", SqlDbType.VarChar).Value = Coleccion(7).ToString
  100. .Add("@RendNet", SqlDbType.VarChar).Value = Coleccion(8).ToString
  101. .Add("@IngrBrutoTot", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(9).ToString)
  102. .Add("@IngrNetoTot", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(10).ToString)
  103. .Add("@Renta", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(11).ToString)
  104. End With
  105. retorno = cmd.ExecuteNonQuery
  106. sql = "INSERT INTO [dbo].[DAP1](
  107. [CodInv]
  108. ,[Correlativo]
  109. ,[Plazo]
  110. ,[Fecha]
  111. ,[IngrBruto]
  112. ,[PorcImp]
  113. ,[MontoImp]
  114. ,[IngrNeto]
  115. ) VALUES(
  116. @CodInv
  117. ,@Correlativo
  118. ,@Plazo
  119. ,@Fecha
  120. ,@IngrBruto
  121. ,@PorcImp
  122. ,@MontoImp
  123. ,@IngrNeto
  124. )
  125. "
  126. If Not Diccionario Is Nothing Then
  127. For Each DatosDiccionario In Diccionario
  128. Dim Coleccion2 As Collection = DatosDiccionario.Value
  129. cmd = New SqlCommand
  130. cmd.CommandText = sql
  131. cmd.Connection = cn
  132. cmd.Transaction = myTrans
  133. With cmd.Parameters
  134. .Add("@CodInv ", SqlDbType.VarChar).Value = Codigo.ToString
  135. .Add("@Correlativo", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion2(1).ToString)
  136. .Add("@Plazo", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion2(2).ToString)
  137. .Add("@Fecha", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(Coleccion2(3).ToString)
  138. .Add("@IngrBruto", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion2(4).ToString)
  139. .Add("@PorcImp", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion2(5).ToString)
  140. .Add("@MontoImp", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion2(6).ToString)
  141. .Add("@IngrNeto", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion2(7).ToString)
  142. End With
  143. retorno = cmd.ExecuteNonQuery
  144. Next
  145. End If
  146. myTrans.Commit()
  147. MsgBox("Datos Ingresados")
  148. Catch ex As Exception
  149. myTrans.Rollback()
  150. MsgBox(ex.Message)
  151. End Try
  152. cn.Close()
  153. Return retorno
  154. End Function
  155. Public Function NuevoElemento(ByVal Coleccion As Collection, ByVal Codigo As String)
  156. Dim objCon As New Conexion
  157. Dim retorno As Integer
  158. Dim sql As String
  159. Dim cmd As SqlCommand
  160. Dim cn As SqlConnection = objCon.Conectar
  161. If cn.State = ConnectionState.Closed Then
  162. cn.Open()
  163. End If
  164. sql = "INSERT INTO [dbo].[DAP1](
  165. [CodInv]
  166. ,[Correlativo]
  167. ,[Plazo]
  168. ,[Fecha]
  169. ,[IngrBruto]
  170. ,[PorcImp]
  171. ,[MontoImp]
  172. ,[IngrNeto]
  173. ) VALUES(
  174. @CodInv
  175. ,@Correlativo
  176. ,@Plazo
  177. ,@Fecha
  178. ,@IngrBruto
  179. ,@PorcImp
  180. ,@MontoImp
  181. ,@IngrNeto
  182. )
  183. "
  184. cmd = New SqlCommand
  185. cmd.CommandText = sql
  186. With cmd.Parameters
  187. .Add("@CodInv ", SqlDbType.VarChar).Value = Codigo.ToString
  188. .Add("@Correlativo", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion(1).ToString)
  189. .Add("@Plazo", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion(2).ToString)
  190. .Add("@Fecha", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(Coleccion(3).ToString)
  191. .Add("@IngrBruto", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion(4).ToString)
  192. .Add("@PorcImp", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion(5).ToString)
  193. .Add("@MontoImp", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion(6).ToString)
  194. .Add("@IngrNeto", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion(7).ToString)
  195. End With
  196. cmd.Connection = cn
  197. retorno = cmd.ExecuteNonQuery
  198. cn.Close()
  199. Return retorno
  200. End Function
  201. Public Sub EliminarElemento(ByVal Codigo As String)
  202. Dim objCon As New Conexion
  203. Dim sql As String
  204. Dim cmd As SqlCommand
  205. Dim res As Integer
  206. Dim cn As SqlConnection = objCon.Conectar
  207. If cn.State = ConnectionState.Closed Then
  208. cn.Open()
  209. End If
  210. sql = "DELETE FROM [dbo].[DAP1]
  211. WHERE [CodInv]=@CodInv "
  212. cmd = New SqlCommand
  213. cmd.CommandText = sql
  214. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  215. cmd.Connection = cn
  216. cn.Close()
  217. res = cmd.ExecuteNonQuery
  218. End Sub
  219. Public Function ModificarDato(ByVal Coleccion As Collection, ByVal Codigo As String, ByVal Diccionario As Dictionary(Of String, Collection))
  220. Dim objCon As New Conexion
  221. Dim retorno As Integer
  222. Dim sql As String
  223. Dim cmd As SqlCommand
  224. Dim myTrans As SqlTransaction
  225. Dim cn As SqlConnection = objCon.Conectar
  226. If cn.State = ConnectionState.Closed Then
  227. cn.Open()
  228. End If
  229. myTrans = cn.BeginTransaction()
  230. Try
  231. sql = "UPDATE [dbo].[DAP0] SET
  232. [MontoInv]=@MontoInv
  233. ,[FOper]=@FOper
  234. ,[FVenc]=@FVenc
  235. ,[Tasa]=@Tasa
  236. ,[Plazo]=@Plazo
  237. ,[Periodic]=@Periodic
  238. ,[RendBr]=@RendBr
  239. ,[RendNet]=@RendNet
  240. ,[IngrBrutoTot]=@IngrBrutoTot
  241. ,[IngrNetoTot]=@IngrNetoTot
  242. ,[Renta]=@Renta
  243. where [CodInv]= @CodInv
  244. "
  245. cmd = New SqlCommand
  246. cmd.CommandText = sql
  247. cmd.Connection = cn
  248. cmd.Transaction = myTrans
  249. With cmd.Parameters
  250. .Add("@CodInv ", SqlDbType.VarChar).Value = Codigo.ToString
  251. .Add("@MontoInv", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion(1).ToString)
  252. .Add("@FOper", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(Coleccion(2).ToString)
  253. .Add("@FVenc", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(Coleccion(3).ToString)
  254. .Add("@Tasa", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion(4).ToString)
  255. .Add("@Plazo", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion(5).ToString)
  256. .Add("@Periodic", SqlDbType.VarChar).Value = Coleccion(6).ToString
  257. .Add("@RendBr", SqlDbType.VarChar).Value = Coleccion(7).ToString
  258. .Add("@RendNet", SqlDbType.VarChar).Value = Coleccion(8).ToString
  259. .Add("@IngrBrutoTot", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(9).ToString)
  260. .Add("@IngrNetoTot", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(10).ToString)
  261. .Add("@Renta", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(11).ToString)
  262. End With
  263. retorno = cmd.ExecuteNonQuery
  264. sql = "INSERT INTO [dbo].[DAP1](
  265. [CodInv]
  266. ,[Correlativo]
  267. ,[Plazo]
  268. ,[Fecha]
  269. ,[IngrBruto]
  270. ,[PorcImp]
  271. ,[MontoImp]
  272. ,[IngrNeto]
  273. ) VALUES(
  274. @CodInv
  275. ,@Correlativo
  276. ,@Plazo
  277. ,@Fecha
  278. ,@IngrBruto
  279. ,@PorcImp
  280. ,@MontoImp
  281. ,@IngrNeto
  282. )
  283. "
  284. sql = "delete from DAP1 Where CodInv='" + Codigo + "'"
  285. cmd = New SqlCommand
  286. cmd.CommandText = sql
  287. cmd.Connection = cn
  288. cmd.Transaction = myTrans
  289. retorno = cmd.ExecuteNonQuery
  290. If Not Diccionario Is Nothing Then
  291. For Each DatosDiccionario In Diccionario
  292. Dim Coleccion2 As Collection = DatosDiccionario.Value
  293. sql = "INSERT INTO [dbo].[DAP1](
  294. [CodInv]
  295. ,[Correlativo]
  296. ,[Plazo]
  297. ,[Fecha]
  298. ,[IngrBruto]
  299. ,[PorcImp]
  300. ,[MontoImp]
  301. ,[IngrNeto]
  302. ) VALUES(
  303. @CodInv
  304. ,@Correlativo
  305. ,@Plazo
  306. ,@Fecha
  307. ,@IngrBruto
  308. ,@PorcImp
  309. ,@MontoImp
  310. ,@IngrNeto
  311. )
  312. "
  313. cmd = New SqlCommand
  314. cmd.CommandText = sql
  315. cmd.Connection = cn
  316. cmd.Transaction = myTrans
  317. With cmd.Parameters
  318. .Add("@CodInv ", SqlDbType.VarChar).Value = Codigo.ToString
  319. .Add("@Correlativo", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion2(1).ToString)
  320. .Add("@Plazo", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion2(2).ToString)
  321. .Add("@Fecha", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(Coleccion2(3).ToString)
  322. .Add("@IngrBruto", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion2(4).ToString)
  323. .Add("@PorcImp", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion2(5).ToString)
  324. .Add("@MontoImp", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion2(6).ToString)
  325. .Add("@IngrNeto", SqlDbType.Decimal).Value = Operaciones.ConvertirDecimal(Coleccion2(7).ToString)
  326. End With
  327. retorno = cmd.ExecuteNonQuery
  328. Next
  329. End If
  330. myTrans.Commit()
  331. MsgBox("Datos Ingresados")
  332. Catch ex As Exception
  333. myTrans.Rollback()
  334. MsgBox(ex.Message)
  335. End Try
  336. cn.Close()
  337. Return retorno
  338. End Function
  339. Public Sub Eliminar(ByVal Codigo As String)
  340. Dim objCon As New Conexion
  341. Dim retorno As Integer
  342. Dim sql As String
  343. Dim cmd As SqlCommand
  344. Dim myTrans As SqlTransaction
  345. Dim cn As SqlConnection = objCon.Conectar
  346. If cn.State = ConnectionState.Closed Then
  347. cn.Open()
  348. End If
  349. myTrans = cn.BeginTransaction()
  350. Try
  351. sql = "DELETE FROM [dbo].[DAP0]
  352. WHERE [CodInv]=@CodInv"
  353. cmd = New SqlCommand
  354. cmd.CommandText = sql
  355. cmd.Connection = cn
  356. cmd.Transaction = myTrans
  357. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  358. retorno = cmd.ExecuteNonQuery
  359. sql = "DELETE FROM [dbo].[DAP1]
  360. WHERE [CodInv]=@CodInv"
  361. cmd = New SqlCommand
  362. cmd.CommandText = sql
  363. cmd.Connection = cn
  364. cmd.Transaction = myTrans
  365. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  366. retorno = cmd.ExecuteNonQuery
  367. myTrans.Commit()
  368. MsgBox("Datos Eliminados")
  369. Catch ex As Exception
  370. myTrans.Rollback()
  371. MsgBox(ex.Message)
  372. End Try
  373. cn.Close()
  374. End Sub
  375. End Class