Option Explicit On Option Strict On Imports System.Data Imports Extensiones 'Imports Subgurim.Controles Imports System.IO Imports System.Threading Imports System.Runtime.InteropServices Partial Class OI_EventoDetalle1 Inherits ClsPaginas #Region "Propiedades" Private Property CveEvento As Integer Get Return ViewState("CveEvento").ToString.ToEntero End Get Set(value As Integer) ViewState("CveEvento") = value End Set End Property Private Property CveTipoEvento As Integer Get Return ViewState("CveTipoEvento").ToString.ToEntero End Get Set(value As Integer) ViewState("CveTipoEvento") = value End Set End Property Private Property Nuevo As Boolean Get Return CType(ViewState("Nuevo"), Boolean) End Get Set(value As Boolean) ViewState("Nuevo") = value End Set End Property Private Property CveSeguimiento As Integer Get Return ViewState("CveSeguimiento").ToString.ToEntero End Get Set(value As Integer) ViewState("CveSeguimiento") = value End Set End Property Private ReadOnly Property ArchConsecutivo As String Get Return ViewState("ArchConsecutivo").ToString End Get End Property Private Property DTComentarios As DataTable Get Return CType(ViewState("DTComentarios"), DataTable) End Get Set(value As DataTable) ViewState("DTComentarios") = value End Set End Property #End Region #Region "Propiedades Correo" Private Property UsuarioDe() As String Get Return ViewState("UsuarioDe").ToString() End Get Set(ByVal value As String) ViewState("UsuarioDe") = value End Set End Property Private Property CveUsuarioDe() As Integer Get Return CType(ViewState("CveUsuarioDe").ToString(), Integer) End Get Set(ByVal value As Integer) ViewState("CveUsuarioDe") = value End Set End Property Private Property CorreoDe() As String Get Return ViewState("CorreoDe").ToString() End Get Set(ByVal value As String) ViewState("CorreoDe") = value End Set End Property Private Property UsuarioPara() As String Get Return ViewState("UsuarioPara").ToString() End Get Set(ByVal value As String) ViewState("UsuarioPara") = value End Set End Property Private Property CveUsuarioPara() As Integer Get Return CType(ViewState("CveUsuarioPara").ToString(), Integer) End Get Set(ByVal value As Integer) ViewState("CveUsuarioPara") = value End Set End Property Private Property CorreoPara() As String Get Return ViewState("CorreoPara").ToString() End Get Set(ByVal value As String) ViewState("CorreoPara") = value End Set End Property Private Property UsuariosCCP() As String Get Return CType(ViewState("UsuarioCCP"), String) End Get Set(ByVal value As String) ViewState("UsuarioCCP") = value End Set End Property Private Property CorreosCCP() As String Get Return CType(ViewState("CorreosCCP"), String) End Get Set(ByVal value As String) ViewState("CorreosCCP") = value End Set End Property Private Property Titulo() As String Get Return ViewState("Titulo").ToString() End Get Set(ByVal value As String) ViewState("Titulo") = value End Set End Property Private Property Fecha() As String Get Return ViewState("Fecha").ToString() End Get Set(ByVal value As String) ViewState("Fecha") = value End Set End Property Private Property TipoNotificacion As Integer Get Return ViewState("TipoNotificacion").ToString.ToEntero End Get Set(value As Integer) ViewState("TipoNotificacion") = value End Set End Property Private Property Prioridad() As Integer Get Return CType(ViewState("Prioridad"), Integer) End Get Set(ByVal value As Integer) ViewState("Prioridad") = value End Set End Property Private ReadOnly Property Attchment() As String Get Return ViewState("Attachment").ToString() End Get End Property Private Property Descripcion() As String Get Return ViewState("Descripcion").ToString() End Get Set(ByVal value As String) ViewState("Descripcion") = value End Set End Property Private ReadOnly Property EsBitacora() As Boolean Get Return CBool(ViewState("EsBitacora")) End Get End Property Private Property Referencia() As String Get Return ViewState("REFERENCIA").ToString() End Get Set(value As String) ViewState("REFERENCIA") = value End Set End Property Private ReadOnly Property CveUsuarioRealizo() As Integer Get Return ViewState("CveUsuarioRealizo").ToString().ToEntero() End Get End Property Private Property TipoEvento As String Get Return ViewState("TipoEvento").ToString() End Get Set(value As String) ViewState("TipoEvento") = value End Set End Property Private ReadOnly Property CvePendientePadre As Integer Get Return ViewState("CvePendientePadre").ToString.ToEntero End Get End Property Private Property ReferenciaDescripcion As String Get Return ViewState("ReferenciaDescripcion").ToString() End Get Set(value As String) ViewState("ReferenciaDescripcion") = value End Set End Property Private ReadOnly Property URL As String Get Return ViewState("URL").ToString() End Get End Property Private ReadOnly Property Variables As String Get Return ViewState("Variables").ToString() End Get End Property #End Region 'Private Property UsuarioPara() As String = String.Empty 'Private Property UsuariosCCP() As String = String.Empty 'Private Property CorreoPara() As String = String.Empty 'Private Property CorreosCCP() As String = String.Empty Private Property StrPrioridad() As String = String.Empty Protected Sub Page_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load If Not IsPostBack Then CveEvento = -1 TxtFechaInicio.Text = DateTime.Now.ToShortDateString TxtFechaFin.Text = DateTime.Now.ToShortDateString Nuevo = True CveUsuarioDe = -1 CveUsuarioPara = -1 CveTipoEvento = 1 UsuariosCCP = "-1" CargaRevision() CargaAgendaTipo() 'If Request("FI") IsNot Nothing AndAlso Request("FI").ToEntero > 0 Then ' TxtFechaInicio.Text = Request("FI").ToString.ToDate.ToString("dd-MM-YYYY") 'End If 'Alert("CveEvento" & Request("CveTipoEvento").ToEntero & " FechaIncicio= " & Request("FI").ToString.ToDate.ToString("dd-MM-yyyy") & "FF= " & Request("FF").ToString.ToDate.ToString("dd-MM-yyyy"), TipoMensaje.MsgInformacion, "") 'Alert("CveTipoEvento = " & Request("CveTipoEvento").ToEntero & "Fecha Inicio = " & Request("FI").ToString & " Fecha Fin = " & Request("FF").ToString & "", TipoMensaje.MsgInformacion, "") If Request("CveTipoEvento") IsNot Nothing AndAlso Request("CveTipoEvento").ToEntero > 0 Then CveTipoEvento = Request("CveTipoEvento").ToEntero 'Tarea = 1 Agenda = 2 Proyecto = 3 ControlVersiones = 4 Minuta = 5 Bitacora = 6 If CveTipoEvento = 1 Then Tarea() LblTitulo.Text = "Tarea" ElseIf CveTipoEvento = 2 Then Agenda() LblTitulo.Text = "Agenda" ElseIf CveTipoEvento = 3 Then Proyecto() LblTitulo.Text = "Proyecto" ElseIf CveTipoEvento = 4 Then ControlVersiones() LblTitulo.Text = "Control de Versiones" ElseIf CveTipoEvento = 5 Then Minuta() LblTitulo.Text = "Minuta" ElseIf CveTipoEvento = 6 Then Bitacora() LblTitulo.Text = "Bitacora" End If End If If Request("CveEvento") IsNot Nothing AndAlso IsNumeric(Request("CveEvento")) AndAlso Request("CveEvento").ToEntero > 0 Then CveEvento = Request("CveEvento").ToEntero cmdGuardar.Visible = False CargaDatos() Me.ImgAddObs.Attributes.Add("onclick", "javascript:$get('divObs').style.display=''; PosicionaObjeto(this.id,'divObs');") 'Configuración de Modalidad Update cmdGuardar.Text = "Guardar Cambios" 'deshabilitar los campos que no se pueden editar 'LtlTitulo.Text = "Consulta del Evento:" Else GetUsuarios() HabilitaTipoEvento(CveTipoEvento) End If End If End Sub Private Sub Tarea() '1 CveTipoEvento = 1 'TrAgendaTipo.Visible = True TrAsunto.Visible = True TrDescripcion.Visible = True TrPrioridad.Visible = True TrFechaInicio.Visible = True TrFechaFin.Visible = True TrArchivo.Visible = True TdUsuarios.Visible = True End Sub Private Sub Agenda() '2 CveTipoEvento = 2 TrAgendaTipo.Visible = True TrAsunto.Visible = True TrDescripcion.Visible = True TrPrioridad.Visible = True TrFechaInicio.Visible = True TrFechaFin.Visible = True End Sub Private Sub Proyecto() '3 CveTipoEvento = 3 TrAsunto.Visible = True TrDescripcion.Visible = True TrPrioridad.Visible = True TdUsuarios.Visible = True TrFechaInicio.Visible = True TrFechaFin.Visible = True TrRevision.Visible = True TrArchivo.Visible = True End Sub Private Sub ControlVersiones() '4 CveTipoEvento = 4 TrAsunto.Visible = True TrDescripcion.Visible = True TrArchivo.Visible = True End Sub Private Sub Minuta() '5 CveTipoEvento = 5 TrAsunto.Visible = True TrPrioridad.Visible = True TrDescripcion.Visible = True TdUsuarios.Visible = True TrFechaInicio.Visible = True TrArchivo.Visible = True End Sub Private Sub Bitacora() '6 CveTipoEvento = 6 TrDescripcion.Visible = True TrFechaInicio.Visible = True TrFechaFin.Visible = True End Sub Private Sub CargaDatos() Dim ObjEventos As New ClsOIEventos With ObjEventos 'If ObjEventos.GetEventos(CveEvento, -1, "-1", "-1", -1, -1, -1, -1, -1, -1, "-1", -1, -1, -1, -1, -1, -1, -1, -1, UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, "01/01/1900".ToDateTime, "01/01/2030".ToDateTime, "01/01/2030".ToDateTime) Then If ObjEventos.GetEventos(CveEvento, -1, -1, "-1", "-1", -1, -1, -1, -1, -1, -1, "-1", -1, -1, -1, -1, -1, -1, -1, -1, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, Nothing, Nothing, Nothing) Then If ObjEventos.DtResultados.Rows.Count > 0 Then Nuevo = False CveTipoEvento = .CveTipoEvento LblTitulo.Text = .TipoEvento Titulo = .Asunto TxtAsunto.Text = .Asunto TxtDescripcion.Text = .Descripcion DdlPrioridad.SelectedValue = .Prioridad.ToString UsuarioDe = .UsuarioDe CveUsuarioDe = .CveUsuarioDe CorreoDe = .CorreoDe CveUsuarioPara = .CveUsuarioPara UsuarioPara = .UsuarioPara CorreoPara = .CorreoPara Descripcion = .Descripcion Prioridad = .CvePrioridad LblDe.Text = .UsuarioDe LblPara.Text = .UsuarioPara trDe.Visible = True trCCP.Visible = True CveSeguimiento = .CveSeguimiento TxtFechaInicio.Text = .FechaInicio.ToShortDateString If ObjEventos.FechaInicio.Year > 1900 Then TxtFechaInicio.Text = ObjEventos.FechaInicio.ToString TxtHoraInicio.SelectedTime = ObjEventos.FechaInicio End If TxtFechaFin.Text = .FechaFin.ToShortDateString If ObjEventos.FechaFin.Year > 1900 Then TxtFechaFin.Text = ObjEventos.FechaFin.ToString TxtHoraFin.SelectedTime = ObjEventos.FechaFin End If TxtFechaRealTermino.Text = .FechaRealTermino.ToShortDateString TxtTipoReferencia.Text = .TipoReferencia TxtReferencia.Text = .Referencia DdlRevision.SelectedValue = .CveRevision.ToString DdlAgendaTipo.SelectedValue = .CveRevision.ToString DdlPrioridad.SelectedValue = .CvePrioridad.ToString LblEstatusEvento.Text = "Estatus: " & .EventoEstatus TrEstatus.Visible = True Select Case .CveEventoEstatus Case 1 'En Revision Select Case UsuarioActual.CveUsuario Case .CveUsuarioPara cmdTerminada.Visible = True Select Case .CveTipoEvento Case 4 'Control de Versiones ChkPublicar.Visible = True cmdTerminada.Visible = False End Select End Select Case 2 'Concluida Select Case UsuarioActual.CveUsuario Case .CveUsuarioDe cmdRevisada.Visible = True cmdRevision.Visible = True Select Case .CveTipoEvento Case 4 'Control de Versiones ChkPublicar.Visible = True cmdRevisada.Text = "Publicar" ChkRegresaraPendiente.Visible = True : ChkRegresaraPendiente.Text = "Regresar a Revisión" End Select End Select Case 3 'Revisada End Select 'cargo los ususarios If .GetEventosUsuario(CveEvento, UsuarioActual.CveEmpresa) Then GVUsuarios.DataSource = AgregaGrupos(.DtResultados) GVUsuarios.DataBind() 'CARGALOS DATOS USUARIOSCCP For Each Dr As DataRow In .DtResultados.FiltraParametros("CveEvento > 0").Rows UsuariosCCP += Dr("Nombre").ToString & ", " Next UsuariosCCP = UsuariosCCP.Substring(0, UsuariosCCP.Length - 2) LblCCP.Text = UsuariosCCP End If TdObservaciones.Visible = True If .GetEventosComentarios(CveEvento) Then DTComentarios = ObjEventos.DtResultados GvObservaciones.DataSource = .DtResultados GvObservaciones.DataBind() End If End If TxtAsunto.Enabled = False TxtDescripcion.Enabled = False DdlPrioridad.Enabled = False TxtFechaInicio.Enabled = False TxtFechaFin.Enabled = False TxtHoraInicio.Enabled = False TxtHoraFin.Enabled = False ImgCalendario.Visible = False ImgCalFechaFin.Visible = False DdlRevision.Enabled = False LnkUpload.Visible = False TxtArchivo.Enabled = False HabilitaTipoEvento(.CveTipoEvento) End If End With ObjEventos.Dispose() End Sub Private Sub HabilitaTipoEvento(pCveTipoEvento As Integer) Select Case pCveTipoEvento Case 4 TrRevision.Visible = False TrArchivo.Visible = False cmdRevision.Text = "Regresar a Revisión" cmdTerminada.Text = "Por Aprobar" cmdRevisada.Text = "Revisada" End Select End Sub Private Sub GetUsuarios() Dim DT As DataTable = GlobalDTUsuarios.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa, "Rol ASC") GVUsuarios.DataSource = AgregaGrupos(DT) DT.Dispose() GVUsuarios.DataBind() End Sub Private Function AgregaGrupos(ByRef DT As DataTable) As DataTable If Not DT Is Nothing AndAlso DT.Rows.Count > 0 Then DT.Columns.Add(New DataColumn("Grupo", GetType(String))) Dim i As Integer = 0 Dim Gpo As String = String.Empty Dim dbRow As DataRow While i < DT.Rows.Count dbRow = DT.NewRow() If i = 0 Then Gpo = DT.Rows(0)("Rol").ToString() dbRow("Rol") = DT.Rows(i)("Rol") dbRow("Grupo") = "S" DT.Rows.InsertAt(dbRow, i) Gpo = DT.Rows(i)("Rol").ToString() Else If Gpo <> DT.Rows(i)("Rol").ToString() Then dbRow("Rol") = DT.Rows(i)("Rol") dbRow("Grupo") = "S" DT.Rows.InsertAt(dbRow, i) End If Gpo = DT.Rows(i)("Rol").ToString() End If i += 1 End While End If Return DT End Function Protected Sub gvUsuarios_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles GVUsuarios.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then If (Not IsDBNull(DataBinder.Eval(e.Row.DataItem, "Grupo"))) AndAlso CStr(DataBinder.Eval(e.Row.DataItem, "Grupo")) = "S" Then e.Row.CssClass = "SubTotales2" e.Row.Cells(0).Visible = False e.Row.Cells(1).Visible = False e.Row.Cells(2).Visible = False e.Row.Cells(3).ColumnSpan = 3 Else e.Row.Cells(3).Visible = False End If If e.Row.DBCampo("CveUsuario") = CveUsuarioPara.ToString Then e.Row.Cells(0).Enabled = False e.Row.FCCheckBox("ChkPara").Checked = True End If If Nuevo = True AndAlso e.Row.DBCampo("CveUsuario") = UsuarioActual.CveUsuario.ToString Then e.Row.Cells(1).Enabled = False e.Row.FCCheckBox("ChkCCP").Checked = True End If If CveEvento > 0 Then 'viene de BD e.Row.FCCheckBox("ChkPara").Enabled = False e.Row.FCCheckBox("ChkCCP").Enabled = False 'si se cumple esta condición que decir que fue selecccionado If e.Row.DBCampo("CveEvento") <> "" Then e.Row.FCCheckBox("ChkCCP").Checked = True End If End If End If End Sub Protected Sub cmdGuardar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles cmdGuardar.Click Dim ObjEventos As New ClsOIEventos() Dim Asunto As String = TxtAsunto.Text.Trim Descripcion = TxtDescripcion.Text.Trim 'Dim CveUsuarioPara As Integer = CveUsuarioPara.ToString.ToEntero 'Dim FechaInicio As DateTime = TxtFechaInicio.Text.ToDateTime Dim FechaInicio As String = "" Dim FechaFin As String = "" If TxtFechaInicio.Text <> String.Empty Then FechaInicio = TxtFechaInicio.Text + " " + TxtHoraInicio.PostedTime If TxtFechaFin.Text <> String.Empty Then FechaFin = TxtFechaFin.Text + " " + TxtHoraFin.PostedTime Dim Attachment As String = String.Empty Dim CveUsuarioCCP As Integer = -1 Dim CveUsuarioPara As Integer = -1 Dim CveUsuarioIng As Integer = UsuarioActual.CveUsuario 'Dim FechaFin As DateTime = TxtFechaFin.Text.ToDateTime 'Dim Orden As Integer = TxtOrden.Text.ToString.ToEntero Dim CveRevision As Integer = DdlRevision.SelectedValue.ToString.ToEntero Dim Archivo As String = TxtArchivo.Text Dim CveEmpresa As Integer = UsuarioActual.CveEmpresa '----------------------------------------- 'Dim CveTipoEvento As Integer Dim CveAgendaTipo As Integer = DdlAgendaTipo.SelectedValue.ToEntero Dim Prioridad As Integer Dim CveUsuarioDe As Integer = UsuarioActual.CveUsuario 'Dim CveEventoEstatus As Integer ' Dim FechaRealTermino As Integer Dim CveEventoPadre As Integer 'Dim Orden As Integer 'Dim Acuerdos As Integer ' Dim CveEventoComentario As Integer ' Dim Geom As Integer Dim CveActivoFijo As Integer = -1 Dim CveIE As Integer = -1 Dim CveProspecto As Integer = -1 Dim CveCliente As Integer = -1 Dim CveOS As Integer = -1 Dim CveOC As Integer = -1 Dim CvePersonal As Integer = -1 Dim CveProveedor As Integer = -1 Dim CveUsuario As Integer = -1 '------------------------------------------ 'Recorrro Grid para obtener el usuario PARA For Each RowPara As GridViewRow In GVUsuarios.Rows If RowPara.FCCheckBox("ChkPara").Checked Then CveUsuarioPara = GVUsuarios.DataKeys(RowPara.RowIndex).Values("CveUsuario").ToString.ToEntero UsuarioPara = GVUsuarios.DataKeys(RowPara.RowIndex).Values("Nombre").ToString Exit For End If Next Titulo = TxtAsunto.Text.Trim() UsuarioDe = UsuarioActual.Nombre Prioridad = DdlPrioridad.SelectedValue.ToEntero CveRevision = DdlRevision.SelectedValue.ToEntero Fecha = Now.ToLongDateString 'CveUsuarioPara = DdlUsuarioPara.SelectedValue.ToEntero 'UsuarioPara = DdlUsuarioPara.SelectedItem.Text Dim dru As DataRow = GlobalDTUsuarios(CveUsuarioPara).FiltroPrimero("") If dru IsNot Nothing Then CorreoPara = dru("Correo").ToString If CveEvento = -1 Then 'CveEvento = ObjEventos.AddEvento(CveTipoEvento, Asunto, Descripcion, Prioridad, UsuarioActual.CveUsuario, CveUsuarioPara, FechaInicio, FechaFin, CveRevision, CveUsuarioIng, CveEmpresa) Select Case CveTipoEvento Case 1 If ObjEventos.AddEventoTarea(Asunto, Descripcion, Prioridad, CveUsuarioDe, CveUsuarioPara, FechaInicio.ToDateTime, FechaFin.ToDateTime, -1, CveRevision, Archivo, CveActivoFijo, CveIE, CveProspecto, CveCliente, CveOS, CveOC, CvePersonal, CveProveedor, CveUsuarioIng, CveUsuario, CveEmpresa) Then CveEvento = ObjEventos.CveEvento Alert("La Nueva Tarea se guardó correctamente.", TipoMensaje.MsgInformacion) End If Case 2 If ObjEventos.AddEventoAgenda(CveAgendaTipo, Asunto, Descripcion, Prioridad, FechaInicio.ToDateTime, FechaFin.ToDateTime, CveUsuarioIng, CveEmpresa, CveActivoFijo, CveIE, CveProspecto, CveCliente, CveOS, CveOC, CvePersonal, CveProveedor) Then CveEvento = ObjEventos.CveEvento Alert("La Nueva Agenda se guardó correctamente.", TipoMensaje.MsgInformacion) End If Case 3 If ObjEventos.AddEventoProyecto(Asunto, Descripcion, Prioridad, CveUsuarioDe, CveUsuarioPara, FechaInicio.ToDateTime, FechaFin.ToDateTime, If(CveEventoPadre = 0, -1, CveEventoPadre), CveRevision, Archivo, CveActivoFijo, CveIE, CveProspecto, CveCliente, CveOS, CveOC, CvePersonal, CveProveedor, CveUsuarioIng, CveUsuario, CveEmpresa) Then CveEvento = ObjEventos.CveEvento Alert("El Nuevo Proyecto se guardó correctamente.", TipoMensaje.MsgInformacion) End If Case 4 If ObjEventos.AddEventoControlVersionesDoctos(Asunto, Descripcion, Archivo, CveUsuarioIng, CveEmpresa) Then CveEvento = ObjEventos.CveEvento Alert("La Nueva Versión se guardó correctamente.", TipoMensaje.MsgInformacion) End If Case 5 If ObjEventos.AddEventoMinuta(Asunto, Descripcion, CveUsuarioDe, CveUsuarioPara, FechaInicio.ToDateTime, Archivo, CveUsuarioIng, CveEmpresa) Then CveEvento = ObjEventos.CveEvento Alert("La Nueva Minuta se guardó correctamente.", TipoMensaje.MsgInformacion) End If Case 6 If ObjEventos.AddEventoBitacora(Descripcion, CveActivoFijo, CveIE, CveProspecto, CveCliente, CveOS, CveOC, CvePersonal, CveProveedor, CveUsuarioIng, CveEmpresa) Then CveEvento = ObjEventos.CveEvento Alert("La Nueva Bitacora se guardó correctamente.", TipoMensaje.MsgInformacion) End If End Select If CveEvento > 0 Then TipoNotificacion = 1 For Each RowCCP As GridViewRow In GVUsuarios.Rows If RowCCP.FCCheckBox("ChkCCP").Checked Then CveUsuarioPara = GVUsuarios.DataKeys(RowCCP.RowIndex).Values("CveUsuario").ToString.ToEntero If ObjEventos.AddEventoUsuario(CveEvento, CveUsuarioPara) Then 'Genero las claves, nombres y correos aquíen se le enviará correo CveUsuarioCCP = RowCCP.DataKey("CveUsuario").ToString().ToEntero() If UsuarioActual.CveUsuario <> CveUsuarioCCP Then UsuariosCCP &= RowCCP.DataKey("Nombre") & ", " If CveUsuarioCCP <> UsuarioActual.CveUsuario Then CorreosCCP &= RowCCP.DataKey("Correo") & ";" End If End If Next Dim Cadena As String = String.Format("location.href='/OI/EventoDetalle.aspx?CveEvento={0}'", CveEvento) Select Case CveTipoEvento Case 4 : Cadena = "location.href='/OI/RepDocumentos.aspx'" End Select 'Alert("El Nuevo Evento se guardó correctamente.", TipoMensaje.MsgInformacion, Cadena) Dim h1 As New Thread(AddressOf MandarMails) h1.Start(1) End If Else If ObjEventos.UpdateEvento(Asunto, Descripcion, Prioridad, CveUsuarioPara, FechaInicio.ToDateTime, FechaFin.ToDateTime, CveRevision, Archivo, CveEvento) Then 'UpAsunto.Update() 'ViewState("DTEventos") = ObjEventos.DtResultados.FiltraParametros("CveEmpresa = " & UsuarioActual.CveEmpresa) 'GlobalDTEventos = ObjEventos.DtResultados ' '' '' ''Manda llamar DELETE FROM EventosUsuarios WHERE CveEvento = Evento Actual '' '' ''For Each Row As GridViewRow In GVUsuarios.Rows '' '' '' If Row.FCCheckBox("ChkCCP").Checked Then '' '' '' 'Manda llamar INSERT '' '' '' If ObjEventos.a Then '' '' '' 'Mandar parametro CveEvento CveUsuario (GVUsuario.DataKeys(Row.RowIndex).Values("CveUsuario").ToString.ToEntero) '' '' '' End If '' '' ''Next End If End If ObjEventos.Dispose() End Sub Protected Sub BtnCargarArchivo_Click(sender As Object, e As System.EventArgs) Handles BtnCargarArchivo.Click If Session("FileUpload").ToString <> String.Empty AndAlso File.Exists(Request.PhysicalApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Temp\" & Session("FileUpload").ToString) Then Dim Extension As String = Path.GetExtension(Request.PhysicalApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Temp\" & Session("FileUpload").ToString) If Not Directory.Exists(Request.PhysicalApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Eventos\Archivos") Then Directory.CreateDirectory(Request.PhysicalApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Eventos\Archivos") File.Move(Request.PhysicalApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Temp\" & Session("FileUpload").ToString, Request.PhysicalApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Eventos\" & CveEvento & "_" & ArchConsecutivo & Extension) Session("FileUpload") = "" If File.Exists(Request.PhysicalApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Eventos\Archivos" & CveEvento & "_" & ArchConsecutivo & Extension) Then Dim ObjActivosFijos As New ClsActivosFijos If ObjActivosFijos.AddActivosFijosImagenes(CveEvento, CveEvento & "_" & ArchConsecutivo & Extension, UsuarioActual.CveUsuario) Then 'CargarArchivo() Else File.Delete(Request.PhysicalApplicationPath + "Empresas\" & UsuarioActual.CveEmpresa & "\Eventos\Archivos" & CveEvento & "_" & ArchConsecutivo & Extension) End If ObjActivosFijos.Dispose() End If End If End Sub Private Sub CargaRevision() DdlRevision.DataSource = GlobalDTOIRevision DdlRevision.DataBind() End Sub Private Sub CargaAgendaTipo() DdlAgendaTipo.DataSource = GlobalDTOIAgendaTipo DdlAgendaTipo.DataBind() End Sub 'Private Sub CargarArchivo() ' Dim StrBuilder As New StringBuilder ' Dim TmpDT As DataTable = Nothing ' Dim ObjEvento As New ClsActivosFijos ' If ObjEvento.GetActivosFijosImagenes(CveEvento) Then ' TmpDT = ObjEvento.DtResultados ' Else ' TmpDT = Nothing ' End If ' ObjEvento.Dispose() ' myGallery.InnerHtml = "" ' If TmpDT IsNot Nothing AndAlso TmpDT.Rows.Count > 0 Then ' For Each Row As DataRow In TmpDT.Rows ' StrBuilder.Append(Row("URL")) ' Next ' myGallery.InnerHtml = StrBuilder.ToString ' ViewState("ArchConsecutivo") = TmpDT.Rows(0)("ArchConsecutivo").ToString ' TmpDT.Dispose() ' RegistraScript("$(function () { $('#myGallery').galleryView(); });") ' Else ' ViewState("ArchConsecutivo") = "1" ' End If 'End Sub Protected Sub BtnAddObs_Click(sender As Object, e As EventArgs) Handles BtnAddObs.Click Dim RutaGuardar As String = String.Format("{0}Empresas\{1}\OI\", Request.PhysicalApplicationPath, UsuarioActual.CveEmpresa) Dim RutaArchivo As String = String.Format("{0}Empresas\{1}\OI\Temp\{2}", Request.PhysicalApplicationPath, UsuarioActual.CveEmpresa, Session("Eventos")) Dim tCveSeguimiento As Integer Dim Archivo As String = "" Dim OI As New ClsOIEventos OI.IniciaTransacSQL() If Session("Eventos") IsNot Nothing AndAlso File.Exists(RutaArchivo) Then If Not Directory.Exists(RutaGuardar) Then Directory.CreateDirectory(RutaGuardar) Archivo = Path.GetExtension(Session("Eventos").ToString) End If tCveSeguimiento = OI.AddEventoComentario(CveEvento, TxtOBs.Text, Archivo, UsuarioActual.CveUsuario) If tCveSeguimiento > 0 Then If Archivo <> "" Then ' If File.Exists(RutaGuardar & Archivo) Then File.Delete(RutaGuardar & Archivo) File.Move(RutaArchivo, RutaGuardar & tCveSeguimiento & Path.GetExtension(Archivo)) Session("Eventos") = "" If ChkRegresaraPendiente.Checked Then If Not OI.UpdateEstatusEvento(2, tCveSeguimiento, CveEvento, UsuarioActual.CveUsuario) Then OI.RollBack() End If End If If ChkPublicar.Checked And CveUsuarioPara = UsuarioActual.CveUsuario Then If Not OI.UpdateEstatusEvento(2, tCveSeguimiento, CveEvento, UsuarioActual.CveUsuario) Then OI.RollBack() End If End If End If If ChkPublicar.Checked And CveUsuarioDe = UsuarioActual.CveUsuario Then If Not OI.UpdateEstatusEvento(3, CveSeguimiento, CveEvento, UsuarioActual.CveUsuario) Then OI.RollBack() Else 'hago una copia del archivo del comentario 'File.Copy(RutaArchivo, RutaGuardar & tCveSeguimiento & Path.GetExtension(Archivo)) End If End If Fecha = Now.ToLongDateString Alert("La observación se guardó correctamente.", TipoMensaje.MsgInformacion) TxtOBs.Text = "" 'registrascript la imagen DTComentarios = OI.DtResultados GvObservaciones.DataSource = OI.DtResultados GvObservaciones.DataBind() UPPObs.Update() UPPDatosObs.Update() OI.Commit() 'Enviar correo 'Dim h1 As New Thread(AddressOf MandarMails) 'h1.Start(2) MandarMails(2) Else OI.RollBack() End If OI.Dispose() End Sub Protected Sub GvObservaciones_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvObservaciones.RowDataBound If e.Row.RowType = DataControlRowType.DataRow Then If e.Row.DBCampo("Archivo") <> "" Then e.Row.FCHyperLink("HplA").NavigateUrl = String.Format("\Empresas\{0}\OI\{1}", e.Row.DBCampo("CveEmpresa"), e.Row.DBCampo("Archivo")) End If End If End Sub Private Sub MandarMails(ByVal ObjTipo As Object) Dim Tipo As Integer = ObjTipo.ToString().ToEntero() If Prioridad = 1 Then StrPrioridad = "Baja" ElseIf Prioridad = 2 Then StrPrioridad = "Media" ElseIf Prioridad = 3 Then StrPrioridad = "Alta" Else StrPrioridad = "No definida" End If Dim OI As New ClsOIEventos Dim DT As DataTable = Nothing If OI.GetEventosUsuario(CveEvento, UsuarioActual.CveEmpresa) Then DT = OI.DtResultados.FiltraParametros("CveEvento > 0") End If OI.Dispose() Dim Mail As New ClsSisMail() If Nuevo Then Mail.Mandacorreo(UsuarioActual.Empresa, CorreoPara, ": Te asignó una tarea " & UsuarioActual.Nombre & " en SIG.", GeneraContenido(CveEvento, Titulo, UsuarioDe, UsuarioPara, UsuariosCCP.ToString, Fecha, StrPrioridad, Descripcion, "", Tipo).ToString) 'Manda correo CCP. 'If CorreosCCP.Length >= 1 Then CorreosCCP = CorreosCCP.Substring(0, CorreosCCP.Length - 1) If CorreosCCP.Length > 1 Then Dim ArrCCP As String() = CorreosCCP.Split(";"c) If ArrCCP.Length > 0 Then Dim SB As StringBuilder = GeneraContenido(CveEvento, Titulo, UsuarioActual.Nombre, UsuarioPara, UsuariosCCP, Now.ToString(), StrPrioridad, Descripcion, "", 1) For i As Integer = 0 To ArrCCP.Length - 1 If ArrCCP(i) <> "" Then ' Mail.Mandacorreo(UsuarioActual.Empresa,, ArrCCP(i), " " & UsuarioActual.Nombre & " le asignó una tarea a " & UsuarioPara & " en SIG.", SB.ToString) End If Next End If End If Else If DT.Rows.Count > 0 Then Dim Str As String = "" Select Case Tipo Case 1 : Str = "El usuario: " & UsuarioActual.Nombre & " registró una tarea: " & Titulo Case 2 : Str = "El usuario: " & UsuarioActual.Nombre & " agregó una observación en la tarea: " & Titulo Case 3 : Str = "El usuario: " & UsuarioActual.Nombre & " concluyó la tarea: " & Titulo Case 4 : Str = "El usuario: " & UsuarioActual.Nombre & "regresó a estatus pendiente la tarea: " & Titulo Case 5 : Str = "El usuario: " & UsuarioActual.Nombre & " revisó la tarea: " & Titulo End Select 'If UsuarioActual.CveUsuario <> CveUsuarioDe Then Mail.Mandacorreo(UsuarioActual.Empresa.SendMail, UsuarioActual.Empresa.SendMailPassword, CorreoDe, Str, GeneraContenido(CveEvento, Titulo, UsuarioDe, UsuarioPara, UsuariosCCP.ToString, Fecha, StrPrioridad, Descripcion, "", Tipo).ToString) 'If UsuarioActual.CveUsuario <> CveUsuarioPara Then Mail.Mandacorreo(UsuarioActual.Empresa.SendMail, UsuarioActual.Empresa.SendMailPassword, CorreoPara, Str, GeneraContenido(CveEvento, Titulo, UsuarioDe, UsuarioPara, UsuariosCCP.ToString, Fecha, StrPrioridad, Descripcion, "", Tipo).ToString) For i As Integer = 0 To DT.Rows.Count - 1 If Not DT.Rows(i)("CveUsuario").ToString.ToEntero.Contiene(UsuarioActual.CveUsuario, CveUsuarioDe, CveUsuarioPara) Then ' Mail.Mandacorreo(UsuarioActual.Empresa.SendMail, UsuarioActual.Empresa.SendMailPassword, DT.Rows(i)("Correo").ToString(), Str, GeneraContenido(CveEvento, Titulo, UsuarioDe, UsuarioPara, UsuariosCCP, Fecha, StrPrioridad, Descripcion, "", Tipo).ToString) End If Next End If End If End Sub Private Function GeneraContenido(CveEvento As Integer, ByVal Tarea As String, ByVal De As String, ByVal Para As String, ByVal CCP As String, ByVal Fecha As String, ByVal Prioridad As String, ByVal Descripcion As String, ByVal Imagen As String, ByVal Tipo As Integer) As StringBuilder Dim StrSB As New StringBuilder() Dim DireccionURL As String = GlobalDTParametros(SisParametros.URL).Cadena1 Dim Variables As String = "" StrSB.Append(" ") StrSB.Append("
") 'StrSB.AppendFormat(" ", DireccionURL) StrSB.Append(" ") StrSB.Append(" ") StrSB.Append(" ") StrSB.Append(" ") StrSB.Append(" ") StrSB.Append(" ") Return StrSB End Function Protected Sub cmdRevision_Click(sender As Object, e As EventArgs) Handles cmdRevision.Click Dim OI As New ClsOIEventos If OI.UpdateEstatusEvento(1, -1, CveEvento, UsuarioActual.CveUsuario) Then GvObservaciones.DataSource = OI.DtResultados GvObservaciones.DataBind() UPPObs.Update() UPPDatosObs.Update() End If OI.Dispose() 'Enviar correo MandarMails(4) End Sub Protected Sub cmdTerminada_Click(sender As Object, e As EventArgs) Handles cmdTerminada.Click Dim OI As New ClsOIEventos If OI.UpdateEstatusEvento(2, -1, CveEvento, UsuarioActual.CveUsuario) Then GvObservaciones.DataSource = OI.DtResultados GvObservaciones.DataBind() UPPObs.Update() UPPDatosObs.Update() End If OI.Dispose() 'Enviar correo MandarMails(3) End Sub Protected Sub cmdRevisada_Click(sender As Object, e As EventArgs) Handles cmdRevisada.Click Dim OI As New ClsOIEventos If OI.UpdateEstatusEvento(3, -1, CveEvento, UsuarioActual.CveUsuario) Then GvObservaciones.DataSource = OI.DtResultados GvObservaciones.DataBind() UPPObs.Update() UPPDatosObs.Update() End If OI.Dispose() 'Enviar correo MandarMails(5) End Sub End Class