ADS - Cargar imágenes de productos

This commit is contained in:
2024-03-21 00:22:24 -07:00
parent d9d43f516e
commit ac5b03218d
5 changed files with 2861 additions and 2754 deletions

View File

@@ -647,6 +647,27 @@ Public Class ClsProductosServicios
Return Retorno
End Function
Public Function UpdatePSImagen(CvePS As Integer, Imagen As String) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Vta_PSImagenUpdate")
With SqlAdapter.SelectCommand.Parameters
.Add("@CvePS", SqlDbType.Int).Value = CvePS
.Add("@Imagen", SqlDbType.VarChar).Value = Imagen
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al guardar la imagen del producto.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Public Function UpdatePS(CveClasificacion As Integer, CveClasificacionCosto As Integer, CveUnidadMedida As Integer, Codigo As String, NumeroParte As String, CodigoBarras As String, PS As String, Precio As Double, IVA As Double, RetIVA As Double, Inventariable As Boolean, CveProveedorCompra As Integer,
AplicaParaConcepto As Boolean, AplicaParaVenta As Boolean, Estado As Boolean, CveUsuario As Integer, CvePS As Integer, CveMetodoInventario As Integer, EsPaquete As Integer, CveSATPS As Integer, CveEmpresa As Integer, Optional CveTipoPS As Integer = -1, Optional TipoServicio As Integer = -1,
Optional CveClasificacion2 As Integer = -1, Optional CveMarca As Integer = -1, Optional AlmacenSeccion As String = "", Optional AplicaIEPS As Boolean = False, Optional IEPSPorcentaje As Decimal = -1,

File diff suppressed because it is too large Load Diff

View File

@@ -132,6 +132,15 @@ Partial Class ProductosyServicios
ViewState("GeneraServicioAF") = value
End Set
End Property
Public Property Imagen As String
Get
Return IfNull(ViewState("Imagen"), "", ViewState("Imagen")).ToString()
End Get
Set(value As String)
ViewState("Imagen") = value
End Set
End Property
#End Region
Private ReadOnly Property PermiteClasificacion2 As Boolean
@@ -952,6 +961,17 @@ Partial Class ProductosyServicios
DdlTipoFactor.SelectedValueExist(ObjProductosServicios.DtResultados.Rows(0)("CveTipoFactor").ToString)
Me.Imagen = ObjProductosServicios.DtResultados.Rows(0)("Imagen").ToString
If Not String.IsNullOrEmpty(Me.Imagen) Then
imgImagen.Attributes.Add("src", String.Format("/ashx/SIGWeb.ashx?Metodo=GetImg&r={0}", Extensiones.Encripta(Me.Imagen)))
hplImagen.Attributes.Add("href", String.Format("/ashx/SIGWeb.ashx?Metodo=GetImg&r={0}", Extensiones.Encripta(Me.Imagen)))
End If
DivImagen.Visible = True
upGaleria.Update()
RegistraScript("clickgaleria();", "CG")
If ObjProductosServicios.DtResultados.Rows(0)("CveTipoFactor").ToString.Contiene("1", "2") Then
LIva.Visible = True
DdlIVA.Visible = True
@@ -2482,83 +2502,83 @@ Partial Class ProductosyServicios
#Region " ECOMMERCE "
Private Sub InicializaEcommerce()
AplicaEcommerce = False
'AplicaEcommerce = False
If UsuarioActual.Empresa.Funcionalidad(700).ToEntero = 1 And CvePS > 0 Then
'If UsuarioActual.Empresa.Funcionalidad(700).ToEntero = 1 And CvePS > 0 Then
TabEcommerce.Visible = True
LBBitacoraEcommerce.Visible = True
' TabEcommerce.Visible = True
' LBBitacoraEcommerce.Visible = True
'INICIALIZA PRODUCTOS ECOMMERCE
Dim ObjEcommerce As New ClsECommerce
If ObjEcommerce.InsigniasGet(-1, "", UsuarioActual.CveEmpresa) Then
DdlEcommerceInsignia.DataSource = ObjEcommerce.DtResultados
End If
ObjEcommerce.Dispose()
DdlEcommerceInsignia.DataBind()
CargaEcommerce()
' 'INICIALIZA PRODUCTOS ECOMMERCE
' Dim ObjEcommerce As New ClsECommerce
' If ObjEcommerce.InsigniasGet(-1, "", UsuarioActual.CveEmpresa) Then
' DdlEcommerceInsignia.DataSource = ObjEcommerce.DtResultados
' End If
' ObjEcommerce.Dispose()
' DdlEcommerceInsignia.DataBind()
' CargaEcommerce()
'INICIALIZA PRODUCTOS INSIGNIAS
CargaPSInsigniasEcommerce()
' 'INICIALIZA PRODUCTOS INSIGNIAS
' CargaPSInsigniasEcommerce()
'INICIALIZA PRODUCTOS IMAGENES
CargarGaleriaImagenesEcommerce()
' 'INICIALIZA PRODUCTOS IMAGENES
' CargarGaleriaImagenesEcommerce()
'INICIALIZA PRODUCTOS RELACIONADOS
DdlEcommercePSRelacionado.setEsWebService(True)
CargaPSRelacionadosEcommerce()
' 'INICIALIZA PRODUCTOS RELACIONADOS
' DdlEcommercePSRelacionado.setEsWebService(True)
' CargaPSRelacionadosEcommerce()
UpEcommerce.Update()
' UpEcommerce.Update()
End If
'End If
End Sub
#Region " PRODUCTOS ECOMMERCE "
Private Sub CargaEcommerce()
Dim DrEcommerce As DataRow = Nothing
Dim ObjEcommerce As New ClsECommerce
If ObjEcommerce.ProductosGet(CvePS, -1, -1, -1, UsuarioActual.CveEmpresa) Then
DrEcommerce = ObjEcommerce.DtResultados.FiltroPrimero("")
End If
ObjEcommerce.Dispose()
'Dim DrEcommerce As DataRow = Nothing
'Dim ObjEcommerce As New ClsECommerce
'If ObjEcommerce.ProductosGet(CvePS, -1, -1, -1, UsuarioActual.CveEmpresa) Then
' DrEcommerce = ObjEcommerce.DtResultados.FiltroPrimero("")
'End If
'ObjEcommerce.Dispose()
If DrEcommerce IsNot Nothing Then
AplicaEcommerce = True
'If DrEcommerce IsNot Nothing Then
' AplicaEcommerce = True
TxtEcommerceDescripcion.Text = DrEcommerce("Descripcion").ToString
TxtEcommercePrecioBase.Text = DrEcommerce("PrecioBase").ToString.FormatoNumero
TxtEcommercePrecioPromocion.Text = DrEcommerce("PrecioPromocion").ToString.FormatoNumero
ChkEcommerceDisponible.Checked = CBool(DrEcommerce("Disponible").ToString)
End If
GvEcommercePSRealacionados.DataBind()
UpEcommercePSRelacionados.Update()
' TxtEcommerceDescripcion.Text = DrEcommerce("Descripcion").ToString
' TxtEcommercePrecioBase.Text = DrEcommerce("PrecioBase").ToString.FormatoNumero
' TxtEcommercePrecioPromocion.Text = DrEcommerce("PrecioPromocion").ToString.FormatoNumero
' ChkEcommerceDisponible.Checked = CBool(DrEcommerce("Disponible").ToString)
'End If
'GvEcommercePSRealacionados.DataBind()
'UpEcommercePSRelacionados.Update()
End Sub
Private Function GuardaEcommerce() As Boolean
Dim TieneError As Boolean = False
If UsuarioActual.Empresa.Funcionalidad(700) = "1" Then
'SI NO SE HA GUARDADO EN ECOMMERCE Y NO TIENE NINGUN VALOR OMITE
If Not AplicaEcommerce And Not ChkEcommerceDisponible.Checked And TxtEcommerceDescripcion.Text.Length = 0 And TxtEcommercePrecioBase.Text.Length = 0 And TxtEcommercePrecioPromocion.Text.Length = 0 Then
Return False
End If
''SI NO SE HA GUARDADO EN ECOMMERCE Y NO TIENE NINGUN VALOR OMITE
'If Not AplicaEcommerce And Not ChkEcommerceDisponible.Checked And TxtEcommerceDescripcion.Text.Length = 0 And TxtEcommercePrecioBase.Text.Length = 0 And TxtEcommercePrecioPromocion.Text.Length = 0 Then
' Return False
'End If
If ChkEcommerceDisponible.Checked Then
If Not ValidaGuardarEcommerce() Then
Return True
End If
End If
'If ChkEcommerceDisponible.Checked Then
' If Not ValidaGuardarEcommerce() Then
' Return True
' End If
'End If
Dim Descripcion As String = TxtEcommerceDescripcion.Text.Trim
Dim PrecioBase As Double = TxtEcommercePrecioBase.Text.Trim.ToDouble
Dim PrecioPromocion As Double = TxtEcommercePrecioPromocion.Text.Trim.ToDouble
Dim Disponible As Boolean = ChkEcommerceDisponible.Checked
'Dim Descripcion As String = TxtEcommerceDescripcion.Text.Trim
'Dim PrecioBase As Double = TxtEcommercePrecioBase.Text.Trim.ToDouble
'Dim PrecioPromocion As Double = TxtEcommercePrecioPromocion.Text.Trim.ToDouble
'Dim Disponible As Boolean = ChkEcommerceDisponible.Checked
Dim ObjEcommerce As New ClsECommerce
If Not ObjEcommerce.ProductosAddUpdate(CvePS, Descripcion, PrecioBase, PrecioPromocion, Disponible, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
TieneError = True
End If
ObjEcommerce.Dispose()
'Dim ObjEcommerce As New ClsECommerce
'If Not ObjEcommerce.ProductosAddUpdate(CvePS, Descripcion, PrecioBase, PrecioPromocion, Disponible, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
' TieneError = True
'End If
'ObjEcommerce.Dispose()
End If
@@ -2569,28 +2589,28 @@ Partial Class ProductosyServicios
Dim Mensaje As New StringBuilder
'DESCRIPCION
Dim Descripcion As String = TxtEcommerceDescripcion.Text.Trim
If Descripcion.Length = 0 Then
Mensaje.Append("- El campo <b>Descripción</b> es obligatorio. Por favor introduzcalo y vuelva a intentar. <br>")
End If
If Descripcion.Length > 255 Then
Mensaje.Append("- El campo <b>Descripción</b> admite maximo 255 caracteres. Por favor verifique y vuelva a intentar. <br>")
End If
'Dim Descripcion As String = TxtEcommerceDescripcion.Text.Trim
'If Descripcion.Length = 0 Then
' Mensaje.Append("- El campo <b>Descripción</b> es obligatorio. Por favor introduzcalo y vuelva a intentar. <br>")
'End If
'If Descripcion.Length > 255 Then
' Mensaje.Append("- El campo <b>Descripción</b> admite maximo 255 caracteres. Por favor verifique y vuelva a intentar. <br>")
'End If
'PRECIO BASE
Dim PrecioBase As Double = TxtEcommercePrecioBase.Text.Trim.ToDouble
If PrecioBase = 0 Then
Mensaje.Append("- El campo <b>Precio</b> es obligatorio. Por favor verifique y vuelva a intentar. <br>")
End If
If PrecioBase < 0 Then
Mensaje.Append("- El campo <b>Precio</b> no puede ser negativo. Por favor verifique y vuelva a intentar. <br>")
End If
''PRECIO BASE
'Dim PrecioBase As Double = TxtEcommercePrecioBase.Text.Trim.ToDouble
'If PrecioBase = 0 Then
' Mensaje.Append("- El campo <b>Precio</b> es obligatorio. Por favor verifique y vuelva a intentar. <br>")
'End If
'If PrecioBase < 0 Then
' Mensaje.Append("- El campo <b>Precio</b> no puede ser negativo. Por favor verifique y vuelva a intentar. <br>")
'End If
'PRECIO FINAL
Dim PrecioPromocion As Double = TxtEcommercePrecioPromocion.Text.Trim.ToDouble
If PrecioPromocion < 0 Then
Mensaje.Append("- El campo <b>Precio Final</b> no puede ser negativo. Por favor verifique y vuelva a intentar. <br>")
End If
''PRECIO FINAL
'Dim PrecioPromocion As Double = TxtEcommercePrecioPromocion.Text.Trim.ToDouble
'If PrecioPromocion < 0 Then
' Mensaje.Append("- El campo <b>Precio Final</b> no puede ser negativo. Por favor verifique y vuelva a intentar. <br>")
'End If
'VALIDACION
@@ -2606,225 +2626,225 @@ Partial Class ProductosyServicios
#Region " PRODUCTOS INSIGNIAS "
Private Sub CargaPSInsigniasEcommerce()
Dim ObjEcommerce As New ClsECommerce
If ObjEcommerce.ProductosInsigniasGet(CvePS, -1, UsuarioActual.CveEmpresa) Then
GvEcommercePSInsignias.DataSource = ObjEcommerce.DtResultados
Else
GvEcommercePSInsignias.DataSource = Nothing
End If
ObjEcommerce.Dispose()
'Dim ObjEcommerce As New ClsECommerce
'If ObjEcommerce.ProductosInsigniasGet(CvePS, -1, UsuarioActual.CveEmpresa) Then
' GvEcommercePSInsignias.DataSource = ObjEcommerce.DtResultados
'Else
' GvEcommercePSInsignias.DataSource = Nothing
'End If
'ObjEcommerce.Dispose()
GvEcommercePSInsignias.DataBind()
UpEcommerceInsignias.Update()
'GvEcommercePSInsignias.DataBind()
'UpEcommerceInsignias.Update()
End Sub
Protected Sub BtnEcommerceInsignias_Click(sender As Object, e As EventArgs)
If Not ValidaAgregarProductosInsigniasEcommerce() Then
Exit Sub
End If
'If Not ValidaAgregarProductosInsigniasEcommerce() Then
' Exit Sub
'End If
Dim TieneError As Boolean = False
Dim CveInsignia As Integer = DdlEcommerceInsignia.SelectedValue.ToEntero
'Dim TieneError As Boolean = False
'Dim CveInsignia As Integer = DdlEcommerceInsignia.SelectedValue.ToEntero
'AGREGAR
Dim ObjEcommerce As New ClsECommerce
If ObjEcommerce.ProductosInsigniasAdd(Me.CvePS, CveInsignia, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
Alert("La Insignia se agregó correctamente.", TipoMensaje.MsgInformacion)
Else
TieneError = True
End If
ObjEcommerce.Dispose()
''AGREGAR
'Dim ObjEcommerce As New ClsECommerce
'If ObjEcommerce.ProductosInsigniasAdd(Me.CvePS, CveInsignia, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
' Alert("La Insignia se agregó correctamente.", TipoMensaje.MsgInformacion)
'Else
' TieneError = True
'End If
'ObjEcommerce.Dispose()
If Not TieneError Then
DdlEcommerceInsignia.SelectedValueExist(-1)
CargaPSInsigniasEcommerce()
End If
'If Not TieneError Then
' DdlEcommerceInsignia.SelectedValueExist(-1)
' CargaPSInsigniasEcommerce()
'End If
End Sub
Private Function ValidaAgregarProductosInsigniasEcommerce() As Boolean
Dim Retorno As Boolean = True
Dim Mensaje As New StringBuilder
'Dim Mensaje As New StringBuilder
'INSIGNIA
Dim CveInsignia As Integer = DdlEcommerceInsignia.SelectedValue.ToEntero
If CveInsignia = 0 Then
Mensaje.Append("- El campo <b>Insignia</b> es obligatorio. Por favor introduzcalo y vuelva a intentar. <br>")
End If
For Each GvRow As GridViewRow In GvEcommercePSInsignias.Rows
If GvRow.DataKey("CveInsignia").ToString.ToEntero = CveInsignia Then
Mensaje.Append($"- La Insignia <b>{DdlEcommerceInsignia.SelectedItem.Text}</b> ya es parte del producto y no se puede duplicar. Por favor verifique y vuelva a intentar. <br>")
Exit For
End If
Next
''INSIGNIA
'Dim CveInsignia As Integer = DdlEcommerceInsignia.SelectedValue.ToEntero
'If CveInsignia = 0 Then
' Mensaje.Append("- El campo <b>Insignia</b> es obligatorio. Por favor introduzcalo y vuelva a intentar. <br>")
'End If
'For Each GvRow As GridViewRow In GvEcommercePSInsignias.Rows
' If GvRow.DataKey("CveInsignia").ToString.ToEntero = CveInsignia Then
' Mensaje.Append($"- La Insignia <b>{DdlEcommerceInsignia.SelectedItem.Text}</b> ya es parte del producto y no se puede duplicar. Por favor verifique y vuelva a intentar. <br>")
' Exit For
' End If
'Next
'VALIDACION
If Mensaje.ToString.Length > 0 Then
Retorno = False
Alert(Mensaje.ToString, TipoMensaje.MsgAdvertencia)
End If
''VALIDACION
'If Mensaje.ToString.Length > 0 Then
' Retorno = False
' Alert(Mensaje.ToString, TipoMensaje.MsgAdvertencia)
'End If
Return Retorno
End Function
Protected Sub GvEcommercePSInsignias_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvEcommercePSInsignias.RowDeleting
Dim TieneError As Boolean = False
Dim GvRow As GridViewRow = GvEcommercePSInsignias.Rows(e.RowIndex)
'Protected Sub GvEcommercePSInsignias_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvEcommercePSInsignias.RowDeleting
' Dim TieneError As Boolean = False
' Dim GvRow As GridViewRow = GvEcommercePSInsignias.Rows(e.RowIndex)
Dim ObjEcommerce As New ClsECommerce
If ObjEcommerce.ProductosInsigniasRemove(GvRow.DataKey("CvePS").ToString.ToEntero, GvRow.DataKey("CveInsignia").ToString.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
Alert("La Insignia se eliminó correctamente.", TipoMensaje.MsgInformacion)
Else
TieneError = True
End If
ObjEcommerce.Dispose()
' Dim ObjEcommerce As New ClsECommerce
' If ObjEcommerce.ProductosInsigniasRemove(GvRow.DataKey("CvePS").ToString.ToEntero, GvRow.DataKey("CveInsignia").ToString.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
' Alert("La Insignia se eliminó correctamente.", TipoMensaje.MsgInformacion)
' Else
' TieneError = True
' End If
' ObjEcommerce.Dispose()
If Not TieneError Then
CargaPSInsigniasEcommerce()
End If
End Sub
' If Not TieneError Then
' CargaPSInsigniasEcommerce()
' End If
'End Sub
#End Region
#Region " PRODUCTOS IMAGENES "
Private Sub CargarGaleriaImagenesEcommerce()
Dim TmpDT As DataTable = Nothing
'Private Sub CargarGaleriaImagenesEcommerce()
' Dim TmpDT As DataTable = Nothing
Dim ObjEcommerce As New ClsECommerce
If ObjEcommerce.ProductosImagenesGet(CvePS, UsuarioActual.CveEmpresa) Then
TmpDT = ObjEcommerce.DtResultados
Else
TmpDT = Nothing
End If
ObjEcommerce.Dispose()
' Dim ObjEcommerce As New ClsECommerce
' If ObjEcommerce.ProductosImagenesGet(CvePS, UsuarioActual.CveEmpresa) Then
' TmpDT = ObjEcommerce.DtResultados
' Else
' TmpDT = Nothing
' End If
' ObjEcommerce.Dispose()
RptFotos.DataSource = TmpDT
RptFotos.DataBind()
UpEcommerceGaleriaImagenes.Update()
End Sub
' RptFotos.DataSource = TmpDT
' RptFotos.DataBind()
' UpEcommerceGaleriaImagenes.Update()
'End Sub
Protected Sub BtnEcommerceImagenes_Click(sender As Object, e As EventArgs)
Dim FilesGral As List(Of Archivo) = TxtEcommerceImagenes.getfiles().Archivos
Dim FileMove As String = ""
Dim Archivo As String = ""
Dim DirectorioTemporal As String = ""
'Dim FilesGral As List(Of Archivo) = TxtEcommerceImagenes.getfiles().Archivos
'Dim FileMove As String = ""
'Dim Archivo As String = ""
'Dim DirectorioTemporal As String = ""
Dim DirectorioDestino As String = $"{UsuarioActual.Empresa.Ruta}\Ecommerce\Productos\Imagenes\"
If Not Directory.Exists(DirectorioDestino) Then
Directory.CreateDirectory(DirectorioDestino)
End If
'Dim DirectorioDestino As String = $"{UsuarioActual.Empresa.Ruta}\Ecommerce\Productos\Imagenes\"
'If Not Directory.Exists(DirectorioDestino) Then
' Directory.CreateDirectory(DirectorioDestino)
'End If
Dim ObjEcommerce As New ClsECommerce
For Each FileItem As Archivo In FilesGral
Archivo = NowADS().Ticks.ToString
Try
FileMove = FileItem.filename
DirectorioTemporal = $"{AppDomain.CurrentDomain.BaseDirectory}Temp\{FileMove}"
'Dim ObjEcommerce As New ClsECommerce
'For Each FileItem As Archivo In FilesGral
' Archivo = NowADS().Ticks.ToString
' Try
' FileMove = FileItem.filename
' DirectorioTemporal = $"{AppDomain.CurrentDomain.BaseDirectory}Temp\{FileMove}"
Archivo = $"{Archivo}{IO.Path.GetExtension(DirectorioTemporal)}"
DirectorioDestino += Archivo
If ObjEcommerce.ProductosImagenesAdd(CvePS, $"Ecommerce\Productos\Imagenes\{Archivo}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
CargarGaleriaImagenesEcommerce()
My.Computer.FileSystem.MoveFile(DirectorioTemporal, DirectorioDestino)
End If
Catch ex As Exception
End Try
Next
ObjEcommerce.Dispose()
' Archivo = $"{Archivo}{IO.Path.GetExtension(DirectorioTemporal)}"
' DirectorioDestino += Archivo
' If ObjEcommerce.ProductosImagenesAdd(CvePS, $"Ecommerce\Productos\Imagenes\{Archivo}", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
' CargarGaleriaImagenesEcommerce()
' My.Computer.FileSystem.MoveFile(DirectorioTemporal, DirectorioDestino)
' End If
' Catch ex As Exception
' End Try
'Next
'ObjEcommerce.Dispose()
RegistraScript("$(""#Modalupfotos"").modal(""hide"");initcarusel();")
TxtEcommerceImagenes.Text = "[]"
UpUpFotos.Update()
'RegistraScript("$(""#Modalupfotos"").modal(""hide"");initcarusel();")
'TxtEcommerceImagenes.Text = "[]"
'UpUpFotos.Update()
End Sub
Protected Sub BtnEcommerceEliminarImagenes_Click(sender As Object, e As System.EventArgs)
Dim CveImagenActivoFijo As Integer = 0
CveImagenActivoFijo = Integer.Parse(DirectCast(sender, Button).CommandArgument)
'Dim CveImagenActivoFijo As Integer = 0
'CveImagenActivoFijo = Integer.Parse(DirectCast(sender, Button).CommandArgument)
If (CveImagenActivoFijo > 0) Then
Dim ObjEcommerce As New ClsECommerce
If ObjEcommerce.ProductosImagenesRemove(CveImagenActivoFijo, UsuarioActual.CveEmpresa) Then
File.Delete(String.Format("{0}{1}", UsuarioActual.Empresa.Ruta, ObjEcommerce.DtResultados.Rows(0)("URL")))
CargarGaleriaImagenesEcommerce()
RegistraScript("initcarusel();")
End If
ObjEcommerce.Dispose()
End If
'If (CveImagenActivoFijo > 0) Then
' Dim ObjEcommerce As New ClsECommerce
' If ObjEcommerce.ProductosImagenesRemove(CveImagenActivoFijo, UsuarioActual.CveEmpresa) Then
' File.Delete(String.Format("{0}{1}", UsuarioActual.Empresa.Ruta, ObjEcommerce.DtResultados.Rows(0)("URL")))
' CargarGaleriaImagenesEcommerce()
' RegistraScript("initcarusel();")
' End If
' ObjEcommerce.Dispose()
'End If
End Sub
#End Region
#Region " PRODUCTOS RELACIONADOS "
Private Sub CargaPSRelacionadosEcommerce()
Dim ObjEcommerce As New ClsECommerce
If ObjEcommerce.ProductosRelacionadosGet(CvePS, UsuarioActual.CveEmpresa) Then
GvEcommercePSRealacionados.DataSource = ObjEcommerce.DtResultados
Else
GvEcommercePSRealacionados.DataSource = Nothing
End If
ObjEcommerce.Dispose()
'Dim ObjEcommerce As New ClsECommerce
'If ObjEcommerce.ProductosRelacionadosGet(CvePS, UsuarioActual.CveEmpresa) Then
' GvEcommercePSRealacionados.DataSource = ObjEcommerce.DtResultados
'Else
' GvEcommercePSRealacionados.DataSource = Nothing
'End If
'ObjEcommerce.Dispose()
GvEcommercePSRealacionados.DataBind()
UpEcommercePSRelacionados.Update()
'GvEcommercePSRealacionados.DataBind()
'UpEcommercePSRelacionados.Update()
End Sub
Protected Sub BtnEcommercePSRelacionados_Click(sender As Object, e As EventArgs)
If Not ValidaAgregarProductosRelacionadosEcommerce() Then
Exit Sub
End If
'If Not ValidaAgregarProductosRelacionadosEcommerce() Then
' Exit Sub
'End If
Dim TieneError As Boolean = False
Dim CvePS As Integer = DdlEcommercePSRelacionado.SelectedValue.ToEntero
'Dim TieneError As Boolean = False
'Dim CvePS As Integer = DdlEcommercePSRelacionado.SelectedValue.ToEntero
'AGREGAR
Dim ObjEcommerce As New ClsECommerce
If ObjEcommerce.ProductosRelacionadosAdd(Me.CvePS, CvePS, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
Alert("La relación se agregó correctamente.", TipoMensaje.MsgInformacion)
Else
TieneError = True
End If
ObjEcommerce.Dispose()
''AGREGAR
'Dim ObjEcommerce As New ClsECommerce
'If ObjEcommerce.ProductosRelacionadosAdd(Me.CvePS, CvePS, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
' Alert("La relación se agregó correctamente.", TipoMensaje.MsgInformacion)
'Else
' TieneError = True
'End If
'ObjEcommerce.Dispose()
If Not TieneError Then
DdlEcommercePSRelacionado.SelectedValue = "-1"
DdlEcommercePSRelacionado.SelectedText = ""
CargaPSRelacionadosEcommerce()
End If
'If Not TieneError Then
' DdlEcommercePSRelacionado.SelectedValue = "-1"
' DdlEcommercePSRelacionado.SelectedText = ""
' CargaPSRelacionadosEcommerce()
'End If
End Sub
Private Function ValidaAgregarProductosRelacionadosEcommerce() As Boolean
Dim Retorno As Boolean = True
Dim Mensaje As New StringBuilder
'Dim Retorno As Boolean = True
'Dim Mensaje As New StringBuilder
'PS
Dim CvePS As Integer = DdlEcommercePSRelacionado.SelectedValue.ToEntero
If CvePS = 0 Then
Mensaje.Append("- El campo <b>Producto</b> es obligatorio. Por favor introduzcalo y vuelva a intentar. <br>")
End If
For Each GvRow As GridViewRow In GvEcommercePSRealacionados.Rows
If GvRow.DataKey("CvePS").ToString.ToEntero = CvePS Then
Mensaje.Append($"- El producto <b>{DdlEcommercePSRelacionado.SelectedText}</b> ya esta relacionado y no se puede duplicar. Por favor verifique y vuelva a intentar. <br>")
Exit For
End If
Next
''PS
'Dim CvePS As Integer = DdlEcommercePSRelacionado.SelectedValue.ToEntero
'If CvePS = 0 Then
' Mensaje.Append("- El campo <b>Producto</b> es obligatorio. Por favor introduzcalo y vuelva a intentar. <br>")
'End If
'For Each GvRow As GridViewRow In GvEcommercePSRealacionados.Rows
' If GvRow.DataKey("CvePS").ToString.ToEntero = CvePS Then
' Mensaje.Append($"- El producto <b>{DdlEcommercePSRelacionado.SelectedText}</b> ya esta relacionado y no se puede duplicar. Por favor verifique y vuelva a intentar. <br>")
' Exit For
' End If
'Next
'VALIDACION
If Mensaje.ToString.Length > 0 Then
Retorno = False
Alert(Mensaje.ToString, TipoMensaje.MsgAdvertencia)
End If
''VALIDACION
'If Mensaje.ToString.Length > 0 Then
' Retorno = False
' Alert(Mensaje.ToString, TipoMensaje.MsgAdvertencia)
'End If
Return Retorno
'Return Retorno
End Function
Protected Sub GvEcommercePSRealacionados_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvEcommercePSRealacionados.RowDeleting
Dim TieneError As Boolean = False
Dim GvRow As GridViewRow = GvEcommercePSRealacionados.Rows(e.RowIndex)
'Protected Sub GvEcommercePSRealacionados_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvEcommercePSRealacionados.RowDeleting
' 'Dim TieneError As Boolean = False
' 'Dim GvRow As GridViewRow = GvEcommercePSRealacionados.Rows(e.RowIndex)
Dim ObjEcommerce As New ClsECommerce
If ObjEcommerce.ProductosRelacionadosRemove(GvRow.DataKey("CvePS1").ToString.ToEntero, GvRow.DataKey("CvePS2").ToString.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
Alert("La relación se eliminó correctamente.", TipoMensaje.MsgInformacion)
Else
TieneError = True
End If
ObjEcommerce.Dispose()
' 'Dim ObjEcommerce As New ClsECommerce
' 'If ObjEcommerce.ProductosRelacionadosRemove(GvRow.DataKey("CvePS1").ToString.ToEntero, GvRow.DataKey("CvePS2").ToString.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
' ' Alert("La relación se eliminó correctamente.", TipoMensaje.MsgInformacion)
' 'Else
' ' TieneError = True
' 'End If
' 'ObjEcommerce.Dispose()
If Not TieneError Then
CargaPSRelacionadosEcommerce()
End If
End Sub
' 'If Not TieneError Then
' ' CargaPSRelacionadosEcommerce()
' 'End If
'End Sub
#End Region
@@ -3599,4 +3619,64 @@ Partial Class ProductosyServicios
End If
End Sub
Private Sub BtnUpFotos_Click(sender As Object, e As EventArgs) Handles BtnUpFotos.Click
Dim FilesGral As List(Of Archivo) = TxtUpFotos.getfiles().Archivos
Dim FileMove As String = ""
Dim NewName As String
For Each FileItem As Archivo In FilesGral
NewName = NowADS().Ticks.ToString
Dim ObjPS As New ClsProductosServicios
Try
FileMove = FileItem.filename
Dim DirectorioOld As New StringBuilder
Dim DirectorioNew As New StringBuilder
DirectorioOld.AppendFormat("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, FileMove)
DirectorioNew.AppendFormat("{0}PS\", UsuarioActual.Empresa.Ruta)
If Not Directory.Exists(DirectorioNew.ToString) Then
Directory.CreateDirectory(DirectorioNew.ToString)
End If
NewName = String.Format("{0}{1}", NewName, IO.Path.GetExtension(DirectorioOld.ToString()))
DirectorioNew.Append(NewName)
Me.Imagen = String.Format("PS/{0}", NewName)
If ObjPS.UpdatePSImagen(Me.CvePS, Me.Imagen) Then
My.Computer.FileSystem.MoveFile(DirectorioOld.ToString, DirectorioNew.ToString)
End If
imgImagen.Attributes.Add("src", String.Format("/ashx/SIGWeb.ashx?Metodo=GetImg&r={0}", Extensiones.Encripta(Me.Imagen)))
hplImagen.Attributes.Add("href", String.Format("/ashx/SIGWeb.ashx?Metodo=GetImg&r={0}", Extensiones.Encripta(Me.Imagen)))
upGaleria.Update()
Catch ex As Exception
OnError("Ocurrió un error al guardar la imagen", ex)
End Try
ObjPS.Dispose()
RegistraScript("$(""#Modalupfotos"").modal(""hide"");initcarusel();")
TxtUpFotos.Text = "[]"
UpUpFotos.Update()
Next
End Sub
Protected Sub BtnEliminarFoto_Click(sender As Object, e As System.EventArgs)
If (Me.CvePS > 0) Then
Dim ObjPS As New ClsProductosServicios
If ObjPS.UpdatePSImagen(Me.CvePS, "") Then
File.Delete(String.Format("{0}{1}", UsuarioActual.Empresa.Ruta, Me.Imagen))
Me.Imagen = ""
imgImagen.Attributes.Add("src", "")
hplImagen.Attributes.Add("href", "")
RegistraScript("initcarusel();")
End If
ObjPS.Dispose()
upGaleria.Update()
End If
End Sub
End Class

View File

@@ -979,6 +979,41 @@
</div>
</ContentTemplate>
</asp:UpdatePanel>
<asp:UpdatePanel ID="UpImagen" runat="server" UpdateMode="Conditional" class="portlet light xspadding bordered whitoutcol" style="margin-left: auto" Visible="false">
<ContentTemplate>
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span class="caption-subject bold uppercase">Imagen del producto</span>
</div>
<div class="actions">
<div class="btn-group">
</div>
</div>
<div class="tools">
<a href="javascript:;" class="collapse"></a>
</div>
</div>
<div class="portlet-body form-horizontal form-row-sepe formnombottom" style="padding-top: 0px; margin-top: -5px;">
<div class="portfolio-content portfolio-1">
<div id="js-filters-juicy-projects" class="cbp-l-filters-button">
</div>
<div id="js-grid-juicy-projects" class="cbp">
<div class="cbp-item graphic">
<div class="cbp-caption">
<div class="cbp-caption-defaultWrap">
<img runat="server" id="imgImagen" style="max-height:250px !important; max-width:250px !important;">
</div>
</div>
</div>
</div>
</div>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
<asp:UpdatePanel ID="Updatetabs" runat="server" UpdateMode="Conditional">
@@ -7617,7 +7652,7 @@
</ItemTemplate>
</asp:TemplateField>
<asp:BoundField HeaderText="PU" DataField="PU" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<%-- <asp:TemplateField HeaderText="PU Editado" Visible="false">
<%-- <asp:TemplateField HeaderText="PU Editado" Visible="false">
<ItemTemplate>
<asp:TextBox ID="TxtPrecioEditado" runat="server" Text='<%#Eval("PU").ToString%>' MaxLength="12" Width="50%" Height="24px" CssClass="ImporteDevolucion"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="SoloNumeros1Editado" runat="server" TargetControlID="TxtPrecioEditado" FilterType="Custom, Numbers" ValidChars=".," />
@@ -8806,7 +8841,7 @@
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpModalAddMedico" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content" style="background-color: rgba(255, 255, 255, 0.0);width: 100vw!important;height: 100vh;" >
<div class="modal-content" style="background-color: rgba(255, 255, 255, 0.0); width: 100vw!important; height: 100vh;">
<UserControl:AddMedico runat="server" ID="AddMedicoControl" />
</div>
<asp:Button ID="BtnRecargaMedicos" Style="display: none;" ClientIDMode="Static" runat="server" OnClick="BtnRecargaMedicos_Click" />
@@ -8820,7 +8855,7 @@
<asp:UpdatePanel class="modal-dialog" runat="server" ID="UpModalAddProcedimiento" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-content" style="background-color: rgba(255, 255, 255, 0.0);width: 100vw!important;height: 100vh;" >
<div class="modal-content" style="background-color: rgba(255, 255, 255, 0.0); width: 100vw!important; height: 100vh;">
<UserControl:AddProcedimiento runat="server" ID="AddProcedimientoControl" />
</div>
<asp:Button ID="BtnRecargaProcedimientos" Style="display: none;" ClientIDMode="Static" runat="server" OnClick="BtnRecargaProcedimientos_Click" />
@@ -10825,6 +10860,78 @@
$('#BtnRecargaProcedimientos').click();
}
function clickgaleria() {
initcarusel();
initcarusel2 = function () { };
}
var initcarusel = function () {
'use strict';
if ($('#js-grid-juicy-projects').data('hascube') != '1') {
$('#js-grid-juicy-projects').cubeportfolio({
filters: '#js-filters-juicy-projects',
loadMore: '#js-loadMore-juicy-projects',
loadMoreAction: 'click',
layoutMode: 'grid',
defaultFilter: '*',
animationType: 'quicksand',
gapHorizontal: 35,
gapVertical: 30,
gridAdjustment: 'responsive',
mediaQueries: [{
width: 1500,
cols: 5
}, {
width: 1100,
cols: 4
}, {
width: 800,
cols: 3
}, {
width: 480,
cols: 2
}, {
width: 320,
cols: 1
}],
caption: 'overlayBottomReveal',
displayType: 'sequentially',
displayTypeSpeed: 80,
// lightbox
lightboxDelegate: '.cbp-lightbox',
lightboxGallery: true,
lightboxTitleSrc: 'data-title',
lightboxCounter: '<div class="cbp-popup-lightbox-counter">{{current}} of {{total}}</div>',
// singlePage popup
singlePageDelegate: '.cbp-singlePage',
singlePageDeeplinking: true,
singlePageStickyNavigation: true,
singlePageCounter: '<div class="cbp-popup-singlePage-counter">{{current}} of {{total}}</div>',
singlePageCallback: function (url, element) {
// to update singlePage content use the following method: this.updateSinglePage(yourContent)
var t = this;
$.ajax({
url: url,
type: 'GET',
dataType: 'html',
timeout: 10000
})
.done(function (result) {
t.updateSinglePage(result);
})
.fail(function () {
t.updateSinglePage('AJAX Error! Please refresh the page!');
});
},
});
$('#js-grid-juicy-projects').data('hascube', '1')
}
}
var initcarusel2 = initcarusel;
</script>
</asp:Content>

View File

@@ -3171,6 +3171,11 @@ Partial Class Ventas
DivNumTurnos.Visible = True
End If
If CveVenta <= 0 AndAlso UsuarioActual.Empresa.Funcionalidad(716) = "1" Then
UpImagen.Visible = True
UpImagen.Update()
End If
'SELECCIONA VENDEDOR DEL USUARIO CUANDO SEA VENTA NUEVA Y SIN CLIENTE
'If UsuarioActual.CveVendedor > 0 Then
' If CveVenta = -1 AndAlso Not DdlVendedor.SelectedValue.ToEntero() > 0 Then DdlVendedor.SelectedValueExist(UsuarioActual.CveVendedor.ToString())
@@ -17347,6 +17352,29 @@ Partial Class Ventas
End If
If UsuarioActual.Empresa.Funcionalidad(716) = "1" Then
Dim Imagen = drPS("Imagen").ToString
Dim URLImagen As String = ""
If Not String.IsNullOrEmpty(Imagen) Then
URLImagen = String.Format("/ashx/SIGWeb.ashx?Metodo=GetImg&r={0}", Extensiones.Encripta(Imagen))
End If
If imgImagen.Attributes.Item("src") Is Nothing Then
imgImagen.Attributes.Add("src", URLImagen)
Else
imgImagen.Attributes.Item("src") = URLImagen
End If
UpImagen.Update()
If Not String.IsNullOrEmpty(Imagen) Then
RegistraScript("initcarusel();", "I1")
End If
End If
If UsuarioActual.Empresa.Funcionalidad(109) = "1" Then
AgregarPS()
End If