This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2020-05-12 07:16:42 -07:00
parent 8072b8fd64
commit 79e57c01ca
10 changed files with 1684 additions and 335 deletions

View File

@@ -0,0 +1,562 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Extensiones;
public partial class OI_ConvocatoriaDetalle : ClsPaginas
{
#region Propiedades
public const string iddivAgregarTema = "divModalAgregartema";
public const string iddivAgregarMiembros = "iddivAgregarMiembros";
public int RCveEvento { get { return ViewState["RCveEvento"] != null ? ViewState["RCveEvento"].ToString().ToEntero() : 0; } set { ViewState["RCveEvento"] = value; } }
public bool EsNuevo { get { return Convert.ToBoolean(ViewState["EsNuevo"]); } set { ViewState["EsNuevo"] = value; } }
public List<int> LCveUsuarioCCP { get { if (ViewState["LCveUsuarioCCP"] == null) { ViewState["LCveUsuarioCCP"] = new List<int>(); } return (List<int>)ViewState["LCveUsuarioCCP"]; } set { ViewState["LCveUsuarioCCP"] = value; } }
public List<int> LcveuserVisto { get { if (ViewState["LcveuserVisto"] == null) { ViewState["LcveuserVisto"] = new List<int>(); } return (List<int>)ViewState["LcveuserVisto"]; } set { ViewState["LcveuserVisto"] = value; } }
public int CveUsuarioDe { get { return ViewState["CveUsuarioDe"].ToString().ToEntero(); } set { ViewState["CveUsuarioDe"] = value; } }
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
EsNuevo = true;
CargaTemas();
cargaUsuarios();
if (Request["CveEvento"] != null)
{
RCveEvento = Request["CveEvento"].ToString().ToEntero();
}
if (RCveEvento > 0)
{
EsNuevo = false;
LnkGuardar.Visible = false;
loadConvocatoria();
}
}
}
private void CargaTemas()
{
DdlTema.DataSource = get_GlobalDTOIRevision(UsuarioActual.CveEmpresa).FiltraParametros(string.Format("CveUsuario = {0}", UsuarioActual.CveUsuario));
DdlTema.DataBind();
DdlTema.Items.Insert(0, new ListItem("Seleccione", "-1"));
}
private void cargaUsuarios()
{
string FiltroAD = "";
GVUsuariosB.DataSource = get_GlobalDTUsuarios().FiltraParametros(String.Format("CveEmpresa = {0} AND Estatus =1 {1}", UsuarioActual.CveEmpresa, FiltroAD), "Rol ASC");
GVUsuarios.DataSource = GVUsuariosB.DataSource;
DdlModera.DataSource = GVUsuariosB.DataSource;
DdlModerador.DataSource = GVUsuariosB.DataSource;
GVUsuariosB.DataBind();
DdlModerador.DataBind();
DdlModera.DataBind();
GVUsuarios.DataBind();
DdlModerador.SelectedValueExist(UsuarioActual.CveUsuario.ToString());
}
private void loadConvocatoria()
{
int CveEventoHijo = 0;
using (ClsOIEventos ObjOI_E = new ClsOIEventos())
{
if (ObjOI_E.GetEventos2(-1, UsuarioActual.CveEmpresa, RCveEvento) && ObjOI_E.DtResultados.Rows.Count > 0)
{
System.Data.DataRow drow = ObjOI_E.DtResultados.Rows[0];
CveEventoHijo = drow["CveEvento"].ToString().ToEntero();
}
if (ObjOI_E.GetEventos2(RCveEvento, UsuarioActual.CveEmpresa) && ObjOI_E.DtResultados.Rows.Count > 0)
{
System.Data.DataRow drow = ObjOI_E.DtResultados.Rows[0];
portletMiembros.Visible = false;
pnlmiembrosvista.Visible = true;
TxtAsunto.Text = drow["Asunto"].ToString();
TxtDescripcion.Text = drow["Descripcion"].ToString();
DdlPrioridad.SelectedValueExist(drow["Prioridad"].ToString());
txtFechaI.Text = string.Format("{0:dd/MM/yyyy HH:mm}", drow["FechaInicio"]);
txtFechaF.Text = string.Format("{0:dd/MM/yyyy HH:mm}", drow["FechaFin"]);
TxtLugar.Text = string.Format("{0}", drow["Lugar"]);
TxtCorreoExterno.Text = string.Format("{0}", drow["CorreoExterno"]);
TxtOrdendeldia.Text = string.Format("{0}", drow["Acuerdos"]).Replace("<", "< ");
DdlTema.SelectedValueExist(drow["CveRevision"].ToString());
int CveUsuarioIng = drow["CveUsuarioIng"].ToString().ToEntero();
CveUsuarioDe = drow["CveUsuarioDe"].ToString().ToEntero();
int CveEventoEstatus = drow["CveEventoEstatus"].ToString().ToEntero();
bool permisoeditar = UsuarioActual.CveUsuario == CveUsuarioDe || UsuarioActual.CveUsuario == CveUsuarioIng;
LnkIniciar.Visible = permisoeditar && (CveEventoHijo <0);
HypIrMinuta.Visible = (CveEventoHijo > 0);
HypIrMinuta.NavigateUrl = string.Format("/OI/MinutaDetalle.aspx?CveEvento={0}", CveEventoHijo);
TxtAsunto.Enabled = permisoeditar;
TxtDescripcion.Enabled = permisoeditar;
txtFechaI.Enabled = permisoeditar;
txtFechaF.Enabled = permisoeditar;
TxtLugar.Enabled = permisoeditar;
TxtCorreoExterno.Enabled = permisoeditar;
TxtOrdendeldia.Enabled = permisoeditar;
if (ObjOI_E.GetEventosUsuario2(RCveEvento, UsuarioActual.CveEmpresa))
{
LCveUsuarioCCP.Clear();
LcveuserVisto.Clear();
foreach (System.Data.DataRow item in ObjOI_E.DtResultados.Select("CveEvento >0"))
{
int CveUsuario = item["CveUsuario"].ToString().ToEntero();
LCveUsuarioCCP.Add(CveUsuario);
if (item["Visto"].ToString().ToEntero() == 1)
{
LcveuserVisto.Add(CveUsuario);
}
}
}
SetUsuarios();
}
}
}
private void SetUsuarios()
{
StringBuilder StrDeUser = new StringBuilder();
StringBuilder StrCCPara = new StringBuilder();
foreach (GridViewRow gvRow in GVUsuariosB.Rows)
{
if (gvRow.RowType == DataControlRowType.DataRow)
{
int CveUsuario = gvRow.DataKey("CveUsuario").ToString().ToEntero();
CheckBox chkCCpara = gvRow.FCCheckBox("ChkCCP");
chkCCpara.Checked = false;
if (EsNuevo)
{
chkCCpara.Enabled = true;
if (CveUsuario == UsuarioActual.CveUsuario)
{
chkCCpara.Checked = true;
chkCCpara.Enabled = false;
}
}
else
{
chkCCpara.Enabled = false;
}
string palomitavisto = "";
string palomitasinver = "<i class=\"fa fa-check\" aria-hidden=\"true\"></i>";
if (CveUsuario == UsuarioActual.CveUsuario || CveUsuario.Contiene(LcveuserVisto.ToArray<int>()))
{
palomitavisto = palomitasinver;
palomitasinver = "";
}
if (CveUsuario == CveUsuarioDe)
{
chkCCpara.Checked = true;
StrDeUser.AppendFormat("{3}<span class=\"linkCorreo\" data-toggle=\"tooltip\" title=\"{1}\">{2}\"{0}\"</span>", gvRow.DataKey("Nombre").ToString(), gvRow.DataKey("Correo").ToString(), "", "");
}
else if (CveUsuario.Contiene(LCveUsuarioCCP.ToArray<int>()))
{
chkCCpara.Checked = true;
StrCCPara.AppendFormat("{3}<span class=\"linkCorreo cssnowrap\" data-toggle=\"tooltip\" title=\"{1}\">{2}\"{0}\"</span>; ", gvRow.DataKey("Nombre").ToString(), gvRow.DataKey("Correo").ToString(), "", "");
}
}
}
LtlDeUser.Text = StrDeUser.ToString();
int longitud = StrCCPara.ToString().Length;
if (longitud > 0)
{
LtlCCPara.Text = StrCCPara.ToString().Substring(0, longitud - 1);
}
else
{
LtlCCPara.Text = "";
}
}
protected void LnkUpUsuarios_Click(object sender, EventArgs e)
{
this.RegistraScript(string.Format("$('#{0}').modal()", iddivAgregarMiembros));
LtlTituloUsuarios.Text = "Actualizar miembros";
BtnUpMiembros.Visible = true;
BtnReasignarTarea.Visible = false;
DdlModera.SelectedValueExist(CveUsuarioDe.ToString());
foreach (GridViewRow gvRow in GVUsuarios.Rows)
{
if (gvRow.RowType == DataControlRowType.DataRow)
{
int CveUsuario = gvRow.DataKey("CveUsuario").ToString().ToEntero();
CheckBox chkCCpara = gvRow.FCCheckBox("ChkCCP");
chkCCpara.Checked = false;
chkCCpara.Enabled = true;
if ( (CveUsuario == CveUsuarioDe))
{
if (CveUsuario == CveUsuarioDe)
{
chkCCpara.Checked = true;
}
}
else if (CveUsuario.Contiene(LCveUsuarioCCP.ToArray<int>()))
{
chkCCpara.Checked = true;
}
}
}
UpUsuarios.Update();
}
protected void BtnUpMiembros_Click(object sender, EventArgs e)
{
List<int> listaCCP = new List<int>();
int _cveUsuarioPara = -1;
foreach (GridViewRow gvRow in GVUsuarios.Rows)
{
if (gvRow.RowType == DataControlRowType.DataRow)
{
int CveUsuario = gvRow.DataKey("CveUsuario").ToString().ToEntero();
CheckBox chkCCpara = gvRow.FCCheckBox("ChkCCP");
if (chkCCpara.Checked)
{
listaCCP.Add(CveUsuario);
//cveUsuarioDe = CveUsuario;
}
}
}
bool continuar = false;
using (ClsOIEventos oieve = new ClsOIEventos())
{
continuar = oieve.UpEventoMiembros(RCveEvento, _cveUsuarioPara, listaCCP, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario);
if (continuar)
{
}
}
if (continuar)
{
LCveUsuarioCCP = listaCCP;
//this.CveUsuariode = _cveUsuarioPara;
SetUsuarios();
//Setpermisos();
}
UpContenido.Update();
this.RegistraScript(string.Format("$('#{0}').modal('hide')", iddivAgregarMiembros));
}
protected void LnkAddTtemaModal_Click(object sender, EventArgs e)
{
this.RegistraScript(string.Format("$('#{0}').modal()", iddivAgregarTema));
}
protected void LnkGuardar_Click(object sender, EventArgs e)
{
string errorMessage = "";
if (EsNuevo)
{
int cveUsuarioDe = DdlModerador.SelectedValue.ToEntero();
List<int> listaCCP = new List<int>();
int cveUsuarioPara = -1;
//string Nombrepara = "";
string Nombrede = "";
foreach (GridViewRow gvRow in GVUsuariosB.Rows)
{
if (gvRow.RowType == DataControlRowType.DataRow)
{
int CveUsuario = gvRow.DataKey("CveUsuario").ToString().ToEntero();
CheckBox chkCCpara = gvRow.FCCheckBox("ChkCCP");
if (CveUsuario == cveUsuarioDe)
{
Nombrede = gvRow.DataKey("Nombre").ToString();
}
if (chkCCpara.Checked)
{
listaCCP.Add(CveUsuario);
//cveUsuarioDe = CveUsuario;
}
}
}
OITipoEventos cveTipoEvento = OITipoEventos.Convocatorias;
string asunto = TxtAsunto.Text;
string descripcion = TxtDescripcion.Text;
int prioridad = DdlPrioridad.SelectedValue.ToEntero();
string fechaInicio = "";
if (txtFechaI.Text.ToDateTimeExcat().Year <= 1999)
{
if (txtFechaI.Text.ToDateTimeExcat("dd/MM/yyyy").Year <= 1999)
{
errorMessage = "No se ingresó una fecha de inicio valida";
}
else
{
fechaInicio = txtFechaI.Text.ToDateTimeExcat("dd/MM/yyyy").ToString("yyyy/MM/dd HH:mm");
}
}
else
{
fechaInicio = txtFechaI.Text.ToDateTimeExcat().ToString("yyyy/MM/dd HH:mm");
}
string fechaFin = "";
if (txtFechaF.Text.ToDateTimeExcat().Year <= 1999)
{
if (txtFechaF.Text.ToDateTimeExcat("dd/MM/yyyy").Year <= 1999)
{
errorMessage = "No se ingresó una fecha fin valida";
}
else
{
fechaFin = string.Format("{0:yyyy/MM/dd} 23:59", txtFechaF.Text.ToDateTimeExcat("dd/MM/yyyy"));
}
}
else
{
fechaFin = txtFechaF.Text.ToDateTimeExcat().ToString("yyyy/MM/dd HH:mm");
}
int cveRevision = DdlTema.SelectedValue.ToEntero();
string archivoname = "";
string rutaarchivoOri = "";
int cveUsuarioIng = UsuarioActual.CveUsuario;
int cveEmpresa = UsuarioActual.CveEmpresa;
bool Continuar = false;
int Folio = -1;
int CveEvento = -1;
if (cveUsuarioDe <= 0)
{
errorMessage = "Asegúrese de seleccionar al menos un miembro \"C C Para\"";
}
if (errorMessage.Length == 0)
{
List<string> chkList = new List<string>();
using (ClsOIEventos objOI = new ClsOIEventos())
{
objOI.IniciaTransacSQL();
Continuar = objOI.AddOI_Eventos2(cveTipoEvento, asunto, descripcion, prioridad, cveUsuarioDe, cveUsuarioPara, fechaInicio, fechaFin, cveRevision, archivoname, listaCCP, chkList, cveUsuarioIng, cveEmpresa, CorreoExterno: TxtCorreoExterno.Text, Acuerdos: TxtOrdendeldia.Text.Replace("< ", "<"), Lugar: TxtLugar.Text);
CveEvento = objOI.CveEvento;
Folio = objOI.Folio;
if (CveEvento == 0)
{
Continuar = false;
}
if (Continuar)
{
objOI.Commit();
ObjEventosCorreo o = objOI.objCorreo;
//string mailbody = MailgetBodyNuevatarea(o.Folio, o.Link, o.Asunto, o.Descripcion, string.Format("{0:dd/MM/yyyy}", fechaInicio.ToDateTime()), string.Format("{0:HH:mm horas}", fechaInicio.ToDateTime()), string.Format("{0:dd/MM/yyyy}", fechaFin.ToDateTime()), string.Format("{0:HH:mm horas}", fechaFin.ToDateTime()), o.Prioridad, o.Tema, Nombrede, Nombrepara);
//EnviarCorreo(UsuarioActual.Empresa, o.AsuntoCorreo, mailbody, o.mailPara, "");
}
else
{
objOI.RollBack();
Continuar = false;
}
}
if (Continuar && CveEvento > 0)
{
if (rutaarchivoOri.Length > 0)
{
string ruta = string.Format("{0}OIFiles\\", UsuarioActual.Empresa.Ruta);
if (!System.IO.Directory.Exists(ruta))
{
System.IO.Directory.CreateDirectory(ruta);
}
ruta = string.Format("{0}{1}\\", ruta, Folio);
if (!System.IO.Directory.Exists(ruta))
{
System.IO.Directory.CreateDirectory(ruta);
}
ruta = string.Format("{0}{1}", ruta, archivoname);//, ArchivoExtencion);
System.IO.File.Move(rutaarchivoOri, ruta);
}
this.Alert("Se ha agregadó la nueva convocatoria", ModExtensiones.TipoMensaje.MsgInformacion, string.Format("location.replace(\"/OI/ConvocatoriaDetalle.aspx?CveEvento={0}\");", CveEvento));
}
}
}
else
{
//string asunto = TxtAsunto.Text;
//string descripcion = TxtDescripcion.Text;
//int prioridad = DdlPrioridad.SelectedValue.ToEntero();
//string fechaInicio = "";
//if (txtFechaI.Text.ToDateTimeExcat().Year <= 1999)
//{
// if (txtFechaI.Text.ToDateTimeExcat("dd/MM/yyyy").Year <= 1999)
// {
// errorMessage = "No se ingresó una fecha de inicio valida";
// }
// else
// {
// fechaInicio = txtFechaI.Text.ToDateTimeExcat("dd/MM/yyyy").ToString("yyyy/MM/dd HH:mm");
// }
//}
//else
//{
// fechaInicio = txtFechaI.Text.ToDateTimeExcat().ToString("yyyy/MM/dd HH:mm");
//}
//string fechaFin = "";
//if (txtFechaF.Text.ToDateTimeExcat().Year <= 1999)
//{
// if (txtFechaF.Text.ToDateTimeExcat("dd/MM/yyyy").Year <= 1999)
// {
// errorMessage = "No se ingresó una fecha fin valida";
// }
// else
// {
// fechaFin = string.Format("{0:yyyy/MM/dd} 23:59", txtFechaF.Text.ToDateTimeExcat("dd/MM/yyyy"));
// }
//}
//else
//{
// fechaFin = txtFechaF.Text.ToDateTimeExcat().ToString("yyyy/MM/dd HH:mm");
//}
//int cveRevision = DdlTema.SelectedValue.ToEntero();
//bool Continuar = true;
//using (ClsOIEventos objOI = new ClsOIEventos())
//{
// objOI.IniciaTransacSQL();
// Continuar = objOI.UP_Eventos2(RCveEvento, asunto, descripcion, prioridad, fechaInicio, fechaFin, cveRevision, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa);
// if (Continuar)
// {
// objOI.Commit();
// string Nombrede = "";
// string Nombrepara = "";
// System.Data.DataTable dt = get_GlobalDTUsuarios(CveUsuario: CveUsuarioDe, CveEmpresa: UsuarioActual.CveEmpresa);
// if (dt.Rows.Count > 0)
// {
// Nombrede = dt.Rows[0]["Nombre"].ToString();
// }
// dt = get_GlobalDTUsuarios(CveUsuario: CveUsuarioDe, CveEmpresa: UsuarioActual.CveEmpresa);
// if (dt.Rows.Count > 0)
// {
// Nombrepara = dt.Rows[0]["Nombre"].ToString();
// }
// ObjEventosCorreo o = objOI.objCorreo;
// string mailbody = MailgetBodyNuevatarea(o.Folio, o.Link, o.Asunto, o.Descripcion, string.Format("{0:dd/MM/yyyy}", fechaInicio.ToDateTime()), string.Format("{0:HH:mm} horas", fechaInicio.ToDateTime()), string.Format("{0:dd/MM/yyyy}", fechaFin.ToDateTime()), string.Format("{0:HH:mm} horas", fechaFin.ToDateTime()), o.Prioridad, o.Tema, Nombrede, Nombrepara, "Tarea Actualizada");
// //string mailbody = MailgetBodyActualizartarea(o.Folio, o.Link, o.Asunto, o.Descripcion, o.Fechai, o.Fechaf, o.Prioridad, o.Tema);
// EnviarCorreo(UsuarioActual.Empresa, o.AsuntoCorreo, mailbody, o.mailPara, "");
// }
// else
// {
// objOI.RollBack();
// Continuar = false;
// }
//}
}
if (errorMessage.Length > 0)
{
this.Alert(errorMessage, ModExtensiones.TipoMensaje.MsgAdvertencia);
}
}
protected void BtnAgregarTema_Click(object sender, EventArgs e)
{
using (ClsOIEventos objoi = new ClsOIEventos())
{
if (objoi.AddRevisionesEventos(TxtTema.Text.Trim(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
{
Alert(string.Format("El Tema \"{0}\" fue agregada con éxito.", TxtTema.Text.Trim()), ModExtensiones.TipoMensaje.MsgInformacion);
this.RegistraScript(string.Format("$('#{0}').modal('hide')", iddivAgregarTema));
TxtTema.Text = "";
set_GlobalDTOIRevision(-1, objoi.DtResultados);
CargaTemas();
UpContenido.Update();
}
else { Alert("Ocurrió un error al agregar la revisión. Por favor vuelva a intentar.", ModExtensiones.TipoMensaje.MsgError); }
}
}
protected void GVUsuariosB_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string CveRol = e.Row.DBCampo("CveRol");
string CveSubProyecto = e.Row.DBCampo("CveSubProyecto");
e.Row.CssClass = "items";
//e.Row.Attributes.Add("data-rol", CveRol);
//e.Row.Attributes.Add("data-sucursal", CveRol);
}
}
protected void GVUsuarios_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string CveRol = e.Row.DBCampo("CveRol");
string CveSubProyecto = e.Row.DBCampo("CveSubProyecto");
e.Row.CssClass = "items";
//e.Row.Attributes.Add("data-rol", CveRol);
//e.Row.Attributes.Add("data-sucursal", CveRol);
}
}
protected void LnkIniciar_Click(object sender, EventArgs e)
{
bool Continuar = false;
int CveEvento = -1;
int Folio = -1;
using (ClsOIEventos ObjOI_E = new ClsOIEventos())
{
if (ObjOI_E.GetEventos2(RCveEvento, UsuarioActual.CveEmpresa) && ObjOI_E.DtResultados.Rows.Count > 0)
{
System.Data.DataRow drow = ObjOI_E.DtResultados.Rows[0];
ObjOI_E.IniciaTransacSQL();
Continuar = ObjOI_E.AddOI_Eventos2(OITipoEventos.Minuta, drow["Asunto"].ToString(), drow["descripcion"].ToString(), drow["Prioridad"].ToString().ToEntero(), drow["cveUsuarioDe"].ToString().ToEntero(),
drow["cveUsuarioPara"].ToString().ToEntero(), string.Format("{0:yyyy/MM/dd HH:mm}", drow["fechaInicio"]),string.Format("{0:yyyy/MM/dd HH:mm}", drow["fechaFin"]), drow["cveRevision"].ToString().ToEntero(), "",
LCveUsuarioCCP, new List<string>(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CorreoExterno: drow["CorreoExterno"].ToString(), Lugar: drow["Lugar"].ToString(),CveEventoPadre:RCveEvento);
CveEvento = ObjOI_E.CveEvento;
Folio = ObjOI_E.Folio;
if (CveEvento == 0)
{
Continuar = false;
}
if (Continuar) { Continuar = ObjOI_E.UpdateEstatusEvento2(2, -1, RCveEvento, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa); }
if (Continuar)
{
ObjOI_E.Commit();
ObjEventosCorreo o = ObjOI_E.objCorreo;
}
else
{
ObjOI_E.RollBack();
Continuar = false;
}
}
}
if (Continuar)
{
this.Alert("Se ha agregadó la nueva convocatoria", ModExtensiones.TipoMensaje.MsgInformacion, string.Format("location.replace(\"/OI/MinutaDetalle.aspx?CveEvento={0}\");", CveEvento));
}
}
protected void BtnReasignarTarea_Click(object sender, EventArgs e)
{
}
}