Option Explicit On Option Strict On Imports System.Data Imports Extensiones Partial Class Ventas_Promociones Inherits ClsPaginas #Region " PROPIEDADES " Private Property TempDT As DataTable Get Return CType(ViewState("TempDT"), DataTable) End Get Set(value As DataTable) ViewState("TempDT") = value End Set End Property Private Property TempDTOrigial As DataTable Get Return CType(ViewState("TempDTOrigial"), DataTable) End Get Set(value As DataTable) ViewState("TempDTOrigial") = value End Set End Property Private Property CvePromocion As Integer Get Return ViewState("CvePromocion").ToString.ToEntero End Get Set(value As Integer) ViewState("CvePromocion") = value End Set End Property Private Property CveConsecutivo As Integer Get Return ViewState("CveConsecutivo").ToString.ToEntero End Get Set(value As Integer) ViewState("CveConsecutivo") = value End Set End Property Private Property DtSubProyectos As DataTable Get Return If(IsNothing(ViewState("DtSubProyectos")), Nothing, CType(ViewState("DtSubProyectos"), DataTable)) End Get Set(value As DataTable) ViewState("DtSubProyectos") = value End Set End Property #End Region Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load If Not Page.IsPostBack Then CvePromocion = -1 CargaValoresIniciales() CargaMonedas() If Request("CvePromocion") IsNot Nothing AndAlso Request("CvePromocion").ToString.ToEntero > 0 Then CvePromocion = Request("CvePromocion").ToString.ToEntero CargaDatos() Else ChkEstatus.Enabled = True ChkEstatus.Checked = True CreaDT() End If CargaGvBitacora() End If End Sub #Region "BITACORA" Private Sub CargaGvBitacora() If CvePromocion > 0 Then divBitacora.Visible = True Dim ObjGral As New ClsGenerales() If ObjGral.GetHistorialBitacora(-1, -1, -1, -1, -1, -1, -1, UsuarioActual.CveEmpresa, CvePromocion:=CvePromocion) Then GvBitacora.DataSource = ObjGral.DtResultados End If ObjGral.Dispose() GvBitacora.DataBind() UpHistorialModificacion.Update() Else divBitacora.Visible = False End If End Sub #End Region #Region " VALORES INICIALES " Private Sub CargaValoresIniciales() Dim ObjPS As New ClsProductosServicios 'CLASIFICACIONES DdlClasificacion.DataSource = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltraParametros(" Codigo = '' OR Codigo IS NULL ", Orderby:="Clasificacion") DdlClasificacion.DataBind() DdlClasificacion.Items.Insert(0, New ListItem("Seleccione", "-1")) 'CARGA PS DdlPS.setEsWebService(UsuarioActual.Empresa.Funcionalidad(105) = "1") If Not DdlPS.UsaWebService AndAlso CType(DdlPS.DataSource, DataTable) Is Nothing Then DdlPS.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa) DdlPS.DataBind() End If 'CARGA SUBPROYECTOS DdlSubProyecto.DataSource = GlobalDTSubProyectos(-1, CveEmpresa:=UsuarioActual.CveEmpresa) DdlSubProyecto.DataBind() DdlSubProyecto.Items.Insert(0, New ListItem("Todos", "-1")) DdlVendedor.DataSource = GlobalDTVendedores(UsuarioActual.CveEmpresa) DdlVendedor.DataBind() DdlVendedor.Items.Insert(0, New ListItem("Todos", "-1")) 'DdlCliente.DataSource = GlobalDTCliente(UsuarioActual.CveEmpresa) 'DdlCliente.DataBind() 'DdlCliente.Items.Insert(0, New ListItem("todos", "-1")) DdlClientes.setEsWebService(True) TxtFechaI.Text = Now.FirstDayOfMonth.ToShortDateString TxtFechaF.Text = Now.LastDayOfMonth.ToShortDateString If ObjPS.GetMarcas(UsuarioActual.CveEmpresa) Then DdlMarca.DataSource = ObjPS.DtResultados End If ObjPS.Dispose() DdlMarca.DataBind() DdlMarca.Items.Insert(0, New ListItem("Todos", "-1")) If UsuarioActual.Empresa.Funcionalidad(558) = "1" Then GvDatos.Columns(8).Visible = True DivRin.Visible = True Dim ObjGral As New ClsGenerales If ObjGral.GetRimTamanios(UsuarioActual.CveEmpresa) Then DdlRin.DataSource = ObjGral.DtResultados End If ObjGral.Dispose() DdlRin.DataBind() DdlRin.Items.Insert(0, New ListItem("Todos", "-1")) End If End Sub Private Sub CreaDT() TempDT = New DataTable TempDT.Columns.Add("Estatus", GetType(Integer)) TempDT.Columns.Add("CvePromocionDetalle", GetType(Integer)) TempDT.Columns.Add("CveClasificacion", GetType(Integer)) TempDT.Columns.Add("Clasificacion", GetType(String)) TempDT.Columns.Add("CvePS", GetType(Integer)) TempDT.Columns.Add("CodigoPS", GetType(String)) TempDT.Columns.Add("PUAnterior", GetType(Decimal)) TempDT.Columns.Add("PUPromocion", GetType(Decimal)) TempDT.Columns.Add("CveTipoPromocion", GetType(Integer)) TempDT.Columns.Add("CveRinTamaño", GetType(Integer)) TempDT.Columns.Add("TipoPromocion", GetType(String)) TempDT.Columns.Add("Promocion", GetType(String)) TempDT.Columns.Add("CantidadMinima", GetType(Integer)) TempDT.Columns.Add("RinTamaño", GetType(String)) TempDT.Columns.Add("AplicaRestriccionTexto", GetType(String)) TempDT.Columns.Add("AplicaRestriccion", GetType(Boolean)) TempDT.Columns.Add("HoraInicio", GetType(DateTime)) TempDT.Columns.Add("HoraFin", GetType(DateTime)) TempDT.Columns.Add("AplicaLunes", GetType(Boolean)) TempDT.Columns.Add("AplicaMartes", GetType(Boolean)) TempDT.Columns.Add("AplicaMiercoles", GetType(Boolean)) TempDT.Columns.Add("AplicaJueves", GetType(Boolean)) TempDT.Columns.Add("AplicaViernes", GetType(Boolean)) TempDT.Columns.Add("AplicaSabado", GetType(Boolean)) TempDT.Columns.Add("AplicaDomingo", GetType(Boolean)) TempDT.Columns.Add("IncluyeImpuestos", GetType(Boolean)) TempDTOrigial = TempDT.Copy '366 Estatus '367 CvePS '368 PUPromocion '369 CveTipoPromocion '370 Cantidad Minima '371 AplicaRestriccion '372 HoraInicio '373 HoraFin '374 AplicaLunes '375 AplicaMartes '376 AplicaMiercoles '377 AplicaJueves '378 AplicaViernes '379 AplicaSabado '380 AplicaDomingo '381 IncluyeImpuestos End Sub #Region " PS " Protected Sub DdlClasificacion_SelectedIndexChanged(sender As Object, e As EventArgs) ChangeDdlProducto() DdlTipoPromocion.Items.FindByValue("1").Enabled = False ' DdlTipoPromocion.Items.FindByValue("3").Enabled = False End Sub Private Sub ChangeDdlProducto() If UsuarioActual.Empresa.Funcionalidad(105) = "" Then DdlPS.DataSource = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa, CveClasificacion:=DdlClasificacion.SelectedValue.ToEntero).FiltraParametros("", "PSCodigo") DdlPS.DataBind() DdlPS.ddl.Items.Insert(0, New ListItem(" Seleccione ", "-1")) Else DdlPS.ddlWS.Attributes.Add("data-idClasificacion", DdlClasificacion.SelectedValue) End If End Sub Protected Sub DdlPS_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlPS.selectedindexchange DdlTipoPromocion.Items.FindByValue("1").Enabled = True DdlTipoPromocion.Items.FindByValue("3").Enabled = True End Sub #End Region #End Region #Region " CARGA DATOS " Private Sub CargaDatos() Dim ObjVentas As New ClsVentas If ObjVentas.GetPromociones(CvePromocion, "-1", -1, -1, -1, UsuarioActual.CveEmpresa, -1) AndAlso ObjVentas.DtResultados.Rows.Count = 1 Then Dim Dr = ObjVentas.DtResultados.Rows(0) TxtPromocion.Text = Dr("Promocion").ToString TxtFechaI.Text = Dr("FechaInicio").ToString.ToDate.ToShortDateString TxtFechaF.Text = Dr("FechaFin").ToString.ToDate.ToShortDateString DdlSubProyecto.SelectedValue = Dr("CveSubProyecto").ToString DdlMarca.SelectedValue = Dr("CveMarca").ToString If Dr("CveVendedor").ToString.ToEntero > 0 Then DdlVendedor.SelectedValue = Dr("CveVendedor").ToString If Dr("CveCliente").ToString.ToEntero > 0 Then If DdlClientes.UsaWebService Then DdlClientes.txtText.Value = Dr("NombreComercial").ToString DdlClientes.txtValue.Value = Dr("CveCliente").ToString Else DdlClientes.SelectedValue = Dr("CveCliente").ToString End If End If ChkEstatus.Checked = If(Dr("Estatus").ToString = "True", True, False) DdlMoneda.SelectedValueExist(Dr("CveMoneda").ToString) DdlMarca.SelectedValueExist(Dr("CveMarca").ToString) DdlTipoAplicacion.SelectedValueExist(Dr("TipoAplicacion").ToString) If ObjVentas.GetPromocionesDetalle(CvePromocion, UsuarioActual.CveEmpresa) Then TempDT = ObjVentas.DtResultados.Copy TempDTOrigial = ObjVentas.DtResultados.Copy CargaGrid() Else Alert("Ocurrió un error al consultar los detalles de la promoción. Por favor vuelva a intentar.", TipoMensaje.MsgError) End If Else Alert("Ocurrió un error al consultar la promoción. Por favor vuelva a intentar.", TipoMensaje.MsgError) End If ObjVentas.Dispose() End Sub Private Sub CargaGrid() GvDatos.DataSource = TempDT.FiltraParametros("Estatus <> 2") GvDatos.DataBind() UpDatos.Update() End Sub Private Sub CargaMonedas() DdlMoneda.DataSource = GlobalDTMonedas DdlMoneda.DataBind() End Sub #End Region #Region " AGREGAR " Protected Sub LbAgregarModal_Click(sender As Object, e As EventArgs) RegistraScript("$('#DivAgregar').modal('show')") CveConsecutivo = -1 DdlClasificacion.SelectedValue = "-1" ChangeDdlProducto() LbPUActual.Text = "" DdlTipoPromocion.SelectedValue = "-1" TxtPromocionConcepto.Text = "" TxtCantMinima.Text = "1" ChkRestricciones.Checked = False 'DivRestricciones.Visible = False ChkLunes.Checked = False ChkMartes.Checked = False ChkMiercoles.Checked = False ChkJueves.Checked = False ChkViernes.Checked = False ChkSabado.Checked = False ChkDomingo.Checked = False BtnAgregar.Text = "Agregar" UpAgregar.Update() End Sub Protected Sub BtnAgregar_Click(sender As Object, e As EventArgs) If DdlClasificacion.SelectedValue.ToEntero <= 0 Then Alert("Debe seleccionar una clasificacion", TipoMensaje.MsgAdvertencia) Exit Sub End If If TxtCantMinima.Text.ToEntero <= 0 Then Alert("La cantidad minima debe ser de 1", TipoMensaje.MsgAdvertencia) Exit Sub End If Dim Dr As DataRow = Nothing If CveConsecutivo >= 0 Then Dr = TempDT.Rows(CveConsecutivo) Dr("Estatus") = 1 Else Dr = TempDT.NewRow Dr("Estatus") = 0 End If If DdlClasificacion.SelectedValue.ToEntero > 0 Then Dr("CveClasificacion") = DdlClasificacion.SelectedValue Dr("Clasificacion") = DdlClasificacion.SelectedItem.Text Else Dr("CveClasificacion") = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimeroValor("CveClasificacion") Dr("Clasificacion") = GlobalDTPS(UsuarioActual.CveEmpresa, CvePS:=DdlPS.SelectedValue.ToEntero).FiltroPrimeroValor("Clasificacion") End If Dr("CvePS") = If(DdlPS.SelectedValue = "", "-1", DdlPS.SelectedValue) Dr("CodigoPS") = If(String.IsNullOrEmpty(DdlPS.SelectedText), "Todos", DdlPS.SelectedText) Dr("PUAnterior") = LbPUActual.Text.ToDecimal Dr("CveTipoPromocion") = DdlTipoPromocion.SelectedValue.ToEntero Dr("TipoPromocion") = DdlTipoPromocion.SelectedItem.Text Dr("Promocion") = TxtPromocionConcepto.Text If DdlTipoPromocion.SelectedValue.ToEntero.Contiene(1, 3) Then Dr("PUPromocion") = TxtPromocionConcepto.Text.ToDecimal Else Dr("PUPromocion") = LbPUActual.Text.ToDecimal - (LbPUActual.Text.ToDecimal * TxtPromocionConcepto.Text.ToDecimal / 100) End If Dr("CantidadMinima") = TxtCantMinima.Text.ToEntero If ChkRestricciones.Checked Then Dr("AplicaRestriccionTexto") = "Si" Dr("AplicaRestriccion") = True Dr("HoraInicio") = Now.ToShortDateString.ToDate.AddHours(TxtHoraInicio.Text.Trim.Substring(0, 2).ToEntero).AddMinutes(TxtHoraInicio.Text.Trim.Substring(2, 2).ToEntero) Dr("HoraFin") = Now.ToShortDateString.ToDate.AddHours(TxtHoraFin.Text.Trim.Substring(0, 2).ToEntero).AddMinutes(TxtHoraFin.Text.Trim.Substring(2, 2).ToEntero) Dr("AplicaLunes") = ChkLunes.Checked Dr("AplicaMartes") = ChkMartes.Checked Dr("AplicaMiercoles") = ChkMiercoles.Checked Dr("AplicaJueves") = ChkJueves.Checked Dr("AplicaViernes") = ChkViernes.Checked Dr("AplicaSabado") = ChkSabado.Checked Dr("AplicaDomingo") = ChkDomingo.Checked Else Dr("AplicaRestriccionTexto") = "No" Dr("AplicaRestriccion") = False Dr("HoraInicio") = MinFecha.ToDateTime Dr("HoraFin") = MaxFecha.ToDateTime Dr("AplicaLunes") = False Dr("AplicaMartes") = False Dr("AplicaMiercoles") = False Dr("AplicaJueves") = False Dr("AplicaViernes") = False Dr("AplicaSabado") = False Dr("AplicaDomingo") = False End If Dr("IncluyeImpuestos") = ChkIncluyeImpuesto.Checked If UsuarioActual.Empresa.Funcionalidad(558) = "1" Then Dr("CveRinTamaño") = DdlRin.SelectedValue.ToEntero Else Dr("CveRinTamaño") = -1 End If If CveConsecutivo >= 0 Then Dr.AcceptChanges() Else TempDT.Rows.Add(Dr) End If CargaGrid() RegistraScript("$('#DivAgregar').modal('hide')") End Sub Protected Sub ChkRestricciones_CheckedChanged(sender As Object, e As EventArgs) DivRestricciones.Visible = ChkRestricciones.Checked End Sub Protected Sub BtnGenerarAPartir_Click(sender As Object, e As EventArgs) CvePromocion = 0 End Sub #End Region #Region " GV PS " Private Sub GvDatos_RowCommand(sender As Object, e As GridViewCommandEventArgs) Handles GvDatos.RowCommand If e.CommandName = "Editar" Then Dim Gvr = GvDatos.Rows(e.CommandArgument.ToString.ToEntero) RegistraScript("$('#DivAgregar').modal('show')") CveConsecutivo = e.CommandArgument.ToString.ToEntero DdlRin.SelectedValueExist(Gvr.DataKey("CveRinTamaño")) DdlClasificacion.SelectedValue = Gvr.DataKey("CveClasificacion") ChangeDdlProducto() If UsuarioActual.Empresa.Funcionalidad(105) = "" Then DdlPS.SelectedValue = Gvr.DataKey("CvePS") Else DdlPS.SelectedValue = Gvr.DataKey("CvePS") DdlPS.SelectedText = Gvr.DataKey("CodigoPS") End If LbPUActual.Text = Gvr.DataKey("PUAnterior").FormatoNumero DdlTipoPromocion.SelectedValue = Gvr.DataKey("CveTipoPromocion") 'DdlTipoPromocion_SelectedIndexChanged(sender, Nothing) TxtPromocionConcepto.Text = Gvr.DataKey("Promocion").FormatoNumero(4) TxtCantMinima.Text = Gvr.DataKey("CantidadMinima") TxtHoraInicio.Text = $"{Gvr.DataKey("HoraInicio").ToDate.Hour}:{Gvr.DataKey("HoraInicio").ToDate.Minute}" TxtHoraFin.Text = $"{Gvr.DataKey("HoraFin").ToDate.Hour}:{Gvr.DataKey("HoraFin").ToDate.Minute}" ChkRestricciones.Checked = CBool(Gvr.DataKey("AplicaRestriccion")) DivRestricciones.Visible = CBool(Gvr.DataKey("AplicaRestriccion")) ChkLunes.Checked = CBool(Gvr.DataKey("AplicaLunes")) ChkMartes.Checked = CBool(Gvr.DataKey("AplicaMartes")) ChkMiercoles.Checked = CBool(Gvr.DataKey("AplicaMiercoles")) ChkJueves.Checked = CBool(Gvr.DataKey("AplicaJueves")) ChkViernes.Checked = CBool(Gvr.DataKey("AplicaViernes")) ChkSabado.Checked = CBool(Gvr.DataKey("AplicaSabado")) ChkDomingo.Checked = CBool(Gvr.DataKey("AplicaDomingo")) ChkIncluyeImpuesto.Checked = CBool(Gvr.DataKey("IncluyeImpuestos")) BtnAgregar.Text = "Actualizar" UpAgregar.Update() GvDatos.EditIndex = -1 End If End Sub Protected Sub GvPS_RowDeleting(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvDatos.RowDeleting Dim DbRow = TempDT.Rows(e.RowIndex) If CvePromocion > 0 Then DbRow("Estatus") = 2 Else TempDT.Rows.Remove(DbRow) End If CargaGrid() End Sub #End Region #Region " GUARDAR " Protected Sub BtnGuardar_Click(sender As Object, e As EventArgs) If CvePromocion > 0 Then ActualizaPromocion() Else GuardaPromocion() End If End Sub Private Sub GuardaPromocion() Dim CveCliente As Integer = If(DdlClientes.SelectedValue = "", -1, DdlClientes.SelectedValue.ToEntero) Dim ObjVentas As New ClsVentas Dim TieneError = False ObjVentas.IniciaTransacSQL() CvePromocion = ObjVentas.AddPromociones(TxtPromocion.Text.Trim, If(IsDate(TxtFechaI.Text), TxtFechaI.Text.ToDate, MinFecha), If(IsDate(TxtFechaF.Text), TxtFechaF.Text.ToDate, MaxFecha), DdlVendedor.SelectedValue.ToEntero, CveCliente, ChkEstatus.Checked, DdlMoneda.SelectedValue.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, DdlSubProyecto.SelectedValue.ToEntero, DdlTipoAplicacion.SelectedValue.ToString, DdlMarca.SelectedValue.ToEntero) If CvePromocion > 0 Then For Each Dr As DataRow In TempDT.Rows If Not ObjVentas.AddPromocionesDetalle(CvePromocion, Dr("CvePS").ToString.ToEntero, Dr("CveTipoPromocion").ToString.ToEntero, Dr("Promocion").ToString.ToDouble, Dr("PUAnterior").ToString.ToDouble, Dr("PUPromocion").ToString.ToDouble, CBool(Dr("AplicaRestriccion")), CBool(Dr("AplicaLunes")), CBool(Dr("AplicaMartes")), CBool(Dr("AplicaMiercoles")), CBool(Dr("AplicaJueves")), CBool(Dr("AplicaViernes")), CBool(Dr("AplicaSabado")), CBool(Dr("AplicaDomingo")), Dr("HoraInicio").ToString.ToDateTime, Dr("HoraFin").ToString.ToDateTime, Dr("CantidadMinima").ToString.ToEntero, CveClasificacion:=If(Dr("CvePS").ToString = "", 20, Dr("CveClasificacion").ToString.ToEntero), CveRinTamaño:=Dr("CveRinTamaño").ToString.ToEntero, IncluyeImpuestos:=ChkIncluyeImpuesto.Checked) Then TieneError = True Exit For End If Next Else TieneError = True End If If Not TieneError Then ObjVentas.Commit() Alert("La promoción se guardo correctamente.", TipoMensaje.MsgInformacion, "document.location.href=""/Ventas/CatPromociones.aspx"";") Else ObjVentas.RollBack() Alert("Ocurrió un error al guardar la promoción. Por favor vuelva a intentar.", TipoMensaje.MsgError) End If ObjVentas.Dispose() End Sub Private Sub ActualizaPromocion() Dim CveCliente As Integer = If(DdlClientes.SelectedValue = "", -1, DdlClientes.SelectedValue.ToEntero) Dim ObjVentas As New ClsVentas Dim TieneError = False ObjVentas.IniciaTransacSQL() Dim ObjGral As New ClsGenerales(ObjVentas.IniciaTransacSQL) If ObjVentas.UpdatePromociones(TxtPromocion.Text.Trim, If(IsDate(TxtFechaI.Text), TxtFechaI.Text.ToDate, MinFecha), If(IsDate(TxtFechaF.Text), TxtFechaF.Text.ToDate, MaxFecha), DdlVendedor.SelectedValue.ToEntero, CveCliente, ChkEstatus.Checked, DdlMoneda.SelectedValue.ToEntero, UsuarioActual.CveUsuario, CvePromocion, DdlSubProyecto.SelectedValue.ToEntero, DdlTipoAplicacion.SELECTEDVALUE.TOENTERO, UsuarioActual.CveEmpresa, CveMarca:=DdlMarca.SelectedValue.ToEntero) Then For Each Dr As DataRow In TempDT.FiltraParametros("Estatus = 0").Rows If Not ObjVentas.AddPromocionesDetalle(CvePromocion, Dr("CvePS").ToString.ToEntero, Dr("CveTipoPromocion").ToString.ToEntero, Dr("Promocion").ToString.ToDouble, Dr("PUAnterior").ToString.ToDouble, Dr("PUPromocion").ToString.ToDouble, CBool(Dr("AplicaRestriccion")), CBool(Dr("AplicaLunes")), CBool(Dr("AplicaMartes")), CBool(Dr("AplicaMiercoles")), CBool(Dr("AplicaJueves")), CBool(Dr("AplicaViernes")), CBool(Dr("AplicaSabado")), CBool(Dr("AplicaDomingo")), Dr("HoraInicio").ToString.ToDateTime, Dr("HoraFin").ToString.ToDateTime, Dr("CantidadMinima").ToString.ToEntero, CveClasificacion:=If(Dr("CvePS").ToString = "-1", Dr("CveClasificacion").ToString.ToEntero, -1), CveRinTamaño:=Dr("CveRinTamaño").ToString.ToEntero, IncluyeImpuestos:=ChkIncluyeImpuesto.Checked) Then TieneError = True Exit For End If If Not TieneError Then If Not ObjGral.AddHistorialBitacora(364, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, "", Dr("CodigoPS").ToString, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then TieneError = True Exit For End If End If Next If Not TieneError Then For Each Dr As DataRow In TempDT.FiltraParametros("Estatus = 1").Rows If Not ObjVentas.UpdatePromocionesDetalle(Dr("CvePromocionDetalle").ToString.ToEntero, CvePromocion, Dr("CvePS").ToString.ToEntero, Dr("CveTipoPromocion").ToString.ToEntero, Dr("Promocion").ToString.ToDouble, Dr("PUAnterior").ToString.ToDouble, Dr("PUPromocion").ToString.ToDouble, CBool(Dr("AplicaRestriccion")), CBool(Dr("AplicaLunes")), CBool(Dr("AplicaMartes")), CBool(Dr("AplicaMiercoles")), CBool(Dr("AplicaJueves")), CBool(Dr("AplicaViernes")), CBool(Dr("AplicaSabado")), CBool(Dr("AplicaDomingo")), Dr("HoraInicio").ToString.ToDateTime, Dr("HoraFin").ToString.ToDateTime, Dr("CantidadMinima").ToString.ToEntero, CveClasificacion:=If(Dr("CvePS").ToString = "-1", Dr("CveClasificacion").ToString.ToEntero, -1), CveRinTamaño:=Dr("CveRinTamaño").ToString.ToEntero, IncluyeImpuestos:=ChkIncluyeImpuesto.Checked) Then TieneError = True Exit For End If If Not TieneError Then '366 Estatus '367 CvePS '368 PUPromocion '369 CveTipoPromocion '370 Cantidad Minima '371 AplicaRestriccion '372 HoraInicio '373 HoraFin '374 AplicaLunes '375 AplicaMartes '376 AplicaMiercoles '377 AplicaJueves '378 AplicaViernes '379 AplicaSabado '380 AplicaDomingo '381 IncluyeImpuestos Dim Dr2 As DataRow = TempDTOrigial.FiltraParametros($"CvePromocionDetalle = {Dr("CvePromocionDetalle").ToString}").Rows(0) If Not TieneError And Dr("CvePS").ToString <> Dr2("CvePS").ToString Then If Not ObjGral.AddHistorialBitacora(367, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Dr("CodigoPS").ToString, Dr2("CodigoPS").ToString, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then TieneError = True Exit For End If End If If Not TieneError And Dr("CveTipoPromocion").ToString <> Dr2("CveTipoPromocion").ToString Then If Not ObjGral.AddHistorialBitacora(369, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Dr("TipoPromocion").ToString, $"{Dr("CodigoPS").ToString} - {Dr2("TipoPromocion").ToString}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then TieneError = True Exit For End If End If If Not TieneError And Dr("CantidadMinima").ToString <> Dr2("CantidadMinima").ToString Then If Not ObjGral.AddHistorialBitacora(370, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Dr("CantidadMinima").ToString, $"{Dr("CodigoPS").ToString} - {Dr2("CantidadMinima").ToString}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then TieneError = True Exit For End If End If 'If Not TieneError And Dr("AplicaRestriccion").ToString <> Dr2("AplicaRestriccion").ToString Then ' If Not ObjGral.AddHistorialBitacora(371, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Dr2("AplicaRestriccion").ToString, $"{Dr("CodigoPS").ToString} - {Dr("AplicaRestriccion").ToString}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then ' TieneError = True ' Exit For ' End If 'End If If Not TieneError And Dr("HoraInicio").ToString <> Dr2("HoraInicio").ToString Then If Not ObjGral.AddHistorialBitacora(372, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Dr("HoraInicio").ToString, $"{Dr("CodigoPS").ToString} - {Dr2("HoraInicio").ToString}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then TieneError = True Exit For End If End If If Not TieneError And Dr("HoraFin").ToString <> Dr2("HoraFin").ToString Then If Not ObjGral.AddHistorialBitacora(373, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Dr("HoraFin").ToString, $"{Dr("CodigoPS").ToString} - {Dr2("HoraFin").ToString}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then TieneError = True Exit For End If End If If Not TieneError And Dr("AplicaLunes").ToString <> Dr2("AplicaLunes").ToString Then Dim EstadoAnterior As String = If(Boolean.Parse(Dr2("AplicaLunes").ToString), "Aplica", "No aplica") Dim EstadoActual As String = If(Boolean.Parse(Dr("AplicaLunes").ToString), "Aplica", "No aplica") If Not ObjGral.AddHistorialBitacora(374, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, EstadoActual, $"{Dr("CodigoPS").ToString} - { EstadoAnterior }", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then TieneError = True Exit For End If End If If Not TieneError And Dr("AplicaMartes").ToString <> Dr2("AplicaMartes").ToString Then Dim EstadoAnterior As String = If(Boolean.Parse(Dr2("AplicaMartes").ToString), "Aplica", "No aplica") Dim EstadoActual As String = If(Boolean.Parse(Dr("AplicaMartes").ToString), "Aplica", "No aplica") If Not ObjGral.AddHistorialBitacora(375, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, EstadoActual, $"{Dr("CodigoPS").ToString} - { EstadoAnterior }", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then TieneError = True Exit For End If End If If Not TieneError And Dr("AplicaMiercoles").ToString <> Dr2("AplicaMiercoles").ToString Then Dim EstadoAnterior As String = If(Boolean.Parse(Dr2("AplicaMiercoles").ToString), "Aplica", "No aplica") Dim EstadoActual As String = If(Boolean.Parse(Dr("AplicaMiercoles").ToString), "Aplica", "No aplica") If Not ObjGral.AddHistorialBitacora(376, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, EstadoActual, $"{Dr("CodigoPS").ToString} - { EstadoAnterior }", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then TieneError = True Exit For End If End If If Not TieneError And Dr("AplicaJueves").ToString <> Dr2("AplicaJueves").ToString Then Dim EstadoAnterior As String = If(Boolean.Parse(Dr2("AplicaJueves").ToString), "Aplica", "No aplica") Dim EstadoActual As String = If(Boolean.Parse(Dr("AplicaJueves").ToString), "Aplica", "No aplica") If Not ObjGral.AddHistorialBitacora(377, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, EstadoActual, $"{Dr("CodigoPS").ToString} - { EstadoAnterior }", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then TieneError = True Exit For End If End If If Not TieneError And Dr("AplicaViernes").ToString <> Dr2("AplicaViernes").ToString Then Dim EstadoAnterior As String = If(Boolean.Parse(Dr2("AplicaViernes").ToString), "Aplica", "No aplica") Dim EstadoActual As String = If(Boolean.Parse(Dr("AplicaViernes").ToString), "Aplica", "No aplica") If Not ObjGral.AddHistorialBitacora(378, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, EstadoActual, $"{Dr("CodigoPS").ToString} - { EstadoAnterior }", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then TieneError = True Exit For End If End If If Not TieneError And Dr("AplicaSabado").ToString <> Dr2("AplicaSabado").ToString Then Dim EstadoAnterior As String = If(Boolean.Parse(Dr2("AplicaSabado").ToString), "Aplica", "No aplica") Dim EstadoActual As String = If(Boolean.Parse(Dr("AplicaSabado").ToString), "Aplica", "No aplica") If Not ObjGral.AddHistorialBitacora(379, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, EstadoActual, $"{Dr("CodigoPS").ToString} - { EstadoAnterior }", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then TieneError = True Exit For End If End If If Not TieneError And Dr("AplicaDomingo").ToString <> Dr2("AplicaDomingo").ToString Then Dim EstadoAnterior As String = If(Boolean.Parse(Dr2("AplicaDomingo").ToString), "Aplica", "No aplica") Dim EstadoActual As String = If(Boolean.Parse(Dr("AplicaDomingo").ToString), "Aplica", "No aplica") If Not ObjGral.AddHistorialBitacora(380, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, EstadoActual, $"{Dr("CodigoPS").ToString} - { EstadoAnterior }", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then TieneError = True Exit For End If End If If Not TieneError And Dr("IncluyeImpuestos").ToString <> Dr2("IncluyeImpuestos").ToString Then Dim EstadoAnterior As String = If(Boolean.Parse(Dr2("IncluyeImpuestos").ToString), "Incluye", "No Incluye") Dim EstadoActual As String = If(Boolean.Parse(Dr("IncluyeImpuestos").ToString), "Incluye", "No Incluye") If Not ObjGral.AddHistorialBitacora(381, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, EstadoActual, $"{Dr("CodigoPS").ToString} - { EstadoAnterior }", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then TieneError = True Exit For End If End If End If Next End If If Not TieneError Then For Each Dr As DataRow In TempDT.FiltraParametros("Estatus = 2").Rows If Not ObjVentas.RemovePromocionesDetalle(Dr("CvePromocionDetalle").ToString.ToEntero) Then TieneError = True Exit For End If If Not TieneError Then If Not ObjGral.AddHistorialBitacora(365, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, Nothing, "", Dr("CodigoPS").ToString, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, 1, "Se elimino " & Dr("CodigoPS").ToString, "PS", "", CvePromocion:=CvePromocion) Then TieneError = True Exit For End If End If Next End If Else TieneError = True End If If Not TieneError Then ObjVentas.Commit() Alert("La promoción se guardo correctamente.", TipoMensaje.MsgInformacion, "document.location.href=""/Ventas/CatPromociones.aspx"";") Else ObjVentas.RollBack() Alert("Ocurrió un error al guardar la promoción. Por favor vuelva a intentar.", TipoMensaje.MsgError) End If ObjVentas.Dispose() End Sub #End Region #Region " ELIMINAR " Protected Sub BtnEliminar_Click(sender As Object, e As EventArgs) Dim ObjVentas As New ClsVentas ObjVentas.IniciaTransacSQL() Dim TieneError = False If ObjVentas.RemovePromocionesDetalle(CvePromocion) Then If Not ObjVentas.RemovePromociones(CvePromocion, UsuarioActual.CveEmpresa) Then TieneError = True End If Else TieneError = True End If If Not TieneError Then ObjVentas.Commit() Alert("La promoción se elimino correctamente.", TipoMensaje.MsgInformacion, "document.location.href=""/Ventas/CatPromociones.aspx"";") Else ObjVentas.RollBack() Alert("Ocurrió un error al registrar la promoción. Por favor vuelva a intentar.", TipoMensaje.MsgError) End If ObjVentas.Dispose() End Sub #End Region 'Protected Sub DdlTipoPromocion_SelectedIndexChanged(sender As Object, e As EventArgs) Handles DdlTipoPromocion.SelectedIndexChanged ' If DdlTipoPromocion.SelectedValue = "3" Then ' DivCantMinima.Visible = True ' Else ' DivCantMinima.Visible = False ' End If 'End Sub End Class