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_MinutaDetalle : ClsPaginas { #region Propiedades public int RCveEvento { get { return ViewState["RCveEvento"] != null ? ViewState["RCveEvento"].ToString().ToEntero() : 0; } set { ViewState["RCveEvento"] = value; } } public int Folio { get { return ViewState["Folio"] != null ? ViewState["Folio"].ToString().ToEntero() : 0; } set { ViewState["Folio"] = value; } } public decimal Avance { get { return ViewState["Avance"] != null ? ViewState["Avance"].ToString().ToEntero() : 0; } set { ViewState["Avance"] = value; } } public int CveUsuarioPara { get { return ViewState["CveUsuarioPara"].ToString().ToEntero(); } set { ViewState["CveUsuarioPara"] = value; } } public int CveUsuarioDe { get { return ViewState["CveUsuarioDe"].ToString().ToEntero(); } set { ViewState["CveUsuarioDe"] = value; } } public List LCveUsuarioCCP { get { if (ViewState["LCveUsuarioCCP"] == null) { ViewState["LCveUsuarioCCP"] = new List(); } return (List)ViewState["LCveUsuarioCCP"]; } set { ViewState["LCveUsuarioCCP"] = value; } } public List LcveuserVisto { get { if (ViewState["LcveuserVisto"] == null) { ViewState["LcveuserVisto"] = new List(); } return (List)ViewState["LcveuserVisto"]; } set { ViewState["LcveuserVisto"] = value; } } public bool EsNuevo { get { return Convert.ToBoolean(ViewState["EsNuevo"]); } set { ViewState["EsNuevo"] = value; } } public System.Data.DataTable CheckListNew { get { return ViewState["CheckListNew"] != null ? (System.Data.DataTable)ViewState["CheckListNew"] : null; } set { ViewState["CheckListNew"] = value; } } public int chklistitemindex { get { return ViewState["chklistitemindex"] != null ? ViewState["chklistitemindex"].ToString().ToEntero() : 0; } set { ViewState["chklistitemindex"] = value; } } #endregion protected void Page_Load(object sender, EventArgs e) { chklistitemindex = 0; if (!IsPostBack) { EsNuevo = true; DdlRoles.DataSource = get_GlobalDTRoles(UsuarioActual.CveEmpresa); DdlRoles.DataBind(); DdlRoles.Items.Insert(0, new ListItem("Todos", "-1")); DdlSucursales.DataSource = get_GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa); DdlSucursales.DataBind(); DdlSucursales.Items.Insert(0, new ListItem("Todos", "-1")); GVUsuarios.DataSource = get_GlobalDTUsuarios(CveEmpresa: UsuarioActual.CveEmpresa).FiltraParametros("Estatus =1 ", "Rol ASC"); GVUsuariosB.DataSource = GVUsuarios.DataSource; DdlTareaPara.DataSource = GVUsuarios.DataSource; DdlTareaPara.DataBind(); DdlAgendaPara.DataSource = GVUsuarios.DataSource; DdlAgendaPara.DataBind(); GVUsuarios.DataBind(); GVUsuariosB.DataBind(); if (Request["CveEvento"] != null) { RCveEvento = Request["CveEvento"].ToString().ToEntero(); } if (RCveEvento > 0) { Tab.Visible = true; EsNuevo = false; LnkGuardar.Visible = false; using (ClsOIEventos oieve = new ClsOIEventos()) { oieve.UpUsuarioseventosVisto(RCveEvento, UsuarioActual.CveUsuario); } LoadMinuata(); } else { Tab.Visible = false; HypArchivo.Visible = false; GVcheklist.Columns[0].Visible = false; #region "carga check list new " CheckListNew = new System.Data.DataTable(); //CveEventoCheckList,CveEvento,CveTipoEvento,EventoComentario,Estatus,CveUsuario,Usuario,FechaIng CheckListNew.Columns.Add("CveEventoCheckList", typeof(int)); CheckListNew.Columns.Add("CveEvento", typeof(int)); CheckListNew.Columns.Add("CveTipoEvento", typeof(int)); CheckListNew.Columns.Add("EventoComentario", typeof(String)); CheckListNew.Columns.Add("Estatus", typeof(bool)); CheckListNew.Columns.Add("CveUsuario", typeof(int)); CheckListNew.Columns.Add("Usuario", typeof(string)); CheckListNew.Columns.Add("FechaIng", typeof(DateTime)); #endregion } } } public void LoadMinuata() { GVcheklist.DataSource = new System.Data.DataTable(); using (ClsOIEventos ObjOI_E = new ClsOIEventos()) { if (ObjOI_E.GetEventos2(RCveEvento, UsuarioActual.CveEmpresa) && ObjOI_E.DtResultados.Rows.Count > 0) { portletUserNew.Visible = false; pnlmiembrosvista.Visible = true; TabTareas.Visible = true; TabAgendas.Visible = true; TabArchivos.Visible = true; LnkTerminar_EnviarMinuta.Visible = true; LnkEnviarMinuta.Visible = false; TxtAsunto.Enabled = false; TxtDescripcion.Enabled = false; tareanueva.CveEventoPadre = RCveEvento; //LnkUpFileVisible = true; //LnkUpUsuariosVisible = true; System.Data.DataRow drow = ObjOI_E.DtResultados.Rows[0]; Folio = drow["Folio"].ToString().ToEntero(); Avance = drow["Avance"].ToString().ToDecimal(); TxtAsunto.Text = drow["Asunto"].ToString(); TxtDescripcion.Text = drow["Descripcion"].ToString(); TxtAcuerdos.Text = drow["Acuerdos"].ToString().Replace("<", "< "); //txtFechaI.Text = string.Format("{0:dd/MM/yyyy HH:mm}", drow["FechaInicio"]); //txtFechaF.Text = string.Format("{0:dd/MM/yyyy HH:mm}", drow["FechaFin"]); //DdlTema.SelectedValueExist(drow["CveRevision"].ToString()); //DdlEventoEstatus.SelectedValueExist(drow["CveEventoEstatus"].ToString()); //DDlEstatus.SelectedValueExist(drow["CveEventoEstatus"].ToString()); HypArchivo.Text = string.Format("{0}
", drow["Archivo"].ToString()); HypArchivo.NavigateUrl = string.Format("~/OI/TareaDetalle.aspx?Archivo={0}&filename={1}", ModExtensiones.Encripta(string.Format("OIFiles\\{0}\\{1}", Folio, drow["Archivo"])), ModExtensiones.Encripta(drow["Archivo"].ToString())); TxtArchivo.Visible = (drow["Archivo"].ToString().Length == 0); portletArchivo.Visible = !TxtArchivo.Visible; //LnkUpFile.Text = (portletArchivo.Visible ? " Actualizar archivo" : " Agregar archivo"); //Literal3.Text = portletArchivo.Visible ? "Actualizar archivo" : "Agregar archivo"; //BtnActualizarArchivo.Text = portletArchivo.Visible ? "Actualizar" : "Agregar"; int CveUsuarioIng = drow["CveUsuarioIng"].ToString().ToEntero(); CveUsuarioDe = drow["CveUsuarioDe"].ToString().ToEntero(); CveUsuarioPara = drow["CveUsuarioPara"].ToString().ToEntero(); int CveEventoEstatus = drow["CveEventoEstatus"].ToString().ToEntero(); if (CveEventoEstatus ==4) { LnkEnviarMinuta.Visible = true; LnkSaveAcuerdos.Visible = false; LnkAgregarAgenda.Visible = false; LnkTerminar_EnviarMinuta.Visible = false; LnkEnviarMinuta.Visible = true; LnkAgregarTarea.Visible = false; } hdnCveEventoEstatus.Value = CveEventoEstatus.ToString(); hdnCveEvento.Value = RCveEvento.ToString(); //TxtAvance.Text = string.Format("{0:##0}", drow["Avance"]); //TxtUsuarioreg.Text = string.Format("{0}", drow["NombreRegistro"]); //TxtFechaIng.Text = string.Format("{0:dd/MM/yyyy}", drow["FechaIng"]); //OIE.[CveEvento], OIE.[CveTipoEvento], OIE.[Folio], OIE.[Asunto], OIE.[Descripcion], OIE.[Prioridad], OIE.[CveUsuarioDe], OIE.[CveUsuarioPara], //OIE.[CveEventoEstatus], OIE.[FechaInicio], OIE.[FechaFin], OIE.[FechaRealTermino], OIE.[CveRevision], OIE.[Archivo], OIE.[FechaIng], //OIE.[CveUsuarioIng], OIE.[CveEmpresa], OIE.[CveUsuarioModifico], OIE.[Avance] StringBuilder StrDeUser = new StringBuilder(); StringBuilder StrCCPara = new StringBuilder(); ltlTituloPage.Text = drow["Asunto"].ToString(); if (ObjOI_E.GetEventosUsuario2(RCveEvento, UsuarioActual.CveEmpresa)) { LCveUsuarioCCP.Clear(); foreach (System.Data.DataRow item in ObjOI_E.DtResultados.Select("CveEvento >0")) { int CveUsuario = item["CveUsuario"].ToString().ToEntero(); LCveUsuarioCCP.Add(CveUsuario); string palomitavisto = ""; string palomitasinver = ""; if (item["Visto"].ToString().ToEntero() == 1) { LcveuserVisto.Add(CveUsuario); palomitavisto = palomitasinver; palomitasinver = ""; } string user = string.Format("{3}{2}\"{0}\"", item["Nombre"].ToString(), item["Correo"].ToString(), palomitavisto, palomitasinver); if (CveUsuarioIng == CveUsuario) { StrDeUser.Append(user); } else { StrCCPara.Append(user); } } LtlDeUser.Text = StrDeUser.ToString(); LtlCCPara.Text = StrCCPara.ToString(); } foreach (GridViewRow gvRow in GVUsuariosB.Rows) { if (gvRow.RowType == DataControlRowType.DataRow) { int CveUsuario = gvRow.DataKey("CveUsuario").ToString().ToEntero(); CheckBox ChkOk = gvRow.FCCheckBox("ChkOk"); if (CveUsuario.Contiene(LCveUsuarioCCP.ToArray())) { ChkOk.Checked = true; } } } if (ObjOI_E.Getcheklist(RCveEvento)) { GVcheklist.DataSource = ObjOI_E.DtResultados; if (ObjOI_E.DtResultados.Rows.Count > 0) { portletChekList.Visible = true; } } cargaActividades(ObjOI_E); } } cargarAgenda(); GVcheklist.DataBind(); } #region "Acuerdos" private void cargaActividades(ClsOIEventos ObjOI) { GvActividades.DataSource = null; if (ObjOI.GetEventosComentarios(RCveEvento)) { GvActividades.DataSource = ObjOI.DtResultados; } GvActividades.DataBind(); UpActividades.Update(); } protected void GvActividades_RowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow) { HyperLink HplA = e.Row.FCHyperLink("HplA"); string archivoname = e.Row.DBCampo("Archivo"); string CveComentario = e.Row.DBCampo("CveEventoComentario"); HplA.Visible = archivoname != ""; if (HplA.Visible) { HplA.NavigateUrl = string.Format("~/OI/TareaDetalle.aspx?Archivo={0}&filename={1}", ModExtensiones.Encripta(string.Format("OIFiles\\{0}\\{1}", Folio, archivoname)), ModExtensiones.Encripta(archivoname)); } } //Visible='<%# Eval("Archivo").ToString() != "" %>' data-archivo ='<%# string.Format("",Eval("CveEventoComentario").ToString()) %>' //string.Format("~/OI/TareaDetalle.aspx?Archivo={0}&filename={1}", ModExtensiones.Encripta(string.Format("OIFiles\\{0}\\{1}", Folio, drow["Archivo"])), ModExtensiones.Encripta(drow["Archivo"].ToString())) } protected void LnkAgregarchklistitem_Click(object sender, EventArgs e) { if (RCveEvento > 0) { using (ClsOIEventos objOI = new ClsOIEventos()) { if (objOI.Addcheklist(RCveEvento, TxtActividad.Text, UsuarioActual.CveUsuario)) { Alert("Se agregó el acuerdo", ModExtensiones.TipoMensaje.ToastInformacion); if (objOI.Getcheklist(RCveEvento)) { GVcheklist.DataSource = objOI.DtResultados; GVcheklist.DataBind(); cargaActividades(objOI); } } } } else { System.Data.DataRow drow = CheckListNew.NewRow(); drow["CveEventoCheckList"] = chklistitemindex++; drow["EventoComentario"] = TxtActividad.Text; drow["Estatus"] = false; //CveEventoCheckList,CveEvento,CveTipoEvento,EventoComentario,Estatus,CveUsuario,Usuario,FechaIng CheckListNew.Rows.Add(drow); GVcheklist.DataSource = CheckListNew; GVcheklist.DataBind(); } TxtActividad.Text = ""; } protected void ChkEstatus_CheckedChanged(object sender, EventArgs e) { CheckBox chk = (CheckBox)sender; GridViewRow gvrow = (GridViewRow)chk.NamingContainer; using (ClsOIEventos objOI = new ClsOIEventos()) { if (objOI.Upcheklist(gvrow.DataKey("CveEventoCheckList").ToEntero(), gvrow.DataKey("CveEvento").ToEntero(), gvrow.DataKey("EventoComentario"), chk.Checked, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)) { Alert("Se actualizó el estatus del acuerdo", ModExtensiones.TipoMensaje.ToastInformacion); if (objOI.Getcheklist(RCveEvento)) { GVcheklist.DataSource = objOI.DtResultados; GVcheklist.DataBind(); cargaActividades(objOI); } } } } protected void LnkEliminarchek_Click(object sender, EventArgs e) { GridViewRow gvrow = (GridViewRow)((LinkButton)sender).NamingContainer; if (EsNuevo) { CheckListNew = CheckListNew.FiltraParametros(string.Format("CveEventoCheckList <> {0}", gvrow.DataKey("CveEventoCheckList"))); GVcheklist.DataSource = CheckListNew; GVcheklist.DataBind(); } else { using (ClsOIEventos objOI = new ClsOIEventos()) { if (objOI.Removecheklist(gvrow.DataKey("CveEventoCheckList").ToEntero(), gvrow.DataKey("CveEvento").ToEntero(), UsuarioActual.CveUsuario)) { Alert("Se ha eliminadó el acuerdo", ModExtensiones.TipoMensaje.ToastInformacion); if (objOI.Getcheklist(RCveEvento)) { GVcheklist.DataSource = objOI.DtResultados; GVcheklist.DataBind(); cargaActividades(objOI); } } } } } protected void LnkSinfuncion_Click(object sender, EventArgs e) { } #endregion 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 LnkGuardar_Click(object sender, EventArgs e) { string asunto = TxtAsunto.Text; string descripcion = TxtDescripcion.Text; string acuerdos = TxtAcuerdos.Text.Replace("< ", "<"); int cveusuarioDe = -1; int cveusuarioPara = -1; if (EsNuevo) { string archivoname = ""; string rutaarchivoOri = ""; string ArchivoExtencion = ""; int Folio = -1; int CveEvento = -1; foreach (Archivo item in TxtArchivo.getfiles().Archivos) { archivoname = item.filenameO; ArchivoExtencion = string.Format("{0}{1}", (item.Extencion.Length > 0 ? "." : ""), item.Extencion); rutaarchivoOri = string.Format("{0}{1}{2}", AppDomain.CurrentDomain.BaseDirectory, item.patch, item.filename); } bool Continuar = true; List lMiembros = new List(); lMiembros.Add(UsuarioActual.CveUsuario); foreach (GridViewRow gvRow in GVUsuarios.Rows) { if (gvRow.RowType == DataControlRowType.DataRow) { int CveUsuario = gvRow.DataKey("CveUsuario").ToString().ToEntero(); CheckBox ChkOk = gvRow.FCCheckBox("ChkOk"); if (ChkOk.Checked) { lMiembros.Add(CveUsuario); //cveUsuarioDe = CveUsuario; } } } List chkList = new List(); if (CheckListNew != null) { foreach (System.Data.DataRow item in CheckListNew.Rows) { chkList.Add(item["EventoComentario"].ToString()); } } using (ClsOIEventos oieve = new ClsOIEventos()) { oieve.IniciaTransacSQL(); Continuar = oieve.AddEventoMinuta2(asunto, descripcion, acuerdos, cveusuarioDe, cveusuarioPara, DateTime.Now, archivoname, lMiembros, chkList, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa); CveEvento = oieve.CveEvento; Folio = oieve.Folio; if (Continuar) { oieve.Commit(); } else { oieve.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 minuta", ModExtensiones.TipoMensaje.MsgInformacion, string.Format("location.replace(\"/OI/MinutaDetalle.aspx?CveEvento={0}\");", CveEvento)); } } } private void cargarAgenda() { using (ClsOIEventos ObjOI_E = new ClsOIEventos()) { if (ObjOI_E.GetEventos2(-1, UsuarioActual.CveEmpresa, RCveEvento) && ObjOI_E.DtResultados.Rows.Count > 0) { System.Data.DataTable dt = ObjOI_E.DtResultados; GVTareas.DataSource = dt.FiltraParametros(string.Format("CveTipoEvento ={0}", (int)OITipoEventos.Tarea)); GvAgenda.DataSource = dt.FiltraParametros(string.Format("CveTipoEvento ={0}", (int)OITipoEventos.Agenda)); GVTareas.DataBind(); GvAgenda.DataBind(); } } } protected void LnkAgregarTarea_Click(object sender, EventArgs e) { if (RCveEvento > 0) { string errorMessage = ""; int cveUsuarioDe = UsuarioActual.CveUsuario; List listaCCP = new List(); foreach (GridViewRow gvRow in GVUsuariosB.Rows) { if (gvRow.RowType == DataControlRowType.DataRow) { CheckBox ChkOk = gvRow.FCCheckBox("ChkOk"); if (ChkOk.Checked) { int CveUsuario = gvRow.DataKey("CveUsuario").ToString().ToEntero(); listaCCP.Add(CveUsuario); } } } int cveUsuarioPara = DdlTareaPara.SelectedValue.ToEntero(); OITipoEventos cveTipoEvento = OITipoEventos.Tarea; string asunto = TxtTareaAsunto.Text; string descripcion = TxtTareaDescripcion.Text; int prioridad = DdlTareaPrioridad.SelectedValue.ToEntero(); string fechaInicio = ""; if (txtTareaFechaI.Text.ToDateTimeExcat().Year <= 1999) { if (txtTareaFechaI.Text.ToDateTimeExcat("dd/MM/yyyy").Year <= 1999) { errorMessage = "No se ingresó una fecha de inicio valida"; } else { fechaInicio = txtTareaFechaI.Text.ToDateTimeExcat("dd/MM/yyyy").ToString("yyyy/MM/dd HH:mm"); } } else { fechaInicio = txtTareaFechaI.Text.ToDateTimeExcat().ToString("yyyy/MM/dd HH:mm"); } string fechaFin = ""; if (txtTareaFechaF.Text.ToDateTimeExcat().Year <= 1999) { if (txtTareaFechaF.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", txtTareaFechaF.Text.ToDateTimeExcat("dd/MM/yyyy")); } } else { fechaFin = txtTareaFechaF.Text.ToDateTimeExcat().ToString("yyyy/MM/dd HH:mm"); } int cveRevision = -1; string archivoname = ""; string rutaarchivoOri = ""; string ArchivoExtencion = ""; foreach (Archivo item in TxtTareaArchivo.getfiles().Archivos) { archivoname = item.filenameO; ArchivoExtencion = string.Format("{0}{1}", (item.Extencion.Length > 0 ? "." : ""), item.Extencion); rutaarchivoOri = string.Format("{0}{1}{2}", AppDomain.CurrentDomain.BaseDirectory, item.patch, item.filename); } int cveUsuarioIng = UsuarioActual.CveUsuario; int cveEmpresa = UsuarioActual.CveEmpresa; bool Continuar = false; int Folio = -1; int CveEvento = -1; if (cveUsuarioDe <= 0) { errorMessage = "No se selecciono el miembro 'C C Para'"; } if (cveUsuarioPara <= 0) { errorMessage = "No se selecciono el miembro 'Para'"; } if (errorMessage.Length == 0) { List chkList = new List(); //if (CheckListNew != null) //{ // foreach (System.Data.DataRow item in CheckListNew.Rows) // { // chkList.Add(item["EventoComentario"].ToString()); // } //} 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, RCveEvento); CveEvento = objOI.CveEvento; Folio = objOI.Folio; if (CveEvento == 0) { Continuar = false; } if (Continuar) { objOI.Commit(); } 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); } cargarAgenda(); this.Alert("Se ha agregadó la nueva tarea", ModExtensiones.TipoMensaje.MsgInformacion); TxtTareaAsunto.Text = ""; TxtTareaDescripcion.Text = ""; txtTareaFechaI.Text = ""; txtTareaFechaF.Text = ""; //this.Alert("Se ha agregadó la nueva tarea", ModExtensiones.TipoMensaje.MsgInformacion, string.Format("window.open(\"/OI/TareaDetalle.aspx?CveEvento={0}\", \"_blank\");", CveEvento)); } } } } protected void LnkAgregarAgenda_Click(object sender, EventArgs e) { if (RCveEvento > 0) { string errorMessage = ""; int cveUsuarioDe = UsuarioActual.CveUsuario; List listaCCP = new List(); int cveUsuarioPara = DdlAgendaPara.SelectedValue.ToEntero(); OITipoEventos cveTipoEvento = OITipoEventos.Agenda; string asunto = TxtAgendaAsunto.Text; string descripcion = TxtAgendaDescripcion.Text; int prioridad = DdlAgendaPrioridad.SelectedValue.ToEntero(); int cveAgendaTipo = DdlAgendaTipo.SelectedValue.ToEntero(); string fechaInicio = ""; if (txtAgendaFechaI.Text.ToDateTimeExcat().Year <= 1999) { if (txtAgendaFechaI.Text.ToDateTimeExcat("dd/MM/yyyy").Year <= 1999) { errorMessage = "No se ingresó una fecha de inicio valida"; } else { fechaInicio = txtAgendaFechaI.Text.ToDateTimeExcat("dd/MM/yyyy").ToString("yyyy/MM/dd HH:mm"); } } else { fechaInicio = txtAgendaFechaI.Text.ToDateTimeExcat().ToString("yyyy/MM/dd HH:mm"); } string fechaFin = "1900/01/01 00:00"; int cveRevision = -1; string archivoname = ""; string rutaarchivoOri = ""; string ArchivoExtencion = ""; foreach (Archivo item in TxtAgendaArchivo.getfiles().Archivos) { archivoname = item.filenameO; ArchivoExtencion = string.Format("{0}{1}", (item.Extencion.Length > 0 ? "." : ""), item.Extencion); rutaarchivoOri = string.Format("{0}{1}{2}", AppDomain.CurrentDomain.BaseDirectory, item.patch, item.filename); } int cveUsuarioIng = UsuarioActual.CveUsuario; int cveEmpresa = UsuarioActual.CveEmpresa; bool Continuar = false; int Folio = -1; int CveEvento = -1; if (cveUsuarioDe <= 0) { errorMessage = "No se selecciono el miembro 'C C Para'"; } if (cveUsuarioPara <= 0) { errorMessage = "No se selecciono el miembro 'Para'"; } if (errorMessage.Length == 0) { List chkList = new List(); //if (CheckListNew != null) //{ // foreach (System.Data.DataRow item in CheckListNew.Rows) // { // chkList.Add(item["EventoComentario"].ToString()); // } //} 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, RCveEvento, null, cveAgendaTipo); CveEvento = objOI.CveEvento; Folio = objOI.Folio; if (CveEvento == 0) { Continuar = false; } if (Continuar) { objOI.Commit(); } 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 agenda"); TxtAgendaAsunto.Text = ""; TxtAgendaDescripcion.Text = ""; txtAgendaFechaI.Text = ""; txtAgendaFechaF.Text = ""; cargarAgenda(); //this.Alert("Se ha agregadó la nueva agenda", ModExtensiones.TipoMensaje.MsgInformacion, string.Format("window.open(\"/OI/TareaDetalle.aspx?CveEvento={0}\", \"_blank\");", CveEvento)); } } } } protected void BtnAgregarComentario_Click(object sender, EventArgs e) { string Comentario = TxtComentario.Text; int CveComentario = 0; string archivoname = ""; string rutaarchivoOri = ""; string ArchivoExtencion = ""; foreach (Archivo item in Txtfilecomentario.getfiles().Archivos) { archivoname = item.filenameO; ArchivoExtencion = string.Format("{0}{1}", (item.Extencion.Length > 0 ? "." : ""), item.Extencion); rutaarchivoOri = string.Format("{0}{1}{2}", AppDomain.CurrentDomain.BaseDirectory, item.patch, item.filename); } using (ClsOIEventos objoi = new ClsOIEventos()) { CveComentario = objoi.AddEventoComentario2(RCveEvento, Comentario, archivoname, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa); if (CveComentario > 0) { cargaActividades(objoi); } } Txtfilecomentario.Text = ""; if (CveComentario > 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}{2}", ruta, CveComentario, archivoname);//, ArchivoExtencion); System.IO.File.Move(rutaarchivoOri, ruta); } //this.RegistraScript(string.Format("$('#{0}').modal('hide')", iddivAgregar)); this.Alert("Comentario agregadó", ModExtensiones.TipoMensaje.ToastInformacion); //this.Alert("Se ha agregado la nueva tarea", ModExtensiones.TipoMensaje.MsgInformacion, string.Format("location.replace(\"/OI/TareaDetalle.aspx?CveEvento={0}\");", CveEvento)); } TxtComentario.Text = ""; } protected void LnkTerminarMinuta_Click(object sender, EventArgs e) { // Cambiar el estatus a Terminada para inabilitarla y que no se pueda modificar ClsOIEventos objOI = new ClsOIEventos(); int tCveSeguimiento; bool HuboError = false; objOI.IniciaTransacSQL(); tCveSeguimiento = objOI.AddEventoComentario2(RCveEvento, "Termino Minuta", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa); if (tCveSeguimiento > 0) { if (!objOI.UpdateEstatusEvento2(4, tCveSeguimiento, RCveEvento, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)) HuboError = true; } else HuboError = true; // 'Envia minuta si es modificada if (HuboError == false) { Alert("La minuta se termino con exito.", ModExtensiones.TipoMensaje.MsgInformacion); objOI.Commit(); } else { Alert("Ocurrió un error al terminar la minuta. Por favor vuelva a intentar.", ModExtensiones.TipoMensaje.MsgError); objOI.RollBack(); } objOI.Dispose(); if (HuboError == false) { if (!EnviarMinuta()) HuboError = true; Alert("La minuta se termino con exito.", ModExtensiones.TipoMensaje.MsgInformacion); } LnkEnviarMinuta.Visible = true; //CargaDatos(); } protected void LnkEnviarMinuta_Click(object sender, EventArgs e) { EnviarMinuta(); Alert("La minuta se envió con exito.", ModExtensiones.TipoMensaje.MsgInformacion); } #region "enviarminuta" private bool EnviarMinuta() { var Retorno = false; StringBuilder Body; try { Body = GeneraContenido(RCveEvento); string ArrayCC = ""; //ViewState("Para") = GlobalDTUsuarios(CveUsuarioIng)(0)("correo").ToString; //ViewState("Asunto") = string.Format("SIG - Minuta {0}", TxtAsunto.Text); //ViewState("Body") = Body; //System.Threading.Thread Hilo = new System.Threading.Thread(MandaCorreo); //Hilo.Start(); ClsSisMail Mail = new ClsSisMail(); Mail.SendMail(EmpresaNotificaciones, get_GlobalDTUsuarios(UsuarioActual.CveUsuario).Rows[0]["correo"].ToString(), TxtAsunto.Text, Body.ToString(), CCP: ArrayCC); Alert("Se Envió por correo la Minuta", ModExtensiones.TipoMensaje.MsgInformacion); Retorno = true; } catch (Exception ex) { this.OnError("Ocurrió error al mandar MAIL", ex); } return Retorno; } private StringBuilder GeneraContenido(int CveEvento) { StringBuilder StrSB = new StringBuilder(); string DireccionURL = "";// GlobalDTParametros(SisParametros.URL).Cadena1; string Variables = ""; string Tarea; string De; string Para; // Dim CCP As String string Fecha; string Prioridad; string Descripcion; int Tipo; ClsOIEventos objEvento = new ClsOIEventos(); if (objEvento.GetEvento(CveEvento, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)) { Tarea = objEvento.Asunto; De = objEvento.UsuarioDe; Para = objEvento.UsuarioPara; Fecha = objEvento.FechaIng.ToString("dd/MM/yyyy"); Prioridad = objEvento.Prioridad; Descripcion = objEvento.Descripcion; Tipo = objEvento.CveTipoEvento; StrSB.Append(" "); StrSB.Append(" "); // StrSB.AppendFormat(" ", DireccionURL) StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(""); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append("
"); StrSB.Append("
"); StrSB.Append(" Minuta"); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.AppendFormat(" ", DireccionURL, "/OI/MinutaDetalle.aspx?CveEvento=", CveEvento, objEvento.Asunto); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.AppendFormat(" ", objEvento.Descripcion); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.AppendFormat(" ", objEvento.Acuerdos.Replace("<", "<").Replace(">", ">")); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.AppendFormat(" ", objEvento.FechaIng.ToString("dd/MM/yyyy HH:mm")); StrSB.AppendFormat(" ", objEvento.DtResultados.Rows[0]["UsuariosCCP"]); // StrSB.AppendFormat(" ", If(Not objEvento.Archivo Is Nothing AndAlso objEvento.Archivo <> "", String.Format("Ver archivo adjunto", DireccionURL, objEvento.CveEmpresa, objEvento.Archivo), "Sin archivo adjunto")) StrSB.AppendFormat(" ", objEvento.Archivo != null && objEvento.Archivo != "" ? "Con archivo adjunto" : "Sin archivo adjunto"); StrSB.Append(" "); StrSB.Append("
ASUNTO:
{3}
DESCRIPCION:
{0}
ACUERDOS:
{0}
FECHA:PARTICIPANTES:ARCHIVO:
{0}{0}{0}{0}
"); StrSB.Append("
"); StrSB.Append("
 
"); StrSB.Append("
"); StrSB.Append("

TAREAS

"); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append("
"); if (objEvento.GetEventos(-1, 1, -1, "-1", "-1", -1, -1, -1, -1, -1, CveEvento, "-1", -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)) { if (objEvento.DtResultados.Rows.Count == 0) { StrSB.Append("
"); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append("
MINUTA SIN TAREAS
"); StrSB.Append("
"); } else { StrSB.Append("
"); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); // StrSB.Append("
AsuntoDescripcionParaInicioFinEstatus
") // StrSB.Append("
") // StrSB.Append(" ") int i = 0; foreach (System.Data.DataRow RowTarea in objEvento.DtResultados.FiltraParametros("", "FechaIng Desc").Rows) { StrSB.AppendFormat(" ", i % 2 == 0 ? "Texto" : "TextoAlterno"); StrSB.AppendFormat(" ", RowTarea["Asunto"]); StrSB.AppendFormat(" ", RowTarea["Descripcion"]); StrSB.AppendFormat(" ", RowTarea["UsuarioPara"]); StrSB.AppendFormat(" ", RowTarea["FechaInicio"].ToString().ToDateTime().ToString("dd/MM/yyyy HH:mm")); StrSB.AppendFormat(" ", RowTarea["FechaFin"].ToString().ToDateTime().ToString("dd/MM/yyyy HH:mm")); StrSB.AppendFormat(" ", DireccionURL, RowTarea["CveEvento"], RowTarea["EventoEstatus"]); StrSB.Append(" "); i = i + 1; } StrSB.Append("
 {0} {0} {0}{0}{0}{2}
"); StrSB.Append("
"); } } StrSB.Append("
"); StrSB.Append("
"); StrSB.Append("
 
"); StrSB.Append("
"); StrSB.Append("

AGENDAS

"); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append("
"); if (objEvento.GetEventos(-1, 2, -1, "-1", "-1", -1, -1, -1, -1, -1, CveEvento, "-1", -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)) { if (objEvento.DtResultados.Rows.Count == 0) { StrSB.Append("
"); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append("
MINUTA SIN AGENDAS
"); StrSB.Append("
"); } else { StrSB.Append("
"); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); int i = 0; foreach (System.Data.DataRow RowAgenda in objEvento.DtResultados.FiltraParametros("", "FechaIng Desc").Rows) { StrSB.AppendFormat(" ", i % 2 == 0 ? "Texto" : "TextoAlterno"); StrSB.AppendFormat(" ", RowAgenda["Asunto"]); StrSB.AppendFormat(" ", RowAgenda["Descripcion"]); StrSB.AppendFormat(" ", RowAgenda["UsuarioPara"]); StrSB.AppendFormat(" ", RowAgenda["FechaInicio"].ToString().ToDateTime().ToString("dd/MM/yyyy HH:mm")); StrSB.AppendFormat(" ", RowAgenda["AgendaTipo"]); StrSB.AppendFormat(" ", RowAgenda["EventoEstatus"]); StrSB.Append(" "); i = i + 1; } StrSB.Append("
AsuntoDescripcionParaFechaTipo AgendaEstatus
 {0} {0} {0}{0}{0}{0}
"); StrSB.Append("
"); } } StrSB.Append("
"); StrSB.Append("
"); StrSB.Append("
 
"); StrSB.Append("
"); StrSB.Append("

ARCHIVOS

"); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append("
"); if (objEvento.GetEventosComentarios(CveEvento)) { if (objEvento.DtResultados.Rows.Count == 0) { StrSB.Append("
"); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append("
MINUTA SIN ARCHIVOS
"); StrSB.Append("
"); } else { StrSB.Append("
"); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); StrSB.Append(" "); int i = 0; foreach (System.Data.DataRow RowArchivo in objEvento.DtResultados.FiltraParametros("", "FechaIng Desc").Rows) { StrSB.AppendFormat(" ", i % 2 == 0 ? "Texto" : "TextoAlterno"); StrSB.AppendFormat(" ", RowArchivo["EventoComentario"]); if (RowArchivo["Archivo"].ToString() != "") StrSB.AppendFormat(" ", "Si"); else StrSB.AppendFormat(" ", "No"); StrSB.Append(" "); i = i + 1; } StrSB.Append("
DescripcionAdjunto
 {0} {0} {0}
"); StrSB.Append("
"); } } StrSB.Append("
"); StrSB.Append("
"); StrSB.Append("
"); StrSB.Append(""); StrSB.Append(" "); } return StrSB; } #endregion protected void LnkSaveAcuerdos_Click(object sender, EventArgs e) { using (ClsOIEventos ObjEventos =new ClsOIEventos()) { ObjEventos.UpdateEventoMinuta(TxtAsunto.Text, TxtDescripcion.Text, TxtAcuerdos.Text.Replace("< ", "<"), new DateTime(1999, 1, 1), "-1", RCveEvento); } } protected void btnreloadTareas_Click(object sender, EventArgs e) { cargarAgenda(); } }