PrestamoEmpresarialDAO.vb 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486
  1. Imports System.Data.SqlClient
  2. Public Class PrestamoEmpresarialDAO
  3. Dim Operaciones As New Operaciones
  4. Public Function ProcesoDatos(ByVal Coleccion As Collection, ByVal Codigo As String, ByVal Diccionario2 As Dictionary(Of String, Collection), ByVal Estado As String)
  5. Dim objCon As New Conexion
  6. Dim retorno As Integer
  7. Dim sql As String
  8. Dim cmd As SqlCommand
  9. Dim myTrans As SqlTransaction
  10. Dim cn As SqlConnection = objCon.Conectar
  11. If cn.State = ConnectionState.Closed Then
  12. cn.Open()
  13. End If
  14. myTrans = cn.BeginTransaction()
  15. Try
  16. If Estado = "Nuevo" Then
  17. sql = "INSERT INTO [dbo].[PEMP0](
  18. [CodInv]
  19. ,[monto]
  20. ,[fechaoper]
  21. ,[fechaven]
  22. ,[tasa]
  23. ,[periodicidad]
  24. ,[base]
  25. ,[tipotasa]
  26. ,[comisiondesembolso]
  27. ,[plazodias]
  28. ) VALUES(
  29. @CodInv
  30. ,@monto
  31. ,@fechaoper
  32. ,@fechaven
  33. ,@tasa
  34. ,@periodicidad
  35. ,@base
  36. ,@tipotasa
  37. ,@comisiondesembolso
  38. ,@plazodias
  39. )
  40. "
  41. Else
  42. sql = "UPDATE [dbo].[PEMP0] SET
  43. [monto]=@monto
  44. ,[fechaoper]=@fechaoper
  45. ,[fechaven]=@fechaven
  46. ,[tasa]=@tasa
  47. ,[periodicidad]=@periodicidad
  48. ,[base]=@base
  49. ,[tipotasa]=@tipotasa
  50. ,[comisiondesembolso]=@comisiondesembolso
  51. ,[plazodias]=@plazodias
  52. where [CodInv]=@CodInv
  53. "
  54. End If
  55. cmd = New SqlCommand
  56. cmd.CommandText = sql
  57. cmd.Connection = cn
  58. cmd.Transaction = myTrans
  59. With cmd.Parameters
  60. .Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  61. .Add("@monto", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(1).ToString)
  62. .Add("@fechaoper", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(Coleccion(2).ToString)
  63. .Add("@fechaven", SqlDbType.DateTime).Value = Operaciones.ConvertirFecha(Coleccion(3).ToString)
  64. .Add("@tasa", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(4).ToString)
  65. .Add("@periodicidad", SqlDbType.VarChar).Value = Coleccion(5).ToString
  66. .Add("@base", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion(6).ToString)
  67. .Add("@tipotasa", SqlDbType.VarChar).Value = Coleccion(7).ToString
  68. .Add("@comisiondesembolso", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(8).ToString)
  69. .Add("@plazodias", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion(9).ToString)
  70. End With
  71. retorno = cmd.ExecuteNonQuery
  72. sql = "DELETE FROM [dbo].[PEMP1]
  73. WHERE [CodInv]=@CodInv "
  74. cmd = New SqlCommand
  75. cmd.CommandText = sql
  76. cmd.Connection = cn
  77. cmd.Transaction = myTrans
  78. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  79. retorno = cmd.ExecuteNonQuery
  80. If Not Diccionario2 Is Nothing Then
  81. For Each DatosDiccionario In Diccionario2
  82. Dim Coleccion2 As Collection = DatosDiccionario.Value
  83. sql = "INSERT INTO [dbo].[PEMP1](
  84. [CodInv]
  85. ,[correlativo]
  86. ,[plazo]
  87. ,[fechapago]
  88. ,[ingresarcomision]
  89. ,[ingresarinteres]
  90. ,[IVA]
  91. ,[amortizacion]
  92. ,[montorecibir]
  93. ,[saldopendiente]
  94. ,[fechacorte]
  95. ) VALUES(
  96. @CodInv
  97. ,@correlativo
  98. ,@plazo
  99. ,@fechapago
  100. ,@ingresarcomision
  101. ,@ingresarinteres
  102. ,@IVA
  103. ,@amortizacion
  104. ,@montorecibir
  105. ,@saldopendiente
  106. ,@fechacorte
  107. )
  108. "
  109. cmd = New SqlCommand
  110. cmd.CommandText = sql
  111. cmd.Connection = cn
  112. cmd.Transaction = myTrans
  113. With cmd.Parameters
  114. .Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  115. .Add("@correlativo", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion2(1).ToString)
  116. .Add("@plazo", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion2(2).ToString)
  117. .Add("@fechapago", SqlDbType.Date).Value = Operaciones.ConvertirFecha(Coleccion2(3).ToString)
  118. .Add("@ingresarcomision", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion2(4).ToString)
  119. .Add("@ingresarinteres", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion2(5).ToString)
  120. .Add("@IVA", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion2(6).ToString)
  121. .Add("@amortizacion", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion2(7).ToString)
  122. .Add("@saldopendiente", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion2(8))
  123. .Add("@montorecibir", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion2(9).ToString)
  124. .Add("@fechacorte", SqlDbType.Date).Value = Operaciones.ConvertirFechaBaseDatos(Coleccion2(10).ToString)
  125. End With
  126. retorno = cmd.ExecuteNonQuery
  127. Next
  128. End If
  129. ''''''''''''''''''
  130. myTrans.Commit()
  131. MsgBox("Datos Ingresados")
  132. Catch ex As Exception
  133. myTrans.Rollback()
  134. MsgBox(ex.Message)
  135. End Try
  136. cn.Close()
  137. Return retorno
  138. End Function
  139. Public Function NuevoDetalle(ByVal Coleccion As Collection, ByVal Codigo As String)
  140. Dim objCon As New Conexion
  141. Dim retorno As Integer
  142. Dim sql As String
  143. Dim cmd As SqlCommand
  144. Dim cn As SqlConnection = objCon.Conectar
  145. If cn.State = ConnectionState.Closed Then
  146. cn.Open()
  147. End If
  148. sql = "INSERT INTO [dbo].[PEMP1](
  149. [CodInv]
  150. ,[correlativo]
  151. ,[plazo]
  152. ,[fechapago]
  153. ,[ingresarcomision]
  154. ,[ingresarinteres]
  155. ,[IVA]
  156. ,[amortizacion]
  157. ,[montorecibir]
  158. ,[saldopendiente]
  159. ,[fechacorte]
  160. ) VALUES(
  161. @CodInv
  162. ,@correlativo
  163. ,@plazo
  164. ,@fechapago
  165. ,@ingresarcomision
  166. ,@ingresarinteres
  167. ,@IVA
  168. ,@amortizacion
  169. ,@montorecibir
  170. ,@saldopendiente
  171. ,@fechacorte
  172. )
  173. "
  174. cmd = New SqlCommand
  175. cmd.CommandText = sql
  176. With cmd.Parameters
  177. .Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  178. .Add("@correlativo", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion(1).ToString)
  179. .Add("@plazo", SqlDbType.Int).Value = Operaciones.ConvertirEntero(Coleccion(2).ToString)
  180. .Add("@fechapago", SqlDbType.Date).Value = Operaciones.ConvertirFecha(Coleccion(3).ToString)
  181. .Add("@ingresarcomision", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(4).ToString)
  182. .Add("@ingresarinteres", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(5).ToString)
  183. .Add("@IVA", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(6).ToString)
  184. .Add("@amortizacion", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(7).ToString)
  185. .Add("@saldopendiente", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(8))
  186. .Add("@montorecibir", SqlDbType.Float).Value = Operaciones.ConvertirDecimal(Coleccion(9).ToString)
  187. .Add("@fechacorte", SqlDbType.Date).Value = Operaciones.ConvertirFechaBaseDatos(Coleccion(10).ToString)
  188. End With
  189. cmd.Connection = cn
  190. retorno = cmd.ExecuteNonQuery
  191. cn.Close()
  192. Return retorno
  193. End Function
  194. Public Function CargarDato(ByVal Codigo As String)
  195. Dim objCon As New Conexion
  196. Dim sql As String
  197. Dim cmd As SqlCommand
  198. Dim Coleccion As New Collection
  199. Dim cn As SqlConnection = objCon.Conectar
  200. If cn.State = ConnectionState.Closed Then
  201. cn.Open()
  202. End If
  203. sql = "SELECT * FROM [dbo].[PEMP0] WHERE CodInv=@Codigo"
  204. cmd = New SqlCommand
  205. cmd.CommandText = sql
  206. cmd.Parameters.Add("@Codigo", SqlDbType.VarChar).Value = Codigo
  207. cmd.Connection = cn
  208. ' Dim Datos = cmd.ExecuteScalar
  209. Dim Datos = cmd.ExecuteReader
  210. If Datos.HasRows Then
  211. 'SE ENCONTRO EL REGISTRO
  212. If Datos.Read Then
  213. Coleccion.Add(Datos.Item("monto"))
  214. Coleccion.Add(Datos.Item("fechaoper"))
  215. Coleccion.Add(Datos.Item("fechaven"))
  216. Coleccion.Add(Datos.Item("tasa").ToString + "%")
  217. Coleccion.Add(Datos.Item("periodicidad"))
  218. Coleccion.Add(Datos.Item("base"))
  219. Coleccion.Add(Datos.Item("tipotasa"))
  220. Coleccion.Add(Datos.Item("comisiondesembolso").ToString + "%")
  221. Coleccion.Add(Datos.Item("plazodias"))
  222. cn.Close()
  223. Return Coleccion
  224. End If
  225. End If
  226. cn.Close()
  227. Return False
  228. End Function
  229. Public Function CargarDetalles(ByVal codigo As String)
  230. Dim objCon As New Conexion
  231. Dim cn As SqlConnection = objCon.Conectar
  232. If cn.State = ConnectionState.Closed Then
  233. cn.Open()
  234. End If
  235. Dim sql = "select * from PEMP1 where CodInv='" + codigo + "' order by Correlativo"
  236. Dim cmd As New SqlCommand(sql, cn)
  237. Dim dr As SqlDataReader
  238. dr = cmd.ExecuteReader
  239. Return dr
  240. End Function
  241. Public Sub Eliminar(ByVal Codigo As String)
  242. Dim objCon As New Conexion
  243. Dim retorno As Integer
  244. Dim sql As String
  245. Dim cmd As SqlCommand
  246. Dim myTrans As SqlTransaction
  247. Dim cn As SqlConnection = objCon.Conectar
  248. If cn.State = ConnectionState.Closed Then
  249. cn.Open()
  250. End If
  251. myTrans = cn.BeginTransaction()
  252. Try
  253. sql = "DELETE FROM [dbo].[PEMP0]
  254. WHERE [CodInv]=@CodInv"
  255. cmd = New SqlCommand
  256. cmd.CommandText = sql
  257. cmd.Connection = cn
  258. cmd.Transaction = myTrans
  259. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  260. retorno = cmd.ExecuteNonQuery
  261. sql = "DELETE FROM [dbo].[PEMP1]
  262. WHERE [CodInv]=@CodInv"
  263. cmd = New SqlCommand
  264. cmd.CommandText = sql
  265. cmd.Connection = cn
  266. cmd.Transaction = myTrans
  267. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  268. retorno = cmd.ExecuteNonQuery
  269. myTrans.Commit()
  270. MsgBox("Datos Eliminados")
  271. Catch ex As Exception
  272. myTrans.Rollback()
  273. MsgBox(ex.Message)
  274. End Try
  275. cn.Close()
  276. End Sub
  277. Public Function EliminarDetalles(ByVal Correlativo As Integer, ByVal Codigo As String)
  278. Dim objCon As New Conexion
  279. Dim sql As String
  280. Dim cmd As SqlCommand
  281. Dim res As Integer
  282. Dim cn As SqlConnection = objCon.Conectar
  283. If cn.State = ConnectionState.Closed Then
  284. cn.Open()
  285. End If
  286. sql = "DELETE FROM [dbo].[PEMP1]
  287. WHERE [CodInv]=@CodInv and [Correlativo]=@Correlativo"
  288. Try
  289. cmd = New SqlCommand
  290. cmd.CommandText = sql
  291. cmd.Parameters.Add("@CodInv", SqlDbType.VarChar).Value = Codigo
  292. cmd.Parameters.Add("@Correlativo", SqlDbType.VarChar).Value = Correlativo
  293. cmd.Connection = cn
  294. res = cmd.ExecuteNonQuery
  295. Catch ex As Exception
  296. cn.Close()
  297. Return Nothing
  298. End Try
  299. cn.Close()
  300. Return 1
  301. End Function
  302. End Class