230 lines
9.5 KiB
VB.net
230 lines
9.5 KiB
VB.net
Option Strict On
|
|
|
|
Imports Extensiones
|
|
Imports System.Data
|
|
Imports System.IO
|
|
Partial Class Contratos_CatContratosPlantillas
|
|
Inherits ClsPaginas
|
|
|
|
#Region "Propiedades"
|
|
Public Property CveContratoPlantilla As Integer
|
|
Get
|
|
Return ViewState("CveContratoPlantilla").ToString.ToEntero
|
|
End Get
|
|
Set(value As Integer)
|
|
ViewState("CveContratoPlantilla") = value
|
|
End Set
|
|
End Property
|
|
Public Property EsEditar As Integer
|
|
Get
|
|
Return ViewState("EsEditar").ToString.ToEntero
|
|
End Get
|
|
Set(value As Integer)
|
|
ViewState("EsEditar") = value
|
|
End Set
|
|
End Property
|
|
|
|
Public Property URL As String
|
|
Get
|
|
Return ViewState("URL").ToString
|
|
End Get
|
|
Set(value As String)
|
|
ViewState("URL") = value
|
|
End Set
|
|
End Property
|
|
|
|
#End Region
|
|
|
|
|
|
Protected Sub Page_Load(sender As Object, e As System.EventArgs) Handles Me.Load
|
|
If Not Page.IsPostBack Then
|
|
CveContratoPlantilla = -1
|
|
EsEditar = 0
|
|
dvEstatus.Visible = False
|
|
CargaDatos(-1)
|
|
End If
|
|
End Sub
|
|
|
|
Private Sub CargaDatos(CveConductor As Integer)
|
|
Dim ObjGeneral As New ClsGenerales
|
|
If ObjGeneral.ContratosPlantillaGet(-1, UsuarioActual.CveEmpresa) Then
|
|
GvDatos.DataSource = ObjGeneral.DtResultados
|
|
Else
|
|
GvDatos.DataSource = Nothing
|
|
End If
|
|
ObjGeneral.Dispose()
|
|
GvDatos.DataBind()
|
|
End Sub
|
|
|
|
Protected Sub imgE_Click(sender As Object, e As EventArgs)
|
|
Dim Boton = CType(sender, LinkButton)
|
|
CveContratoPlantilla = Boton.CommandArgument.ToEntero
|
|
Dim GvRow As GridViewRow = DirectCast(Boton.NamingContainer, GridViewRow)
|
|
TxtNombrePlantilla.Text = GvRow.DataKey("NombrePlantilla").ToString
|
|
DdlTipo.SelectedValue = GvRow.DataKey("Tipo").ToString
|
|
chkEstatus.Checked = CBool(GvRow.DataKey("Estatus"))
|
|
URL = GvRow.DataKey("URL").ToString
|
|
EsEditar = 1
|
|
BtnAgregarCatalogo.Text = "Actualizar"
|
|
dvEstatus.Visible = True
|
|
UpBodyEstatus.Update()
|
|
UpFooter.Update()
|
|
RegistraScript("$('#divAgregar').modal()")
|
|
End Sub
|
|
|
|
Protected Sub BtnAgregarCatalogo_Click(sender As Object, e As EventArgs) Handles BtnAgregarCatalogo.Click
|
|
Dim ObjGeneral As New ClsGenerales
|
|
URL = ""
|
|
|
|
Dim Filesgral As List(Of Archivo) = TxtUpDoc.getfiles().Archivos
|
|
For Each fileItem As Archivo In Filesgral
|
|
URL = FormatearNombreArchivo(fileItem.filenameO)
|
|
If URL.Length > 199 Then
|
|
Alert("El nombre del archivo excede los 200 Caracteres permitidos favor de modificarlo.", TipoMensaje.MsgAdvertencia)
|
|
URL = ""
|
|
Exit Sub
|
|
ElseIf fileItem.Extension <> "doc" AndAlso fileItem.Extension <> "docx" Then
|
|
Alert("Solo se permiten archivos de tipo .doc o .docx, favor de modificarlo", TipoMensaje.MsgAdvertencia)
|
|
URL = ""
|
|
Exit Sub
|
|
End If
|
|
Next
|
|
|
|
If EsEditar = 0 Then
|
|
If URL <> "" Then
|
|
Dim Path As String = UsuarioActual.Empresa.Ruta
|
|
If Not Directory.Exists(Path) Then
|
|
Directory.CreateDirectory(Path)
|
|
End If
|
|
Dim directorioNew As String = String.Format("{0}\Formatos\Plantillas\{1}", Path, URL)
|
|
If File.Exists(directorioNew) Then
|
|
My.Computer.FileSystem.DeleteFile(directorioNew)
|
|
End If
|
|
My.Computer.FileSystem.MoveFile(TxtUpDoc.getfiles().Archivos(0).FileUrl, directorioNew)
|
|
If ObjGeneral.ContratoPlantillaAdd(UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario, TxtNombrePlantilla.Text, URL, DdlTipo.SelectedValue) Then
|
|
Alert("La plantilla se agregó correctamente", TipoMensaje.MsgInformacion)
|
|
End If
|
|
Else
|
|
Alert("Es necesario que agregue el documento plantilla", TipoMensaje.MsgAdvertencia)
|
|
End If
|
|
ElseIf EsEditar = 1 Then
|
|
If TxtUpDoc.getfiles().Archivos.Count > 0 Then
|
|
Dim NuevaPlantilla As Archivo = TxtUpDoc.getfiles().Archivos(0)
|
|
Dim Path As String = UsuarioActual.Empresa.Ruta
|
|
If Not Directory.Exists(Path) Then
|
|
Directory.CreateDirectory(Path)
|
|
End If
|
|
Dim directorioNew As String = String.Format("{0}\Formatos\Plantillas\{1}", Path, URL)
|
|
If File.Exists(directorioNew) Then
|
|
My.Computer.FileSystem.DeleteFile(directorioNew)
|
|
End If
|
|
My.Computer.FileSystem.MoveFile(NuevaPlantilla.FileUrl, directorioNew)
|
|
End If
|
|
|
|
If ObjGeneral.ContratosPlantillaUpdate(UsuarioActual.CveEmpresa, TxtNombrePlantilla.Text, URL, DdlTipo.SelectedValue, CveContratoPlantilla, chkEstatus.Checked) Then
|
|
Alert("La plantilla se editó correctamente", TipoMensaje.MsgInformacion)
|
|
Else
|
|
Alert("Ocurrió un error al editar la plantilla", TipoMensaje.MsgError)
|
|
End If
|
|
EsEditar = 0
|
|
dvEstatus.Visible = False
|
|
BtnAgregarCatalogo.Text = "Agregar"
|
|
End If
|
|
RegistraScript("$('#divAgregar').modal('hide')")
|
|
ObjGeneral.Dispose()
|
|
TxtNombrePlantilla.Text = ""
|
|
DdlTipo.SelectedValue = "-1"
|
|
TxtUpDoc.Text = "[]"
|
|
|
|
CargaDatos(-1)
|
|
UpDatos.Update()
|
|
UpBodyEstatus.Update()
|
|
|
|
End Sub
|
|
|
|
Protected Sub GvDatos_RowDeleting(sender As Object, e As System.Web.UI.WebControls.GridViewDeleteEventArgs) Handles GvDatos.RowDeleting
|
|
Dim ObjGeneral As New ClsGenerales
|
|
Dim CveContratoPlantilla As Integer = GvDatos.Rows(e.RowIndex).DataKey("CveContratoPlantilla").ToEntero
|
|
If ObjGeneral.ContratoPlantillaDelete(CveContratoPlantilla, UsuarioActual.CveEmpresa) Then
|
|
Alert("La plantilla se eliminó correctamente", TipoMensaje.MsgInformacion)
|
|
End If
|
|
ObjGeneral.Dispose()
|
|
CargaDatos(-1)
|
|
UpDatos.Update()
|
|
End Sub
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Protected Sub GvDatos_RowDataBound(sender As Object, e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles GvDatos.RowDataBound
|
|
If e.Row.RowType = DataControlRowType.DataRow Then
|
|
e.Row.VerticalAlign = VerticalAlign.Middle
|
|
e.Row.FCLinkButton("ImgE").CommandArgument = e.Row.DataKey("CveContratoPlantilla").ToString
|
|
|
|
If CBool(e.Row.DBCampo("Estatus")) = True Then
|
|
e.Row.FCLabel("LblEstatus").Text = "Activo"
|
|
e.Row.FCLabel("LblEstatus").ForeColor = Drawing.Color.Green
|
|
|
|
Else
|
|
e.Row.FCLabel("LblEstatus").Text = "Inactivo"
|
|
e.Row.FCLabel("LblEstatus").ForeColor = Drawing.Color.Red
|
|
End If
|
|
|
|
End If
|
|
End Sub
|
|
|
|
|
|
Protected Sub btnCancelar_Click(sender As Object, e As EventArgs) Handles btnCancelar.Click
|
|
EsEditar = 0
|
|
RegistraScript("$('#divAgregar').modal('hide')")
|
|
BtnAgregarCatalogo.Text = "Agregar"
|
|
TxtNombrePlantilla.Text = ""
|
|
DdlTipo.SelectedValue = "-1"
|
|
TxtUpDoc.Text = "[]"
|
|
dvEstatus.Visible = False
|
|
UpBodyEstatus.Update()
|
|
UpFooter.Update()
|
|
End Sub
|
|
|
|
|
|
|
|
Public Function FormatearNombreArchivo(nombreArchivoOriginal As String) As String
|
|
Dim nombreArchivoFormateado As String
|
|
nombreArchivoFormateado = nombreArchivoOriginal.Replace(" ", "_")
|
|
nombreArchivoFormateado = nombreArchivoFormateado.Replace("'", "")
|
|
nombreArchivoFormateado = nombreArchivoFormateado.Replace(Chr(34), "")
|
|
nombreArchivoFormateado = nombreArchivoFormateado.Replace("$", "_")
|
|
nombreArchivoFormateado = nombreArchivoFormateado.Replace("#", "_")
|
|
nombreArchivoFormateado = nombreArchivoFormateado.Replace("%", "_")
|
|
nombreArchivoFormateado = nombreArchivoFormateado.Replace("!", "_")
|
|
nombreArchivoFormateado = nombreArchivoFormateado.Replace("&", "_")
|
|
nombreArchivoFormateado = nombreArchivoFormateado.Replace("?", "_")
|
|
nombreArchivoFormateado = nombreArchivoFormateado.Replace("¿", "_")
|
|
nombreArchivoFormateado = nombreArchivoFormateado.Replace("¡", "_")
|
|
nombreArchivoFormateado = nombreArchivoFormateado.Replace("*", "_")
|
|
nombreArchivoFormateado = nombreArchivoFormateado.Replace("~", "_")
|
|
nombreArchivoFormateado = nombreArchivoFormateado.Replace("^", "_")
|
|
Return nombreArchivoFormateado
|
|
End Function
|
|
Protected Sub BtnDescargar_Click(sender As Object, e As EventArgs) Handles LbDescargar.Click
|
|
Dim Path As String = $"{ModExtensiones.DirectorioBaseEmpresas}Empresas\Grales\Formatos\Plantilla.docx"
|
|
Dim Archivo As New System.IO.FileInfo(Path)
|
|
|
|
If Archivo.Exists Then
|
|
HttpContext.Current.Response.Clear()
|
|
HttpContext.Current.Response.ClearContent()
|
|
HttpContext.Current.Response.ContentType = If(IO.Path.GetExtension(Archivo.Name) = "doc", "application/doc", "application/docx")
|
|
HttpContext.Current.Response.AppendHeader("Content-disposition", String.Format("attachment; filename={0}", Archivo.Name))
|
|
HttpContext.Current.Response.AddHeader("Content-Length", Archivo.Length.ToString())
|
|
HttpContext.Current.Response.TransmitFile(Path)
|
|
'HttpContext.Current.Response.Flush()
|
|
HttpContext.Current.Response.End()
|
|
End If
|
|
Archivo = Nothing
|
|
End Sub
|
|
End Class
|