Option Explicit On Option Strict On Imports Extensiones Imports System.Data Imports Microsoft.Reporting.WebForms Partial Class Compras_RembolsosSinAsignar Inherits ClsPaginas #Region "Propiedades" Private ReadOnly Property CveCajaChica As Integer Get Return ViewState("CveCajaChica").ToString.ToEntero End Get End Property Private ReadOnly Property CvePersonal As Integer Get Return ViewState("CvePersonal").ToString.ToEntero End Get End Property Private Property CveMoneda As Integer Get Return ViewState("CveMoneda").ToString.ToEntero End Get Set(value As Integer) ViewState("CveMoneda") = value End Set End Property Private Property IdCuentaBancaria As Integer Get Return ViewState("IdCuentaBancaria").ToString.ToEntero End Get Set(value As Integer) ViewState("IdCuentaBancaria") = value End Set End Property Private Property NumeroReembolso As String Get NumeroReembolso = ViewState("NumeroReembolso").ToString End Get Set(value As String) ViewState("NumeroReembolso") = value End Set End Property Private Property DtDatos As DataTable Get DtDatos = DirectCast(ViewState("DtDatos"), DataTable) End Get Set(ByVal value As DataTable) ViewState("DtDatos") = value End Set End Property Private Property DtCheques As DataTable Get Return CType(ViewState("DtCheques"), DataTable) End Get Set(value As DataTable) ViewState("DtCheques") = value End Set End Property #End Region Private Sub Compras_RembolsosSinAsignar_Load(sender As Object, e As EventArgs) Handles Me.Load If Not Page.IsPostBack Then ViewState("CveMoneda") = 1 ViewState("CveCajaChica") = -2 'Cargar Filtros Dim dt As DataTable = GlobalDTBancosCuentas(UsuarioActual.CveUsuario, CveEmpresa:=UsuarioActual.CveEmpresa) dt = dt.FiltraParametros(String.Format("CveTipoCuenta = 1")) 'caja chica = 1 DdlCajaChica.DataSource = dt DdlCajaChica.DataBind() End If End Sub #Region "C A R G A S" Private Sub CargaDatos(tCveIE As Integer) Dim ObjIE As New ClsBancos() If ObjIE.GetBancosIE(tCveIE, UsuarioActual.CveEmpresa) Then If ObjIE.DtResultados.Rows.Count > 0 Then LtChequeFecha.Text = ObjIE.FechaDocumento.ToShortDateString HlCheque.Text = ObjIE.Folio HlCheque.NavigateUrl = String.Format("/Bancos/IE.aspx?CveIE={0}", tCveIE) HdnCheque.Value = tCveIE.ToString LtChequeImporte.Text = ObjIE.Importe.FormatoNumero Dim IndexCheque = If(UsuarioActual.TienePermisoProceso(113), DDlCheques.SelectedIndex - 1, DDlCheques.SelectedIndex) TxtChequeSaldo.Text = DtCheques.Rows(DDlCheques.SelectedIndex - 1)("Saldo").ToString.FormatoNumero Else Alert("El Documento solicitado no existe, por favor revise su búsqueda.", TipoMensaje.MsgAdvertencia) End If End If ObjIE.Dispose() End Sub Protected Sub BtnConsultar_Click(sender As Object, e As EventArgs) Handles BtnConsultar.Click If DdlCajaChica.SelectedIndex > 0 Then LimpiaDatos() CargaCxP() Else Alert("Seleccione una Cuenta", TipoMensaje.MsgAdvertencia) End If End Sub #End Region #Region " TABLA CxP " Protected Sub CargaCxP() Dim ObjMovtos As New ClsMovimientos GvCxP.Visible = True ObjMovtos.GetComprasSinVincular(UsuarioActual.CveEmpresa, CveCajaChica, If(TxtNumeroReembolso.Text.Trim = "", "-1", TxtNumeroReembolso.Text.Trim)) DtDatos = ObjMovtos.DtResultados GvCxP.DataSource = DtDatos 'Limpia Ddl Chequesventas DDlCheques.Items.Clear() If CveCajaChica > 0 Then ObjMovtos.GetCajaChicaDetalle(CveCajaChica, UsuarioActual.CveEmpresa) PnlCheques.Visible = True End If DtCheques = ObjMovtos.DtResultados.FiltraParametros("CveIE > 0", "FechaDocumento, FolioFecha") If DtCheques.Rows.Count > 0 Then DDlCheques.DataSource = DtCheques End If ObjMovtos.Dispose() GvCxP.DataBind() DDlCheques.DataBind() DDlCheques.Items.Insert(0, New ListItem("Seleccione", "-1")) DDlCheques_SelectedIndexChanged(DDlCheques, EventArgs.Empty) If GvCxP.Rows.Count > 0 Then 'Valida Proceso 120 para ROL Administrador de obra - Si tiene el proceso no puede guardar If Not UsuarioActual.TienePermisoProceso(120) Then BtnIEGuardar.Enabled = True End If Else BtnIEGuardar.Enabled = False End If UpDatos.Update() UpGuardar.Update() UPCompras.Update() End Sub Protected Sub DdlCajaChica_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlCajaChica.SelectedIndexChanged ViewState("CveCajaChica") = DdlCajaChica.SelectedValue End Sub Protected Sub DDlCheques_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DDlCheques.SelectedIndexChanged If DDlCheques.SelectedValue.ToEntero > 0 Then PnlChequeInfo.Visible = True CargaDatos(DDlCheques.SelectedValue.ToEntero) LimpiaDatos() Else HlCheque.Text = "" HlCheque.NavigateUrl = "" HdnCheque.Value = "-1" LimpiaDatos() PnlChequeInfo.Visible = False End If End Sub Protected Sub LimpiaDatos() For Each gvr As GridViewRow In GvCxP.Rows gvr.FCCheckBox("Chk").Checked = False Next UPCompras.Update() End Sub #End Region #Region "G U A R D A R" Private Sub BtnIEGuardar_Click(sender As Object, e As EventArgs) Handles BtnIEGuardar.Click If DDlCheques.SelectedValue.ToEntero < 0 Then Alert("Debe Seleccionar un cheque", TipoMensaje.MsgAdvertencia) Exit Sub End If Dim ObjMovtos As New ClsMovimientos() Dim TieneError = False ObjMovtos.IniciaTransacSQL() For Each gvr As GridViewRow In GvCxP.Rows If gvr.FCCheckBox("Chk").Checked Then If Not ObjMovtos.UpdatePolizaRembolso(gvr.DataKey("CveCompra").ToEntero, DDlCheques.SelectedValue.ToEntero) Then TieneError = True Exit For End If End If Next If TieneError Then ObjMovtos.RollBack() Alert("Ocurrio un error al actualizar el rembolso", TipoMensaje.MsgError) Else ObjMovtos.Commit() Alert("Se ha guardado con exito", TipoMensaje.MsgInformacion) End If ObjMovtos.Dispose() CargaCxP() End Sub #End Region End Class