continuación de documentos

This commit is contained in:
Antonio Gonzalez
2020-08-22 11:17:35 -07:00
parent 7568a9bbef
commit 0e282bfe51
15 changed files with 535 additions and 98 deletions

View File

@@ -14,7 +14,7 @@
<asp:UpdatePanel runat="server" ID="UpAgregar">
<ContentTemplate>
<li>
<asp:LinkButton runat="server" ID="BtnAgregarCategoria" OnClick="BtnAgregarCategoria_Click" data-toggle="tooltip" data-placement="left" title="Agregar un Defecto" Text="<i class='fa fa-plus'></i>Agregar Categoría"></asp:LinkButton>
<asp:LinkButton runat="server" ID="BtnAgregarCategoria" OnClick="BtnAgregarCategoria_Click" data-toggle="tooltip" data-placement="left" title="Agregar Categoría" Text="<i class='fa fa-plus'></i>Agregar"></asp:LinkButton>
</li>
</ContentTemplate>
@@ -25,8 +25,8 @@
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CveCategoria,Estado,Estatus,Categoria" EmptyDataText="No se encontraron Categorías de Documentos Registrados" ToolTip="Listado de Categorías de Documentos" CssClass="table table-striped table-advance table-hover" Style="margin-top: -10px; text-align: center; width: 100%" GridLines="None">
<Columns>
<asp:BoundField HeaderText="Categoría" DataField="Categoria" />
<asp:BoundField HeaderText="Estado" DataField="Estatus" />
<asp:BoundField HeaderText="Categoría" DataField="Categoria" ItemStyle-HorizontalAlign="Left" />
<asp:BoundField HeaderText="Estado" DataField="Estatus" ItemStyle-HorizontalAlign="Left" />
<asp:TemplateField ItemStyle-Width="13%" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Left" HeaderText="Editar">
<ItemTemplate>
<asp:LinkButton ID="LnkEditar" OnClick="LnkEditar_Click" runat="server" Visible="true" AlternateText="Subir" CausesValidation="False" CssClass="btn btn-circle btn-sm green" Text="<i title='Editar' class='fa fa-pencil' title='Editar' ></i>" />
@@ -44,7 +44,7 @@
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">
<asp:Literal ID="LtlTituloModalTiposD" runat="server">Agregar Categoría de Documentos</asp:Literal></h4>
<asp:Literal ID="LtlTituloModalTiposD" runat="server">Categoría de Documentos</asp:Literal></h4>
</div>
<div class="modal-body">

View File

@@ -14,7 +14,7 @@
<asp:UpdatePanel runat="server" ID="UpAgregar">
<ContentTemplate>
<li>
<asp:LinkButton runat="server" ID="BtnAgregarSubCategoria" OnClick="BtnAgregarSubCategoria_Click" data-toggle="tooltip" data-placement="left" title="Agregar un Defecto" Text="<i class='fa fa-plus'></i>Agregar Subcategoría"></asp:LinkButton>
<asp:LinkButton runat="server" ID="BtnAgregarSubCategoria" OnClick="BtnAgregarSubCategoria_Click" data-toggle="tooltip" data-placement="left" title="Agregar Subcategoría" Text="<i class='fa fa-plus'></i>Agregar"></asp:LinkButton>
</li>
</ContentTemplate>
@@ -25,8 +25,8 @@
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CveSubCategoria,SubCategoria,CveCategoria,Categoria" EmptyDataText="No se encontraron Categorías de Documentos Registrados" ToolTip="Listado de Categorías de Documentos" CssClass="table table-striped table-advance table-hover" Style="margin-top: -10px; text-align: center; width: 100%" GridLines="None">
<Columns>
<asp:BoundField HeaderText="Subcategoría" DataField="SubCategoria" />
<asp:BoundField HeaderText="Categoría" DataField="Categoria" />
<asp:BoundField HeaderText="Subcategoría" DataField="SubCategoria" ItemStyle-HorizontalAlign="Left"/>
<asp:BoundField HeaderText="Categoría" DataField="Categoria" ItemStyle-HorizontalAlign="Left"/>
<asp:TemplateField ItemStyle-Width="13%" ItemStyle-HorizontalAlign="Center" HeaderStyle-HorizontalAlign="Left" HeaderText="Editar">
<ItemTemplate>
<asp:LinkButton ID="LnkEditar" OnClick="LnkEditar_Click" runat="server" Visible="true" AlternateText="Subir" CausesValidation="False" CssClass="btn btn-circle btn-sm green" Text="<i title='Editar' class='fa fa-pencil' title='Editar' ></i>" />
@@ -44,7 +44,7 @@
<div class="modal-header ">
<button type="button" class="close" data-dismiss="modal">×</button>
<h4 class="modal-title">
<asp:Literal ID="LtlTituloModalTiposD" runat="server">Agregar Categoría de Documentos</asp:Literal></h4>
<asp:Literal ID="LtlTituloModalTiposD" runat="server">Subcategoría de Documentos</asp:Literal></h4>
</div>
<div class="modal-body">
@@ -56,8 +56,8 @@
</div>
<br />
<div>
<label for="TxtSubCategoria">Categoria:</label>
<asp:DropDownList ID="DdlCategorias" CssClass="form-control select2me" runat="server" DataTextField="Categoria" DataValueField="CveCategoria"></asp:DropDownList>
<label for="TxtSubCategoria">Categoría:</label><br />
<asp:DropDownList ID="DdlCategorias" CssClass="form-control select2me" runat="server" DataTextField="Categoria" Width="100%" DataValueField="CveCategoria"></asp:DropDownList>
</div>
</div>
<br />

View File

@@ -29,8 +29,8 @@
<ContentTemplate>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px">
<asp:Label runat="server" ID="LblDescripción" Text="Descripción" />
<asp:TextBox runat="server" ID="TxtDescripcion" class="form-control" />
<asp:Label runat="server" ID="LblDescripción" Text="Descripción" /><br />
<asp:TextBox runat="server" ID="TxtDescripcion" class="form-control" Width="100%" />
<asp:RequiredFieldValidator ID="RfvTxtDescripcion" runat="server" ControlToValidate="TxtDescripcion" CssClass="help-block errorimput" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripción''</b> es necesario, por favor ingréselo." ValidationGroup="GrpDoc"></asp:RequiredFieldValidator>
</div>
<br />
@@ -47,18 +47,9 @@
</div>
<br />
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px" runat="server" id="DivEstatusInicial">
<asp:Label runat="server" ID="Label3" Text="Estatus: En Proceso" /><br />
<asp:Label runat="server" ID="LblEstatus" Text="Estatus: En Proceso" /><br />
</div>
<br runat="server" id="brEstatusInicial"/>
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px" runat="server" id="DivEstatus" visible="false">
<asp:Label runat="server" ID="LblEstatus" Text="Estatus" /><br />
<asp:DropDownList runat="server" ID="DdlEstatus" CssClass="select2me" Style="width: 30%">
<asp:ListItem Value="1" Text="En Proceso" />
<asp:ListItem Value="2" Text="Aprobado" />
<asp:ListItem Value="3" Text="Rechazado" />
</asp:DropDownList>
</div>
<br runat="server" id="brEstatus" visible="false"/>
<br runat="server"/>
<div class="form-group form-md-line-input input-iconright" style="margin: unset; font-size: 14px">
<asp:Label runat="server" ID="LblVersion" Text="Versión" />
<asp:TextBox runat="server" ID="TxtVersion" class="form-control" Style="width: 30%" />
@@ -83,7 +74,7 @@
</div>
<div runat="server" id="DivDescargarArchivo" visible="false">
<asp:Label runat="server" ID="LblDocumentoCargado" Text="Documento cargado:" />
<asp:LinkButton runat="server" ID="LkbDescargarArchivo" Text="" OnClick="LkbDescargarArchivo_Click" />
<asp:LinkButton runat="server" ID="LkbDescargarArchivo" Style="color:#23527c" Text="" OnClick="LkbDescargarArchivo_Click" />
</div>
</div>
</ContentTemplate>
@@ -104,7 +95,7 @@
<asp:UpdatePanel ID="UpDatosUsuarios" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvUsuarios" runat="server" AutoGenerateColumns="False" DataKeyNames="CveUsuario,Usuario,Correo" EmptyDataText="No se encontraron Categorías de Documentos Registrados"
ToolTip="Listado de Categorías de Documentos" CssClass="table table-striped table-advance table-hover ScrollAD" Style="text-align: center; width: 100%; overflow-x: hidden"
ToolTip="Listado de Usuarios" CssClass="table table-striped table-advance table-hover ScrollAD" Style="text-align: center; width: 100%; overflow-x: hidden"
GridLines="None" OnRowDataBound="GvUsuarios_RowDataBound">
<Columns>
<asp:BoundField HeaderText="Nombre" DataField="Nombre" ItemStyle-HorizontalAlign="Left" />
@@ -144,6 +135,7 @@
<asp:LinkButton runat="server" ID="LkbGuardar" OnClick="LblGuardar_Click" Text="Guardar" class="btn btn-primary" ValidationGroup="GrpDoc" />
<asp:LinkButton runat="server" ID="LkbActualizar" OnClick="LbkActualizar_Click" Text="Actualizar" class="btn btn-primary" ValidationGroup="GrpDoc" Visible="false" />
<asp:LinkButton runat="server" ID="LkbPublicar" OnClick="LkbPublicar_Click" Text="Publicar" class="btn btn-primary" ValidationGroup="GrpDoc" visible="false"/>
<asp:LinkButton runat="server" ID="LkbRechazar" OnClick="LkbRechazar_Click" Text="Rechazar" class="btn btn-danger" ValidationGroup="GrpDoc" visible="false"/>
<br />
</div>
</div>

View File

@@ -11,6 +11,7 @@ using System.Text;
public partial class OI_DocumentoDetalle : ClsPaginas
{
#region "PROPIEDADES"
private int CveUsuarioResponsable
{
get
@@ -96,6 +97,8 @@ public partial class OI_DocumentoDetalle : ClsPaginas
Cargar();
}
}
#endregion
#region "CARGAS"
private void CargarCveDocumento()
{
@@ -107,6 +110,7 @@ public partial class OI_DocumentoDetalle : ClsPaginas
else
{
this.CveDocumento = -1;
this.CveUsuarioResponsable = -1;
}
}
@@ -124,6 +128,9 @@ public partial class OI_DocumentoDetalle : ClsPaginas
case "Publicado":
Alert("Documento publicado");
break;
case "Rechazado":
Alert("Documento rechazado");
break;
}
}
@@ -157,8 +164,11 @@ public partial class OI_DocumentoDetalle : ClsPaginas
foreach (GridViewRow Usuario in UsuariosEnGrid)
{
int CveUsuario = Usuario.DataKey("CveUsuario").ToEntero();
string FechaAprobacion = Usuarios.FiltroPrimeroValor("FechaAprobacion", string.Format("CveUsuario = {0}", CveUsuario));
string Filtro = string.Format("CveUsuario = {0}", CveUsuario);
string FechaAprobacion = Usuarios.FiltroPrimeroValor("FechaAprobacion", Filtro);
Usuario.FCCheckBox("ChkAprobar").Checked = FechaAprobacion != "" || (UsuarioActual.CveUsuario == CveUsuarioResponsable && CveUsuario == UsuarioActual.CveUsuario);
string Adjunto = Usuarios.FiltroPrimeroValor("Adjunto", Filtro);
Usuario.FCLinkButton("LkbDescargarPropuesta").Visible = Adjunto != "";
}
}
}
@@ -207,7 +217,7 @@ public partial class OI_DocumentoDetalle : ClsPaginas
DdlCategoria.SelectedValue = Documento["CveCategoria"].ToString();
CargarSubCategoria();
DdlSubCategoria.SelectedValue = Documento["CveSubCategoria"].ToString();
DdlEstatus.SelectedValue = Documento["CveEstatus"].ToString();
LblEstatus.Text =$"Estatus: {Documento["Estatus"].ToString()}";
TxtVersion.Text = Documento["Version"].ToString();
TxtResponsable.Text = Documento["Responsable"].ToString();
TxtObs.InnerText = Documento["Observacion"].ToString();
@@ -246,7 +256,7 @@ public partial class OI_DocumentoDetalle : ClsPaginas
{
LkbGuardar.Visible = false;
LkbActualizar.Visible = true;
LkbPublicar.Visible = true;
LkbPublicar.Visible = VerificarAprobaciónParticipantes() && UsuarioActual.CveUsuario == CveUsuarioResponsable;
GvUsuarios.Columns[1].Visible = false;
GvUsuarios.Columns[2].Visible = true;
GvUsuarios.Columns[3].Visible = true;
@@ -273,7 +283,6 @@ public partial class OI_DocumentoDetalle : ClsPaginas
{
TxtDescripcion.Enabled = false;
DdlSubCategoria.Enabled = false;
DdlEstatus.Enabled = false;
TxtVersion.Enabled = false;
TxtResponsable.Enabled = false;
TxtObs.Disabled = true;
@@ -284,8 +293,11 @@ public partial class OI_DocumentoDetalle : ClsPaginas
private void ConfigurarSegunEstatus()
{
bool MostrarSegunAprobado = (DdlEstatus.SelectedValue == "2");
DivBotonesAcciones.Visible = !MostrarSegunAprobado;
bool MostrarSegunAprobado = (LblEstatus.Text == "Estatus: Aprobado");
bool MostrarSegunRechazado = (LblEstatus.Text == "Estatus: Rechazado");
bool MostrarSegunEnProceso = (LblEstatus.Text == "Estatus: En Proceso");
LkbActualizar.Visible = !(MostrarSegunRechazado) && (UsuarioActual.CveUsuario == this.CveUsuarioResponsable);
DivBotonesAcciones.Visible = !(MostrarSegunAprobado || MostrarSegunRechazado);
UpAgregar.Visible = MostrarSegunAprobado;
}
@@ -310,12 +322,9 @@ public partial class OI_DocumentoDetalle : ClsPaginas
}
}
private void EstatusMostrar(bool Mostrar)
private void MostrarBotonRechazar()
{
DivEstatus.Visible = Mostrar;
brEstatus.Visible = Mostrar;
DivEstatusInicial.Visible = !Mostrar;
brEstatusInicial.Visible = !Mostrar;
LkbRechazar.Visible = (LblEstatus.Text == "Estatus: En Proceso" && this.CveUsuarioResponsable == UsuarioActual.CveUsuario);
}
private void Cargar()
@@ -326,7 +335,6 @@ public partial class OI_DocumentoDetalle : ClsPaginas
CargarUsuarios();
if (this.CveDocumento > 0)
{
EstatusMostrar(true);
if (CargarDocumentoYaExistente())
{
CargarUsuariosParticipantes();
@@ -335,6 +343,7 @@ public partial class OI_DocumentoDetalle : ClsPaginas
ConfigurarGridUsuariosParticipantes();
ConfigurarCamposDetalleSegunUsuario();
CargarMensajeNuevoEditado();
MostrarBotonRechazar();
}
}
ConfigurarSegunEstatus();
@@ -344,39 +353,45 @@ public partial class OI_DocumentoDetalle : ClsPaginas
#region "GENERAR DOCUMENTO"
protected void LblGuardar_Click(object sender, EventArgs e)
{
ClsOIEventos ObjOI = new ClsOIEventos();
ObjOI.IniciaTransacSQL();
bool TieneError = false;
//Esta variable es requerida más adelante
int CveDocumento = 0;
string RutaArchivo = "-1";
string CorreosNotificacion = "";
byte[] ArchivoNotifiacion = null;
CveDocumento = GuardarDocumento(ref ObjOI, ref TieneError);//Se crea el Documento
if (!TieneError) { RutaArchivo = AsignarArchivoAlDocumento(CveDocumento, ref ObjOI, ref TieneError); }//Se guarda el archivo fisico y se asigna al Documento generado
if (!TieneError) { CorreosNotificacion = GuardarUsuariosQueAutorizan(CveDocumento, RutaArchivo, ref ObjOI, ref TieneError); }//asignamos a los usuarios que participaran en aprovar este documento
if (!TieneError)
if(TxtDocumentoFile.Text != "[]")
{
ArchivoNotifiacion = GenerarArchivoByte(CveDocumento, RutaArchivo);
NotificarPorCorreo(CorreosNotificacion, RutaArchivo, ArchivoNotifiacion);
}
ClsOIEventos ObjOI = new ClsOIEventos();
ObjOI.IniciaTransacSQL();
bool TieneError = false;
//Gestión de errores y resultados
if (!TieneError)
//Esta variable es requerida más adelante
int CveDocumento = 0;
string RutaArchivo = "-1";
string CorreosNotificacion = "";
byte[] ArchivoNotifiacion = null;
CveDocumento = GuardarDocumento(ref ObjOI, ref TieneError);//Se crea el Documento
if (!TieneError) { RutaArchivo = AsignarArchivoAlDocumento(CveDocumento, ref ObjOI, ref TieneError); }//Se guarda el archivo fisico y se asigna al Documento generado
if (!TieneError) { CorreosNotificacion = GuardarUsuariosQueAutorizan(CveDocumento, RutaArchivo, ref ObjOI, ref TieneError); }//asignamos a los usuarios que participaran en aprovar este documento
if (!TieneError)
{
ArchivoNotifiacion = GenerarArchivoByte(CveDocumento, RutaArchivo);
NotificarPorCorreo(CorreosNotificacion, RutaArchivo, ArchivoNotifiacion, CveDocumento);
}
//Gestión de errores y resultados
if (!TieneError)
{
ObjOI.Commit();
string ParamMensaje = LkbGuardar.Text == "Guardar" ? "Nuevo" : "NuevaVersion";//Esto indica la acción de usuario la cual se mostrará como alert al cargar la página
Response.Redirect(string.Format("/OI/DocumentoDetalle.aspx?CveDocumento={0}&Mensaje={1}", CveDocumento, ParamMensaje));
}
else
{
ObjOI.RollBack();
Alert(this.ErrorMensaje, ModExtensiones.TipoMensaje.MsgError);
UpCliente.Update();
}
ObjOI.Dispose();
}else
{
ObjOI.Commit();
string ParamMensaje = LkbGuardar.Text == "Guardar" ? "Nuevo" : "NuevaVersion";//Esto indica la acción de usuario la cual se mostrará como alert al cargar la página
Response.Redirect(string.Format("/OI/DocumentoDetalle.aspx?CveDocumento={0}&Mensaje={1}", CveDocumento, ParamMensaje));
Alert("Es necesario cargar un Documento",ModExtensiones.TipoMensaje.MsgAdvertencia);
}
else
{
ObjOI.RollBack();
Alert(this.ErrorMensaje, ModExtensiones.TipoMensaje.MsgError);
UpCliente.Update();
}
ObjOI.Dispose();
}
private int GuardarDocumento(ref ClsOIEventos ObjOI, ref bool TieneError)
@@ -444,6 +459,7 @@ public partial class OI_DocumentoDetalle : ClsPaginas
{
string Archivo = ActualizarArchivoEnDirectorio();
ActualizarDocumentoYaExistente(Archivo);
TxtDocumentoFile.Text = "";
Cargar();
UpCliente.Update();
Alert("Documento actualizado");
@@ -468,8 +484,8 @@ public partial class OI_DocumentoDetalle : ClsPaginas
private void ActualizarDocumentoYaExistente(string ArchivoFisico)
{
ClsOIEventos ObjOI = new ClsOIEventos();
if (!ObjOI.UpdateDocumento(this.CveDocumento, DdlSubCategoria.SelectedValue.ToEntero(), TxtDescripcion.Text, TxtObs.InnerText, TxtVersion.Text, DdlEstatus.SelectedValue.ToEntero(),
ArchivoFisico, UsuarioActual.Nombre, ModExtensiones.MinFecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
if (!ObjOI.UpdateDocumento(this.CveDocumento, DdlSubCategoria.SelectedValue.ToEntero(), TxtDescripcion.Text, TxtObs.InnerText, TxtVersion.Text, 1, ArchivoFisico,
UsuarioActual.Nombre, ModExtensiones.MinFecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
{
Alert("Error al actualizar", ModExtensiones.TipoMensaje.MsgError);
}
@@ -554,9 +570,21 @@ public partial class OI_DocumentoDetalle : ClsPaginas
#endregion
#region "NOTIFICACIONES CORREO"
private void NotificarPorCorreo(string Para, string NombreArchivo, byte[] Adjunto)
private string GenerarCuerpoCorreo(int CveDocumento)
{
string Descripcion = TxtDescripcion.Text;
string URL = string.Format("{0}/OI/DocumentoDetalle.aspx?CveDocumento={1}", HttpContext.Current.Request.Url.Host,CveDocumento);
StringBuilder body = new StringBuilder();
body.Append("Ha sido invitado a revisar la generación de un documento <br /> ");
body.Append($"Documento: {TxtDescripcion.Text},<br/> ");
body.Append($"Categoria: {DdlCategoria.SelectedItem.Text},<br/> ");
body.Append($"Subcategoria: {DdlSubCategoria.SelectedItem.Text},<br/> ");
body.Append($"<a href={URL}>Detalles del Documento</a>");
return body.ToString();
}
private void NotificarPorCorreo(string Para, string NombreArchivo, byte[] Adjunto, int CveDocumento)
{
string Descripcion = GenerarCuerpoCorreo(CveDocumento);
string Asunto = "Se le ha agregado como participante en el desarrollo de un Documento";
string a = string.Format("{0} -- {1} --- {2}", Descripcion, Para, "");
a.GuardaLog();
@@ -658,7 +686,16 @@ public partial class OI_DocumentoDetalle : ClsPaginas
{
string Archivo = SubirPropuestaEnDirectorio(this.CveUsuarioSeleccionado);
ActualizarUsuario(this.CveAsignacion, Archivo);
bool UsuarioActualizado = ActualizarUsuario(this.CveAsignacion, Archivo);
if (UsuarioActualizado)
{
RegistraScript(String.Format("$('#{0}').modal('hide');", "DivAgregarPropuesta"));
Alert("La propuesta se realizó correctamente");
CargarUsuariosParticipantes();
CargarUsuariosAutorizo();
ConfigurarGridUsuariosParticipantes();
UpDatosUsuarios.Update();
}
}
private string SubirPropuestaEnDirectorio(int CveUsuario)
@@ -671,6 +708,12 @@ public partial class OI_DocumentoDetalle : ClsPaginas
{
try
{
string AdjuntoYaCargado = GetUsuarioParticipante(CveUsuario)["Adjunto"] == null ? "": GetUsuarioParticipante(CveUsuario)["Adjunto"].ToString();
string RutaBuscar = string.Format(@"{0}DocumentosRepo\{1}\{2}", UsuarioActual.Empresa.Ruta, this.CveDocumento, AdjuntoYaCargado);
if (File.Exists(RutaBuscar))
{
File.Delete(RutaBuscar);
}
string NombreArchivo = fileItem.filenameO;
fileNameReturn = string.Format("{0}_{1}", CveUsuario, NombreArchivo);
string RutaDestino = string.Format(@"{0}DocumentosRepo\{1}\{2}_{3}", UsuarioActual.Empresa.Ruta, this.CveDocumento, CveUsuario, NombreArchivo);
@@ -685,14 +728,16 @@ public partial class OI_DocumentoDetalle : ClsPaginas
return fileNameReturn;
}
private void ActualizarUsuario(int CveAutorizacion, string Archivo)
private bool ActualizarUsuario(int CveAutorizacion, string Archivo)
{
ClsOIEventos ObjOI = new ClsOIEventos();
if (!ObjOI.UpdateDocumentoAutorizacion(CveAutorizacion, this.CveDocumento, TxtComentarios.InnerText, Archivo, ModExtensiones.MinFecha))
{
Alert("Error al actualizar el archivo subido propuesto por el usuario");
return false;
}
ObjOI.Dispose();
return true;
}
#endregion
@@ -705,6 +750,10 @@ public partial class OI_DocumentoDetalle : ClsPaginas
DataRow Usuario = GetUsuarioParticipante(CveUsuario);
AprobacionDeUsuario(Usuario, SelectedCheckBox.Checked);
LkbPublicar.Visible = VerificarAprobaciónParticipantes() && UsuarioActual.CveUsuario == CveUsuarioResponsable;
UpCliente.Update();
}
private void AprobacionDeUsuario(DataRow Usuario, bool Autorizar)
@@ -728,7 +777,7 @@ public partial class OI_DocumentoDetalle : ClsPaginas
ObjOI.Dispose();
}
protected void LkbPublicar_Click(object sender, EventArgs e)
private bool VerificarAprobaciónParticipantes()
{
GridViewRowCollection Usuarios = GvUsuarios.Rows;
bool Aprobado = true;
@@ -740,6 +789,12 @@ public partial class OI_DocumentoDetalle : ClsPaginas
break;
}
}
return Aprobado;
}
protected void LkbPublicar_Click(object sender, EventArgs e)
{
bool Aprobado = VerificarAprobaciónParticipantes();
if (Aprobado)
{
@@ -771,8 +826,21 @@ public partial class OI_DocumentoDetalle : ClsPaginas
GvUsuarios.Columns[1].Visible = true;
GvUsuarios.Columns[2].Visible = false;
GvUsuarios.Columns[3].Visible = false;
EstatusMostrar(false);
UpCliente.Update();
}
#endregion
#region "Rechazar"
protected void LkbRechazar_Click(object sender, EventArgs e)
{
ClsOIEventos ObjOI = new ClsOIEventos();
if (ObjOI.UpdateDocumento(this.CveDocumento, DdlSubCategoria.SelectedValue.ToEntero(), TxtDescripcion.Text, TxtObs.InnerText, TxtVersion.Text, 3, "-1", TxtResponsable.Text,
DateTime.Now, -1, -1, UsuarioActual.CveEmpresa))
{
Alert("Documento cancelado");
}
ObjOI.Dispose();
Response.Redirect(string.Format("/OI/DocumentoDetalle.aspx?CveDocumento={0}&Mensaje={1}", this.CveDocumento, "Rechazado"));
}
#endregion
}

View File

@@ -14,13 +14,13 @@
<asp:UpdatePanel runat="server" ID="UpAgregar">
<ContentTemplate>
<li>
<asp:HyperLink runat="server" ID="BtnAgregarDocumento" data-toggle="tooltip" data-placement="left" NavigateUrl="/OI/DocumentoDetalle.aspx" title="Agregar un Defecto" Text="<i class='fa fa-plus'></i>Agregar Documento"></asp:HyperLink>
<asp:HyperLink runat="server" ID="BtnAgregarDocumento" data-toggle="tooltip" data-placement="left" NavigateUrl="/OI/DocumentoDetalle.aspx" title="Agregar Documento" Text="<i class='fa fa-plus'></i>Agregar"></asp:HyperLink>
</li>
<li>
<asp:LinkButton ID="LnkPDF" runat="server"><i class="fa fa-ad-pdf"></i> Imprimir PDF</asp:LinkButton>
<asp:LinkButton ID="LnkPDF" runat="server"><i class="fa fa-file-pdf-o"></i> PDF</asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="ImgExcel" runat="server"><i class="fa fa-ad-excel"></i> Imprimir Excel</asp:LinkButton>
<asp:LinkButton ID="ImgExcel" runat="server"><i class="fa fa-file-excel-o"></i> Excel</asp:LinkButton>
</li>
</ContentTemplate>
</asp:UpdatePanel>
@@ -32,13 +32,14 @@
EmptyDataText="No se encontraron Documentos Registrados" ToolTip="Listado de Documentos" CssClass="table table-striped table-advance table-hover"
Style="margin-top: -10px; text-align: center; width: 100%" GridLines="None" OnRowDataBound="GvDatos_RowDataBound">
<Columns>
<asp:HyperLinkField HeaderText="Descripcion" DataTextField="Descripcion" DataNavigateUrlFields="CveDocumento" DataNavigateUrlFormatString="/OI/DocumentoDetalle.aspx?CveDocumento={0}" ItemStyle-HorizontalAlign="Left"/>
<asp:HyperLinkField HeaderText="Descripción" DataTextField="Descripcion" DataNavigateUrlFields="CveDocumento" DataNavigateUrlFormatString="/OI/DocumentoDetalle.aspx?CveDocumento={0}" ItemStyle-HorizontalAlign="Left"/>
<asp:HyperLinkField HeaderText="Observación" DataTextField="Observacion" DataNavigateUrlFields="CveDocumento" DataNavigateUrlFormatString="/OI/DocumentoDetalle.aspx?CveDocumento={0}" ItemStyle-HorizontalAlign="Left"/>
<asp:HyperLinkField HeaderText="Versión" DataTextField="Version" DataNavigateUrlFields="CveDocumento" DataNavigateUrlFormatString="/OI/DocumentoDetalle.aspx?CveDocumento={0}"/>
<asp:HyperLinkField HeaderText="Categoria" DataTextField="Categoria" DataNavigateUrlFields="CveDocumento" DataNavigateUrlFormatString="/OI/DocumentoDetalle.aspx?CveDocumento={0}"/>
<asp:HyperLinkField HeaderText="SubCategoria" DataTextField="SubCategoria" DataNavigateUrlFields="CveDocumento" DataNavigateUrlFormatString="/OI/DocumentoDetalle.aspx?CveDocumento={0}"/>
<asp:HyperLinkField HeaderText="Versión" DataTextField="Version" DataNavigateUrlFields="CveDocumento" DataNavigateUrlFormatString="/OI/DocumentoDetalle.aspx?CveDocumento={0}" ItemStyle-HorizontalAlign="Left"/>
<asp:HyperLinkField HeaderText="Categoría" DataTextField="Categoria" DataNavigateUrlFields="CveDocumento" DataNavigateUrlFormatString="/OI/DocumentoDetalle.aspx?CveDocumento={0}" ItemStyle-HorizontalAlign="Left"/>
<asp:HyperLinkField HeaderText="SubCategoría" DataTextField="SubCategoria" DataNavigateUrlFields="CveDocumento" DataNavigateUrlFormatString="/OI/DocumentoDetalle.aspx?CveDocumento={0}" ItemStyle-HorizontalAlign="Left"/>
<asp:HyperLinkField HeaderText="Responsable" DataTextField="Responsable" DataNavigateUrlFields="CveDocumento" DataNavigateUrlFormatString="/OI/DocumentoDetalle.aspx?CveDocumento={0}" ItemStyle-HorizontalAlign="Left"/>
<asp:HyperLinkField HeaderText="Fecha Inicio Vigencia" DataTextField="FechaInicioVigencia" DataTextFormatString="{0:d}" DataNavigateUrlFields="CveDocumento" DataNavigateUrlFormatString="/OI/DocumentoDetalle.aspx?CveDocumento={0}"/>
<asp:HyperLinkField HeaderText="Estatus" DataTextField="Estatus" DataNavigateUrlFields="CveDocumento" DataNavigateUrlFormatString="/OI/DocumentoDetalle.aspx?CveDocumento={0}" ItemStyle-HorizontalAlign="Left"/>
<asp:HyperLinkField HeaderText="Inicio de Vigencia" DataTextField="FechaInicioVigencia" DataTextFormatString="{0:d}" DataNavigateUrlFields="CveDocumento" DataNavigateUrlFormatString="/OI/DocumentoDetalle.aspx?CveDocumento={0}" ItemStyle-HorizontalAlign="Left"/>
<asp:TemplateField>
<ItemTemplate>
<asp:LinkButton ID="LkbDescargarDoc" runat="server" OnClick="LkbDescargarDoc_Click" Visible="true" ClientIDMode="AutoID" AlternateText="Descargar" CausesValidation="False" CssClass="btn btn-circle btn-sm blue" Text="<i title='Subir Documento' class='fa fa-download' title='Descargar Documento' ></i>" />