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

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