Files
SIG/Bancos/CuentasBancariasDetalle.aspx.vb
2022-10-12 17:40:32 -07:00

781 lines
32 KiB
VB.net

Option Explicit On
Option Strict On
Imports Extensiones
Imports System.Runtime.InteropServices
Imports System.IO
Imports System.Data
Partial Class Bancos_CuentasBancariasDetalle
Inherits ClsPaginas
'Configuración
#Region "P R O P I E D A D E S"
Private ReadOnly Property CveCuenta As Integer
Get
Return ViewState("CveCuenta").ToString.ToEntero
End Get
End Property
Private Property DTUsuarios As DataTable
Get
Return CType(ViewState("DTUsuarios"), DataTable)
End Get
Set(value As DataTable)
ViewState("DTUsuarios") = value
End Set
End Property
#End Region
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
If Not IsPostBack Then
CargarTipoCuenta()
CargarBanco()
CargarMoneda()
ViewState("DTUsuarios") = Nothing
Dim tablaUsuariosAux As DataTable = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros("", "Nombre", DistinctColumns:={"CveUsuario", "Nombre", "Usuario"})
DdlUsuarios.DataSource = CargarDdlUsuarios(tablaUsuariosAux)
DdlUsuarios.DataBind()
If Request("CveCuenta") IsNot Nothing AndAlso IsNumeric(Request("CveCuenta")) AndAlso Request("CveCuenta").ToEntero > 0 Then
ViewState("CveCuenta") = Request("CveCuenta")
If UsuarioActual.Empresa.UsaContabilidad Or UsuarioActual.Empresa.UsaAC Then
CargaCuentasContables()
End If
CargaDatos()
'Configuración de Modalidad Update
BtnGuardar.Text = "Guardar Cambios"
'LtlTitulo.Text = "Consulta del Banco:"
CargaDatosUsuarios()
InicializaConvenio()
Else
'Configuración de Modalidad Insert
LblFecha.Text = Now.ToShortDateString()
LtlTitulo.Text = "Agregar Nueva Cuenta Bancaria"
ViewState("CveCuenta") = -1
BtnEliminar.Visible = False
CreaDTUsuarios()
If UsuarioActual.Empresa.UsaContabilidad Or UsuarioActual.Empresa.UsaAC Then
CargaCuentasContables()
End If
'LbAgregarSucursal.Enabled = False
End If
ActivarRegistroAutomatico()
End If
End Sub
#Region " CARGA VALORES INICIALES "
Private Sub SetValues()
ViewState("Orden") = ""
ViewState("OrdenUsuarios") = ""
ViewState("OTipoCuenta") = "TipoCuenta DESC"
ViewState("OEstatus") = "Estatus DESC"
ViewState("OFecha") = "Fecha DESC"
ViewState("OUsuario") = "Usuario DESC"
End Sub
#Region "CARGA COMBOS"
Private Sub CargarTipoCuenta()
DdlTipoCuenta.DataSource = GlobalDTTipoCuenta
DdlTipoCuenta.DataBind()
End Sub
Private Sub CargarBanco()
DdlBanco.DataSource = GlobalDTBancos.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa)
DdlBanco.DataBind()
DdlBanco.Items.Add(New ListItem("Empresa", "0"))
End Sub
Private Sub CargarMoneda()
DdlMoneda.DataSource = GlobalDTMonedas
DdlMoneda.DataBind()
End Sub
Private Sub CargaCuentasContables()
Dim dt As DataTable = Nothing
If UsuarioActual.Empresa.TipoContabilidad = 1 Then
Using ObjContabilidad As New ClsContabilidad
'UsuarioActual.Empresa.Funcionalidad(208).ToEntero
If ObjContabilidad.GetCuentas(-1, "-1", 1, UsuarioActual.CveEmpresa) Then
DDlCuentaContable.DataSource = ObjContabilidad.DtResultados
DDlCuentaContable.DataBind()
DDlCuentaContable.Items.Insert(0, New ListItem("Selecione", "-1"))
DDlCuentaContable.DataTextField = "CtaCodigo"
DDlCuentaContable.DataValueField = "CveCuenta"
End If
End Using
DDlCuentaContable.DataSource = dt
DDlCuentaContable.DataBind()
DDlCuentaContable.Items.Insert(0, New ListItem("-", "-1"))
DdlCuentaContableComplementaria.DataSource = dt
DdlCuentaContableComplementaria.DataBind()
DdlCuentaContableComplementaria.Items.Insert(0, New ListItem("-", "-1"))
If dt IsNot Nothing Then dt.Dispose()
trCuentaContable.Visible = True
trCuentaContableComplementaria.Visible = True
Else
If UsuarioActual.Empresa.TipoContabilidad = 2 Or UsuarioActual.Empresa.UsaAC Then
Dim IdPadre As Integer
Dim Conta As New ClsContPAQi(UsuarioActual.Empresa)
If DdlTipoCuenta.SelectedValue.ToEntero = 1 Then 'Caja Chica
IdPadre = UsuarioActual.Empresa.Funcionalidad(218).ToEntero
Else
Dim tesstr = UsuarioActual.Empresa.Funcionalidad(209)
IdPadre = UsuarioActual.Empresa.Funcionalidad(209).ToEntero
End If
If IdPadre = 0 Then IdPadre = -1
If Conta.GetCuentasRecursiva(IdPadre, 1) Then
dt = Conta.DtResultados
End If
Conta.Dispose()
DDlCuentaContable.DataSource = dt
DDlCuentaContable.DataBind()
DDlCuentaContable.Items.Insert(0, New ListItem("-", "-1"))
DdlCuentaContableComplementaria.DataSource = dt
DdlCuentaContableComplementaria.DataBind()
DdlCuentaContableComplementaria.Items.Insert(0, New ListItem("-", "-1"))
If dt IsNot Nothing Then dt.Dispose()
trCuentaContable.Visible = True
trCuentaContableComplementaria.Visible = True
End If
End If
End Sub
#End Region
#End Region
#Region " CARGA DATOS "
Private Sub CargaDatos()
Dim ObjCuentasBancariasDetalle As New ClsBancos()
If ObjCuentasBancariasDetalle.GetBancosCuentas(CveCuenta, UsuarioActual.CveEmpresa) Then
If ObjCuentasBancariasDetalle.DtResultados.Rows.Count > 0 Then
'Campos para Modificación
If ObjCuentasBancariasDetalle.TipoCuenta.ToString = "Caja Chica" Then
LtlTitulo.Text = " Caja Chica de "
LtlBanco.Text = ObjCuentasBancariasDetalle.NumCuenta
Else
LtlTitulo.Text = "Consulta de Bancos: "
LtlBanco.Text = ObjCuentasBancariasDetalle.Banco
End If
DdlBanco.SelectedValue = ObjCuentasBancariasDetalle.CveBanco.ToString
TxtNumCuenta.Text = ObjCuentasBancariasDetalle.NumCuenta
TxtCLABE.Text = ObjCuentasBancariasDetalle.CLABE
DdlMoneda.SelectedValue = ObjCuentasBancariasDetalle.CveMoneda.ToString
ChkEstatus.Checked = If((ObjCuentasBancariasDetalle.Estatus) = "Activo", True, False)
ChkEstatus.Checked = If((ObjCuentasBancariasDetalle.Estatus) = "Activo", True, False)
LblFecha.Text = ObjCuentasBancariasDetalle.Fecha.ToShortDateString
LblUsuario.Text = ObjCuentasBancariasDetalle.Usuario
TxtConvenio.Text = ObjCuentasBancariasDetalle.ConvenioPagoElectronico.ToString
ChkLayout.Checked = ObjCuentasBancariasDetalle.UsaLayout
ChkLayoutGrupos.Checked = ObjCuentasBancariasDetalle.UsaLayoutGrupos
ChkUsaTarjeta.Checked = ObjCuentasBancariasDetalle.UsaTarjeta
ChkTieneTerminal.Checked = ObjCuentasBancariasDetalle.TieneTerminal
ChkUsaTarjeta_CheckedChanged(Nothing, Nothing)
trFinicial.Visible = False
trLimiteCredito.Visible = True
TxtLimiteCredito.Text = ObjCuentasBancariasDetalle.LimiteCredito.ToString
DdlTipoCuenta.SelectedValue = ObjCuentasBancariasDetalle.CveTipoCuenta.ToString
DdlTipoCuenta_SelectedIndexChanged(DdlTipoCuenta, EventArgs.Empty)
If UsuarioActual.Empresa.TipoContabilizacion = 1 Then
DDlCuentaContable.SelectedValueExist(ObjCuentasBancariasDetalle.CveCuentaConta.ToString)
DdlCuentaContableComplementaria.SelectedValueExist(ObjCuentasBancariasDetalle.CveCuentaContaComplementaria.ToString)
Else
Dim ExisteEnIntems As Boolean = False
For Each li As ListItem In DDlCuentaContable.Items
If li.Value.ToEntero = ObjCuentasBancariasDetalle.IdCtaContable Then
ExisteEnIntems = True
Exit For
End If
Next
If ExisteEnIntems Then
DDlCuentaContable.SelectedValueExist(ObjCuentasBancariasDetalle.IdCtaContable.ToString)
Else
If UsuarioActual.Empresa.TipoContabilidad = 2 Then
Dim objCont As New ClsContPAQi(UsuarioActual.Empresa)
If objCont.GetCuentas(ObjCuentasBancariasDetalle.IdCtaContable, "-1", -1) Then
If objCont.DtResultados.Rows.Count > 0 Then
DDlCuentaContable.Items.Add(New ListItem(objCont.DtResultados.Rows(0)("CtaCodigo").ToString, objCont.DtResultados.Rows(0)("id").ToString))
DDlCuentaContable.SelectedValueExist(ObjCuentasBancariasDetalle.IdCtaContable.ToString)
End If
End If
objCont.Dispose()
End If
End If
DdlCuentaContableComplementaria.SelectedValueExist(ObjCuentasBancariasDetalle.IdCtaContableComplementaria.ToString)
End If
Else
Alert("El Banco Solicitado no existe, por favor revise su búsqueda.", TipoMensaje.MsgAdvertencia)
BtnGuardar.Enabled = False
End If
End If
ObjCuentasBancariasDetalle.Dispose()
End Sub
#End Region
#Region " GUARDAR "
Protected Sub BtnGuardar_Click(sender As Object, e As System.EventArgs) Handles BtnGuardar.Click
Dim ObjCuentasBancariasDetalle As New ClsBancos()
Dim ObjContaAC As ClsContPAQi = Nothing
ObjCuentasBancariasDetalle.IniciaTransacSQL()
Dim ErrorUsuarios = False
If CveCuenta = -1 Then
If ObjCuentasBancariasDetalle.AddBancosCuentas(DdlBanco.SelectedValue.ToEntero, DdlTipoCuenta.SelectedValue.ToEntero, TxtNumCuenta.Text.Trim,
TxtCLABE.Text.Trim, DdlMoneda.SelectedValue.ToEntero, 0, TxtFInicial.Text.Trim.ToEntero, 0, 0, TxtLimiteCredito.Text.Trim.ToDouble, DDlCuentaContable.SelectedValue.ToEntero,
DdlCuentaContableComplementaria.SelectedValue.ToEntero, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, If(ChkLayout.Checked, TxtConvenio.Text, ""), ChkLayout.Checked, ChkUsaTarjeta.Checked, UsaLayoutGrupos:=ChkLayoutGrupos.Checked,
TieneTerminal:=ChkTieneTerminal.Checked) Then
ViewState("CveCuenta") = ObjCuentasBancariasDetalle.TCveCuenta
Else
ErrorUsuarios = True
End If
If Not ErrorUsuarios Then
For Each row As DataRow In DTUsuarios.Rows
If Not ObjCuentasBancariasDetalle.AddBancosCuentasUsuarios(ObjCuentasBancariasDetalle.TCveCuenta, row("CveUsuario").ToString.ToEntero) Then
ErrorUsuarios = True
Exit For
End If
Next
If Not ErrorUsuarios Then
GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) = Nothing
'If ObjCuentasBancariasDetalle.GetBancosCuentasUsuarios(-1) Then
' GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) = ObjCuentasBancariasDetalle.DtResultados
'Else
' ErrorUsuarios = True
'End If
End If
End If
If Not ErrorUsuarios AndAlso UsuarioActual.Empresa.Funcionalidad(200).ToEntero > 1 AndAlso UsuarioActual.Empresa.Funcionalidad(209).ToEntero > 0 Then
ObjContaAC = New ClsContPAQi(UsuarioActual.Empresa)
ObjContaAC.IniciaTransacSQL()
ErrorUsuarios = GuardaCuentasContables(ObjContaAC, ObjCuentasBancariasDetalle)
End If
Else
If ObjCuentasBancariasDetalle.UpdateBancosCuentas(DdlBanco.SelectedValue.ToEntero, DdlTipoCuenta.SelectedValue.ToEntero, TxtNumCuenta.Text.Trim, TxtCLABE.Text.Trim, DdlMoneda.SelectedValue.ToEntero, 0, TxtFInicial.Text.Trim.ToEntero, 0, 0,
TxtLimiteCredito.Text.Trim.ToDouble, DDlCuentaContable.SelectedValue.ToEntero, DdlCuentaContableComplementaria.SelectedValue.ToEntero, "", ChkEstatus.Checked, CveCuenta, TxtConvenio.Text,
ChkLayout.Checked, ChkUsaTarjeta.Checked, UsaLayoutGrupos:=ChkLayoutGrupos.Checked, TieneTerminal:=ChkTieneTerminal.Checked) Then
'CargaDatos()
GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) = Nothing
'If ObjCuentasBancariasDetalle.GetBancosCuentasUsuarios(-1) Then
' GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) = ObjCuentasBancariasDetalle.DtResultados
'Else
' ErrorUsuarios = True
'End If
UpDatos.Update()
Else
ErrorUsuarios = True
End If
End If
If Not ErrorUsuarios Then
ObjCuentasBancariasDetalle.Commit()
If ObjContaAC IsNot Nothing Then ObjContaAC.Commit()
If UsuarioActual.Empresa.Funcionalidad(209).ToEntero > 0 AndAlso UsuarioActual.Empresa.Funcionalidad(200).ToEntero > 0 AndAlso DDlCuentaContable.SelectedValue.ToEntero < 1 Then
BtnAgregaCuentaContable(BtnCuentaContable, Nothing)
End If
Alert(If(CveCuenta > 0, "Los cambios se guardaron correctamente.", "La cuenta se agregó correctamente."), TipoMensaje.MsgInformacion, "document.location.href=""/Bancos/CuentasBancarias.aspx""")
Else
ObjCuentasBancariasDetalle.RollBack()
If ObjContaAC IsNot Nothing Then ObjContaAC.RollBack()
Alert("Ocurrio un error. Por favor intente nuevamente.", TipoMensaje.MsgError)
End If
ObjCuentasBancariasDetalle.Dispose()
If ObjContaAC IsNot Nothing Then ObjContaAC.Dispose()
End Sub
#End Region
#Region " ELIMINAR "
Protected Sub BtnEliminar_Click(sender As Object, e As System.EventArgs) Handles BtnEliminar.Click
Dim ObjCuentasBancariasDetalle As New ClsBancos()
ObjCuentasBancariasDetalle.IniciaTransacSQL()
Dim TieneError = False
'Eliminar usuarios con acceso a la cuenta
For Each row As DataRow In DTUsuarios.Rows
If Not ObjCuentasBancariasDetalle.RemoveBancosCuentasUsuarios(CveCuenta, row("CveUsuario").ToString.ToEntero) Then
TieneError = True
Exit For
End If
Next
'Elimina cuenta
If Not TieneError Then
If Not ObjCuentasBancariasDetalle.RemoveBancosCuentas(CveCuenta) Then
TieneError = True
End If
End If
If Not TieneError Then
ObjCuentasBancariasDetalle.Commit()
Alert("La cuenta se Eliminó correctamente.", TipoMensaje.MsgInformacion, "document.location.href=""/Bancos/CuentasBancarias.aspx""")
Else
ObjCuentasBancariasDetalle.RollBack()
Alert("Ocurrió un error al eliminar la cuenta. Por favor vuelta a intentar.", TipoMensaje.MsgError)
End If
ObjCuentasBancariasDetalle.Dispose()
End Sub
#End Region
#Region " TIPO CUENTA "
Protected Sub DdlTipoCuenta_SelectedIndexChanged(sender As Object, e As EventArgs)
If DdlTipoCuenta.SelectedValue.ToString.ToEntero >= 6 Then
TxtFInicial.Visible = False
LtFInicial.Visible = False
trLimiteCredito.Visible = True
LtLimiteCredito.Visible = True
TxtLimiteCredito.Visible = True
RFVLimiteCredito.Enabled = True
VCELimiteCredito.Enabled = True
Else
TxtFInicial.Visible = True
LtFInicial.Visible = True
trLimiteCredito.Visible = False
LtLimiteCredito.Visible = False
TxtLimiteCredito.Visible = False
RFVLimiteCredito.Enabled = False
VCELimiteCredito.Enabled = False
End If
CargaCuentasContables()
UpDatos.Update()
End Sub
#End Region
#Region " U S U A R I O S - C U E N T A S"
Protected Sub LnkAgregar_Click(sender As Object, e As EventArgs) Handles LnkAgregar.Click
Dim Obj As New ClsBancos
Dim Row As DataRow
If CveCuenta > 0 Then
If Obj.AddBancosCuentasUsuarios(CveCuenta, DdlUsuarios.SelectedValue.ToEntero) Then
DTUsuarios = Obj.DtResultados
GVU.DataSource = Obj.DtResultados
GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) = Nothing
'If Obj.GetBancosCuentasUsuarios(-1) Then
' GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) = Obj.DtResultados
'End If
End If
Else
If DTUsuarios.FiltraParametros(String.Format("CveUsuario = {0}", DdlUsuarios.SelectedValue.ToString)).Rows.Count > 0 Then
Alert("El usuario ya esta registrado en este numero de cuenta", TipoMensaje.MsgAdvertencia)
Else
Row = DTUsuarios.NewRow
Row("CveCuenta") = DTUsuarios.Rows.Count + 1
Row("CveUsuario") = DdlUsuarios.SelectedValue.ToEntero
Row("Nombre") = DdlUsuarios.SelectedItem.Text.ToString
DTUsuarios.Rows.Add(Row)
End If
GVU.DataSource = DTUsuarios
End If
CargaUsuariosDDL()
Obj.Dispose()
GVU.DataBind()
End Sub
Private Sub CargaDatosUsuarios()
Dim ObjCuentasBancariasDetalle As New ClsBancos()
If ObjCuentasBancariasDetalle.GetBancosCuentasUsuariosAcceso(CveCuenta) Then
DTUsuarios = ObjCuentasBancariasDetalle.DtResultados
GVU.DataSource = DTUsuarios
End If
ObjCuentasBancariasDetalle.Dispose()
GVU.DataBind()
End Sub
Public Sub CargaUsuariosDDL()
Dim sUsuarios As String = ""
For Each row As DataRow In DTUsuarios.Rows
sUsuarios = $"{sUsuarios} {row("CveUsuario").ToString},"
Next
If sUsuarios <> "" Then
DdlUsuarios.DataSource = GlobalDTUsuarios(CveEmpresa:=UsuarioActual.CveEmpresa).FiltraParametros($"CveUsuario NOT IN ({sUsuarios.Substring(0, sUsuarios.Length - 1)})", "Nombre")
DdlUsuarios.DataBind()
End If
End Sub
Private Sub CreaDTUsuarios()
DTUsuarios = New DataTable
DTUsuarios.Columns.Add("CveCuenta", GetType(Integer)) ' Consecutivo en este caso
DTUsuarios.Columns.Add("CveUsuario", GetType(Integer))
DTUsuarios.Columns.Add("Nombre", GetType(String))
End Sub
Protected Sub GvDatos_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GVU.RowDeleting
Dim ObjBancos As New ClsBancos
If CveCuenta > 0 Then
If ObjBancos.RemoveBancosCuentasUsuarios(GVU.DataKeys(e.RowIndex)("CveCuenta").ToString.ToEntero, GVU.DataKeys(e.RowIndex)("CveUsuario").ToString.ToEntero) Then
GVU.EditIndex = -1
DTUsuarios = ObjBancos.DtResultados
GVU.DataSource = ObjBancos.DtResultados
GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) = Nothing
'If ObjBancos.GetBancosCuentasUsuarios(-1) Then
' GlobalDTBancosCuentas(-1, CveEmpresa:=UsuarioActual.CveEmpresa) = ObjBancos.DtResultados
'End If
Alert("El usuario se eliminó correctamente.", TipoMensaje.MsgInformacion)
End If
Else
DTUsuarios.Rows.RemoveAt(e.RowIndex)
GVU.DataSource = DTUsuarios
End If
GVU.DataBind()
CargaUsuariosDDL()
ObjBancos.Dispose()
End Sub
#End Region
#Region " AGREGAR CUENTAS CONTABLES"
Private Sub ActivarRegistroAutomatico()
'Cuenta Contable
If DDlCuentaContable.SelectedValue.ToEntero <= 0 And UsuarioActual.Empresa.Funcionalidad(209).ToEntero > 0 Then
DDlCuentaContable.Width = 240
BtnCuentaContable.Visible = True
End If
'Cuenta Contable Complementaria
If DdlCuentaContableComplementaria.SelectedValue.ToEntero <= 0 And UsuarioActual.Empresa.Funcionalidad(210).ToEntero > 0 Then
DdlCuentaContableComplementaria.Width = 240
BtnCuentaContableComplementaria.Visible = True
End If
End Sub
Protected Sub BtnAgregaCuentaContable(ByVal sender As Object, ByVal e As EventArgs)
Dim CuentaContable = DirectCast(sender, Button).CommandArgument.ToString
Dim Button = DirectCast(sender, Button)
Select Case CuentaContable
Case "CuentaContable"
AgregarCuentaContable(Button, DDlCuentaContable)
Case "CuentaContableComplementaria"
AgregarCuentaContable(Button, DdlCuentaContableComplementaria)
End Select
End Sub
Private Sub AgregarCuentaContable(btn As Button, ddl As DropDownList)
Dim IdCuentaContable As Integer = -1
Dim CtaCodigo As String = ""
Dim TieneError = False
Dim IdCtaContable As Integer = -1, IdCtaContableComplementaria As Integer = -1
Dim CtaContableCodigo As String = "-1", CtaComplementariaCodigo As String = "-1"
Dim TipoCase = ""
Dim ObjContaAC As New ClsContPAQi(UsuarioActual.Empresa)
Dim ObjCuentasBancariasDetalle As New ClsBancos()
ObjContaAC.IniciaTransacSQL()
ObjCuentasBancariasDetalle.IniciaTransacSQL()
Dim CuentaPadre = -1
TipoCase = btn.CommandArgument.ToString
Select Case TipoCase
Case "CuentaContable"
CuentaPadre = UsuarioActual.Empresa.Funcionalidad(209).ToEntero
Case "CuentaContableComplementaria"
CuentaPadre = UsuarioActual.Empresa.Funcionalidad(210).ToEntero
End Select
'agrega cuenta
IdCuentaContable = AgregaCuenta(ObjContaAC, CuentaPadre)
If IdCuentaContable > 0 Then
ObjContaAC.GetCuentas(IdCuentaContable, "-1", -1)
Dim dt = ObjContaAC.DtResultados
If dt.Rows.Count = 1 Then
Dim row As DataRow = dt.Rows(0)
CtaCodigo = CStr(row("CtaCodigo"))
Select Case TipoCase
Case "CuentaContable"
IdCtaContable = IdCuentaContable
CtaContableCodigo = CtaCodigo
Case "CuentaContableComplementaria"
IdCtaContableComplementaria = IdCuentaContable
CtaContableCodigo = CtaCodigo
End Select
If Not ObjCuentasBancariasDetalle.VincularCuentasContablesBancarias(IdCtaContable, IdCtaContableComplementaria, CveCuenta) Then
TieneError = True
End If
Else
TieneError = True
End If
Else
TieneError = True
End If
If Not TieneError Then
Alert(String.Format("Se registo la Cuenta Contable: {0}", CtaCodigo, TipoMensaje.MsgInformacion))
ddl.Items.Add(New ListItem(CtaCodigo, IdCuentaContable.ToString)) : ddl.SelectedValueExist(IdCuentaContable.ToString)
btn.Visible = False
ddl.Width = 330
ObjCuentasBancariasDetalle.Commit()
ObjContaAC.Commit()
Else
Alert("error", TipoMensaje.MsgError)
ObjCuentasBancariasDetalle.RollBack()
ObjContaAC.RollBack()
End If
ObjContaAC.Dispose()
ObjCuentasBancariasDetalle.Dispose()
UpDatos.Update()
End Sub
Private Function AgregaCuenta(ObjContaAC As ClsContPAQi, CuentaPadre As Integer) As Integer
Dim IdCuentaContable As Integer = -1
Dim TieneError = False
IdCuentaContable = ObjContaAC.AddSiguienteCuentaHijo(CuentaPadre, TxtNumCuenta.Text.Trim)
If IdCuentaContable > 0 Then
Else
TieneError = True
End If
If TieneError Then
IdCuentaContable = -1
End If
Return IdCuentaContable
End Function
Private Function GuardaCuentasContables(ObjContaAC As ClsContPAQi, ObjCuentasBancariasDetalle As ClsBancos) As Boolean
Dim TieneError = False
Dim IdCuentaContable, IdCuentaContableComplementaria As Integer
'agrega cuenta 1
If ChckCuentaContable.Checked Then
IdCuentaContable = AgregaCuenta(ObjContaAC, UsuarioActual.Empresa.Funcionalidad(209).ToEntero)
If IdCuentaContable < 0 Then
TieneError = True
End If
End If
'agrega cuenta 2
If ChckCuentaContable.Checked Then
IdCuentaContableComplementaria = AgregaCuenta(ObjContaAC, UsuarioActual.Empresa.Funcionalidad(210).ToEntero)
If IdCuentaContableComplementaria < 0 Then
TieneError = True
End If
End If
'vincula ambos
If Not TieneError Then
If Not ObjCuentasBancariasDetalle.VincularCuentasContablesBancarias(IdCuentaContable, IdCuentaContableComplementaria, CveCuenta) Then
TieneError = True
End If
End If
Return TieneError
End Function
#End Region
#Region " Convenio CIE "
Private Sub InicializaConvenio()
If ChkLayout.Checked Then
TrConvenio.Visible = True
Else
TrConvenio.Visible = False
End If
End Sub
Protected Sub ChkLayout_CheckedChanged(sender As Object, e As EventArgs)
InicializaConvenio()
End Sub
Protected Sub ChkUsaTarjeta_CheckedChanged(sender As Object, e As EventArgs)
If ChkUsaTarjeta.Checked AndAlso CveCuenta > 0 Then
DivTarjeta.Visible = True
CargaDatosTarjeta()
Else
DivTarjeta.Visible = False
End If
End Sub
#End Region
#Region "D A T O S T A R J E TA - C R E D I T O"
Private Sub LkbAgregarTarjera_Click(sender As Object, e As EventArgs) Handles LkbAgregarTarjera.Click
Dim ObjTarjeta As New ClsBancos()
Dim TieneError = False
If Not ObjTarjeta.AddTarjetaCredito(CveCuenta, TxtNumTarjeta.Text, TxtNombreResponsable.Text, TxtFechaVencimiento.Text.ToDate, UsuarioActual.CveUsuario) Then
TieneError = True
End If
If Not TieneError Then
Alert("Se guardo la tarjeta de credito correctamente", TipoMensaje.MsgInformacion)
TxtNumTarjeta.Text = ""
TxtNombreResponsable.Text = ""
TxtFechaVencimiento.Text = ""
CargaDatosTarjeta()
Else
Alert("Ocurrio un Error al Guardar la tarjeta de credito", TipoMensaje.MsgError)
End If
ObjTarjeta.Dispose()
UpDatos.Update()
End Sub
Private Sub CargaDatosTarjeta()
Dim ObjTarjeta As New ClsBancos()
If ObjTarjeta.GetTarjetaCredito(-1, CveCuenta, -1) Then
GvTarjetas.DataSource = ObjTarjeta.DtResultados()
Else
GvTarjetas.DataSource = Nothing
End If
GvTarjetas.DataBind()
ObjTarjeta.Dispose()
UpDatos.Update()
End Sub
Private Sub GvTarjetas_RowEditing(sender As Object, e As GridViewEditEventArgs) Handles GvTarjetas.RowEditing
GvTarjetas.EditIndex = e.NewEditIndex
CargaDatosTarjeta()
End Sub
Private Sub GvTarjetas_RowCancelingEdit(sender As Object, e As GridViewCancelEditEventArgs) Handles GvTarjetas.RowCancelingEdit
GvTarjetas.EditIndex = -1
CargaDatosTarjeta()
End Sub
Private Sub GvTarjetas_RowUpdating(sender As Object, e As GridViewUpdateEventArgs) Handles GvTarjetas.RowUpdating
Dim ObjTarjeta As New ClsBancos()
Dim TieneError = False
Dim CveCuentaTarjeta = GvTarjetas.Rows(e.RowIndex).DataKey("CveCuentaTarjeta").ToEntero
Dim CveCuenta As Integer = GvTarjetas.Rows(e.RowIndex).DataKey("CveCuenta").ToEntero
Dim Numero = DirectCast(GvTarjetas.Rows(e.RowIndex).FindControl("TxtNumeroEdit"), TextBox).Text.Trim
Dim Responsable = DirectCast(GvTarjetas.Rows(e.RowIndex).FindControl("TxtResponsableEdit"), TextBox).Text.Trim
Dim Vencimiento = DirectCast(GvTarjetas.Rows(e.RowIndex).FindControl("TxtFechaVencimientoEdit"), TextBox).Text.ToDate
If Not ObjTarjeta.UpdateTarjetaCredito(CveCuentaTarjeta, CveCuenta, Numero, Responsable, Vencimiento, UsuarioActual.CveUsuario) Then
TieneError = True
Else
GvTarjetas.EditIndex = -1
End If
If Not TieneError Then
Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion)
CargaDatosTarjeta()
Else
Alert("Error al actualizar los cambios.", TipoMensaje.MsgError)
End If
ObjTarjeta.Dispose()
UpDatos.Update()
End Sub
Private Sub GvTarjetas_RowDeleting(sender As Object, e As GridViewDeleteEventArgs) Handles GvTarjetas.RowDeleting
Dim ObjTarjeta As New ClsBancos()
Dim TieneError = False
Dim CveCuentaTarjeta = GvTarjetas.Rows(e.RowIndex).DataKey("CveCuentaTarjeta").ToEntero
If ObjTarjeta.RemoveTarjetaCredito(CveCuentaTarjeta, UsuarioActual.CveUsuario) Then
CargaDatosTarjeta()
Alert("Se eliminaron datos correctamente", TipoMensaje.MsgInformacion)
Else
Alert("Error al eliminar", TipoMensaje.MsgError)
End If
ObjTarjeta.Dispose()
UpDatos.Update()
End Sub
Private Sub GvTarjetas_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvTarjetas.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If e.Row.RowIndex = 0 Then
e.Row.Cells(0).Width = Unit.Pixel(100)
e.Row.Cells(1).Width = Unit.Pixel(100)
e.Row.Cells(2).Width = Unit.Pixel(200)
e.Row.Cells(3).Width = Unit.Pixel(20)
e.Row.Cells(4).Width = Unit.Pixel(20)
End If
End If
End Sub
Private Function CargarDdlUsuarios(UsuariosGlobal As DataTable) As DataTable
Dim tablaUsuariosFormateada As DataTable = New DataTable("Usuarios")
Dim columnaNombre As DataColumn = New DataColumn("Nombre")
columnaNombre.DataType = System.Type.GetType("System.String")
Dim columnaCveUsuario As DataColumn = New DataColumn("CveUsuario")
columnaCveUsuario.DataType = System.Type.GetType("System.String")
tablaUsuariosFormateada.Columns.Add(columnaNombre)
tablaUsuariosFormateada.Columns.Add(columnaCveUsuario)
For Each eachRegistro As DataRow In UsuariosGlobal.Rows
Dim renglonAux As DataRow = tablaUsuariosFormateada.NewRow()
renglonAux.Item("Nombre") = $"{eachRegistro.Item("Nombre")}({eachRegistro.Item("Usuario")})"
renglonAux.Item("CveUsuario") = eachRegistro.Item("CveUsuario")
tablaUsuariosFormateada.Rows.Add(renglonAux)
Next
Return tablaUsuariosFormateada
End Function
#End Region
End Class