From 8c92146e46015f3f302bfd0d43fd3f5b7d70d323 Mon Sep 17 00:00:00 2001 From: Jonathan Alexis Perez Morales Date: Wed, 12 Jun 2024 10:56:34 -0700 Subject: [PATCH] --FIX. Actualizar precios en franquicias cuando se selecciona el modo multiples precios lista --- Ventas/ActualizarPrecios.aspx.vb | 34 +++++++++++++++++++++++++++----- 1 file changed, 29 insertions(+), 5 deletions(-) diff --git a/Ventas/ActualizarPrecios.aspx.vb b/Ventas/ActualizarPrecios.aspx.vb index 9432e3601..187ef77b2 100644 --- a/Ventas/ActualizarPrecios.aspx.vb +++ b/Ventas/ActualizarPrecios.aspx.vb @@ -343,7 +343,7 @@ Partial Class Ventas_ActualizarPrecios If Not TieneError Then - TieneError = ActualizarPreciosFranquicia(ObjPS, row.DataKey("Codigo"), row.DataKey("PS"), row.FCTextBox("TxtPrecio").Text.ToDecimal, row.FCTextBox("TxtPrecioMinimo").Text.ToDecimal, DdlPrecioLista.SelectedItem.Text) + TieneError = ActualizarPreciosFranquicia(ObjPS, row.DataKey("Codigo"), row.FCTextBox("TxtPrecio").Text.ToDecimal, row.FCTextBox("TxtPrecioMinimo").Text.ToDecimal, DdlPrecioLista.SelectedItem.Text) Else Exit For End If @@ -603,7 +603,7 @@ Partial Class Ventas_ActualizarPrecios Correcto = ObjPS.UpdatePSPreciosLista(PrecioNuevo, CvePrecioLista, Porcentaje, CvePS, UsuarioActual.CveUsuario, NowADS(), True) If Correcto Then RowsCargados += 1 - TieneError = ActualizarPreciosFranquicia(ObjPS, row(0).ToString(), row(1).ToString(), PrecioNuevo, 0, DdlPrecioListaCarga.SelectedItem.Text) + TieneError = ActualizarPreciosFranquicia(ObjPS, row(0).ToString(), PrecioNuevo, 0, DdlPrecioListaCarga.SelectedItem.Text) End If Else If CvePS > 0 AndAlso CvePrecioLista = -2 Then @@ -652,7 +652,7 @@ Partial Class Ventas_ActualizarPrecios End If End Sub - Private Function ActualizarPreciosFranquicia(ObjPS As ClsProductosServicios, Codigo As String, PS As String, Precio As Decimal, PrecioMinimo As Decimal, PrecioLista As String) As Boolean + Private Function ActualizarPreciosFranquicia(ObjPS As ClsProductosServicios, Codigo As String, Precio As Decimal, PrecioMinimo As Decimal, PrecioLista As String, Optional UpdatePrecioMinimo As Boolean = True) As Boolean Dim FranquiciasStr As String = UsuarioActual.Empresa.Funcionalidad(563) Dim StrMsg As New StringBuilder Dim StrMsgError As New StringBuilder @@ -674,7 +674,7 @@ Partial Class Ventas_ActualizarPrecios ' Dim EmpresaFranquicia As String = GlobalDTEmpresas(CveEmpresa:=CveFranquicia).FiltroPrimeroValor("Empresa") ' StrMsg.AppendFormat("El precio lista '{0}' no existe en la Franquicia '{1}'
", DdlPrecioLista.SelectedItem.Text, EmpresaFranquicia) 'End If - If CvePrecioLisa > 0 AndAlso CvePS > 0 AndAlso Not ObjPS.UpdatePSPreciosLista(Precio, CvePrecioLisa, Porcentaje, CvePS, UsuarioActual.CveUsuario, NowADS(), If(RblTipo.SelectedValue = "Imp", True, False), PrecioMinimo:=PrecioMinimo) Then + If CvePrecioLisa > 0 AndAlso CvePS > 0 AndAlso Not ObjPS.UpdatePSPreciosLista(Precio, CvePrecioLisa, Porcentaje, CvePS, UsuarioActual.CveUsuario, NowADS(), If(RblTipo.SelectedValue = "Imp", True, False), PrecioMinimo:=If(UpdatePrecioMinimo, PrecioMinimo, 0)) Then StrMsgError.AppendFormat("No se pudo actualizar el producto") End If Next @@ -960,7 +960,9 @@ Partial Class Ventas_ActualizarPrecios End If End Sub Protected Sub LnkGuardarMultiple_Click(sender As Object, e As EventArgs) - Dim TieneError As Boolean = False + Dim TieneError As Boolean = False + + Dim DtPS As DataTable = GlobalDTPSSimplificado(UsuarioActual.CveEmpresa) Dim ObjPS As New ClsProductosServicios ObjPS.IniciaTransacSQL() @@ -984,6 +986,28 @@ Partial Class Ventas_ActualizarPrecios TieneError = Not ObjPS.UpdatePSPreciosLista(Precio, CvePrecioLista, 0, CvePS, UsuarioActual.CveUsuario, NowADS(), True) + If Not TieneError Then + + Dim text As String = DtPreciosMultiple.Columns(indiceColumna).ColumnName + Dim splitValues As String() = text.Split("|"c) + + If splitValues.Length > 1 Then + + Dim PrecioLista As String = splitValues(1) + + Dim DrPS = DtPS.FiltroPrimero($"CvePS = {CvePS}") + If DrPS IsNot Nothing Then + TieneError = ActualizarPreciosFranquicia(ObjPS, DrPS("Codigo").ToString(), Precio, 0, PrecioLista, UpdatePrecioMinimo:=False) + Else + TieneError = True + End If + + End If + + Else + Exit For + End If + If TieneError Then Exit For End If