Files
SIG/Nomina/EventoDetalle.aspx.vb
2024-08-10 14:06:04 -07:00

2035 lines
91 KiB
VB.net

Option Explicit On
Option Strict On
Imports System.Data
Imports Extensiones
Imports System.IO
Imports MKB.TimePicker
Partial Class OI_EventoDetalle
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 CveEventoPadre As Integer
Get
Return ViewState("CveEventoPadre").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveEventoPadre") = value
End Set
End Property
Private Property CveUsuarioPadre As Integer
Get
Return ViewState("CveUsuarioPadre").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveUsuarioPadre") = value
End Set
End Property
Private Property OrdenEstatus As Integer
Get
Return ViewState("OrdenEstatus").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("OrdenEstatus") = value
End Set
End Property
Private Property CveEventoEstatusSiguiente As Integer
Get
Return ViewState("CveEventoEstatusSiguiente").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveEventoEstatusSiguiente") = value
End Set
End Property
Private Property EventoEstatusSiguiente As String
Get
Return ViewState("EventoEstatusSiguiente").ToString
End Get
Set(value As String)
ViewState("EventoEstatusSiguiente") = value
End Set
End Property
Private Property CveEventoEstatusAnterior As Integer
Get
Return ViewState("CveEventoEstatusAnterior").ToString.ToEntero
End Get
Set(value As Integer)
ViewState("CveEventoEstatusAnterior") = value
End Set
End Property
Private Property EventoEstatusAnterior As String
Get
Return ViewState("EventoEstatusAnterior").ToString
End Get
Set(value As String)
ViewState("EventoEstatusAnterior") = 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
Private Property ArchivoReenvio As String
Get
Return ViewState("ArchivoReenvio").ToString
End Get
Set(value As String)
ViewState("ArchivoReenvio") = value
End Set
End Property
Private Property ArchivoActual As String
Get
Return ViewState("ArchivoActual").ToString
End Get
Set(value As String)
ViewState("ArchivoActual") = value
End Set
End Property
#End Region
#Region "Propiedades Correo"
Private Property EnviarCorreoTerminada() As Boolean
Get
Return CBool(ViewState("EnviarCorreoTerminada"))
End Get
Set(ByVal value As Boolean)
ViewState("EnviarCorreoTerminada") = value
End Set
End Property
Private Property EnviarCorreoRegresada() As Boolean
Get
Return CBool(ViewState("EnviarCorreoRegresada"))
End Get
Set(ByVal value As Boolean)
ViewState("EnviarCorreoRegresada") = value
End Set
End Property
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 TipoCorreo As Integer
Get
Return ViewState("TipoCorreo").ToString.ToEntero
End Get
Set(ByVal value As Integer)
ViewState("TipoCorreo") = 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 List(Of String)
Get
Return CType(ViewState("UsuarioCCP"), List(Of String))
End Get
Set(ByVal value As List(Of String))
ViewState("UsuarioCCP") = value
End Set
End Property
Private Property CorreosCCP() As List(Of String)
Get
Return CType(ViewState("CorreosCCP"), List(Of String))
End Get
Set(ByVal value As List(Of 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
Dim calendarios As New AjaxControlToolkit.CalendarExtender
ViewState("FName") = ""
CveEvento = -1
CveEventoPadre = -1
ArchivoReenvio = "-1"
TxtFechaInicio.Text = NowADS().ToShortDateString
TxtFechaFin.Text = NowADS().ToShortDateString
Dim am_pm As MKB.TimePicker.TimeSelector.AmPmSpec
Dim hora As DateTime = NowADS().AddMinutes(15)
If hora.ToString("tt") = "AM" Then am_pm = MKB.TimePicker.TimeSelector.AmPmSpec.AM Else am_pm = MKB.TimePicker.TimeSelector.AmPmSpec.PM
TxtHoraFin.SetTime(hora.Hour, hora.Minute, am_pm)
Nuevo = True
UsuarioDe = ""
CveUsuarioDe = -1
CveUsuarioPara = -1
CveTipoEvento = 1
UsuariosCCP = New List(Of String)
UsuarioPara = ""
CargaRevision()
CargaAgendaTipo()
CargaEstatusEventos(-1)
CveUsuarioPadre = -1
'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
Select Case CveTipoEvento
Case 1
CargaFolios()
Tarea()
LblTitulo.Text = "Tarea"
Case 2
Agenda()
LblTitulo.Text = "Agenda"
Case 3
Proyecto()
LblTitulo.Text = "Proyecto"
Case 4
ControlVersiones()
LblTitulo.Text = "Control de Versiones"
Case 5
Minuta()
LblTitulo.Text = "Minuta"
Case 6
Bitacora()
LblTitulo.Text = "Bitacora"
End Select
End If
If Request("CveEvento") IsNot Nothing AndAlso IsNumeric(Request("CveEvento")) AndAlso Request("CveEvento").ToEntero > 0 Then
CveEvento = Request("CveEvento").ToEntero
'btnGuardar.Visible = False
CargaDatos()
A1.Visible = False
TxtOBs.Attributes.Add("onclick", "MostrarOpcionesObs();")
TxtOBs.Attributes.Add("onfocus", "idConFocus='" + TxtOBs.ClientID + "'")
TxtOBs.Attributes.Add("onmouseover", "this.style.cursor='pointer';")
TxtOBs.Attributes.Add("onmouseout", "this.style.cursor='default';")
' TxtOBs.Attributes.Add("onblur", "$get('divObs').focus();")
'TxtOBs.Attributes.Add("onblur", "setTimeout(OcultarOpcionesObs, 500);")}
ChkPasarEstatusSiguiente.Attributes.Add("onfocus", "idConFocus='" + ChkPasarEstatusSiguiente.ClientID + "'")
ChkPasarEstatusSiguiente.Attributes.Add("onblur", "setTimeout(OcultarOpcionesObs, 100);")
ChkPasarEstatusSiguiente.Attributes.Add("onclick", "idConFocus='" + ChkPasarEstatusSiguiente.ClientID + "'")
ChkRegresaraEstatusAnterior.Attributes.Add("onfocus", "MostrarOpcionesObs();idConFocus='" + ChkRegresaraEstatusAnterior.ClientID + "'")
ChkRegresaraEstatusAnterior.Attributes.Add("onclick", "idConFocus='" + ChkRegresaraEstatusAnterior.ClientID + "'")
ChkPasarEstatusCancelado.Attributes.Add("onclick", "idConFocus='" + ChkRegresaraEstatusAnterior.ClientID + "'")
ChkRegresaraEstatusAnterior.Attributes.Add("onchange", "chkCambioEstatus('ChkRegresaraEstatusAnterior');")
ChkPasarEstatusSiguiente.Attributes.Add("onchange", "chkCambioEstatus('ChkPasarEstatusSiguiente');")
ChkPasarEstatusCancelado.Attributes.Add("onchange", "chkCambioEstatus('ChkPasarEstatusCancelado');")
'Configuración de Modalidad Update
btnGuardar.Text = "Guardar Cambios"
'deshabilitar los campos que no se pueden editar
'LtlTitulo.Text = "Consulta del Evento:"
Else
DdlEventoEstatus.Enabled = False
lbCambiaEstatus.Visible = False
HabilitaTipoEvento(CveTipoEvento)
LblEstatusEvento.Text = DdlEventoEstatus.SelectedItem.Text
If Request("R") IsNot Nothing AndAlso IsNumeric(Request("R")) AndAlso Request("R").ToEntero > 0 AndAlso Request("U") IsNot Nothing AndAlso IsNumeric(Request("U")) AndAlso Request("U").ToEntero >= 0 Then
CveEventoPadre = Request("R").ToEntero
' CveUsuarioPadre = Request("U").ToEntero
CargaReenvio()
End If
GetUsuarios()
End If
End If
End Sub
Private Sub CargaReenvio()
Dim ObjEventos As New ClsOIEventos
Dim Msg As New StringBuilder
If ObjEventos.GetEvento(CveEventoPadre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
TxtAsunto.Text = ObjEventos.Asunto
TxtDescripcion.Text = ObjEventos.Descripcion
DdlPrioridad.SelectedValue = ObjEventos.CvePrioridad.ToString
UsuarioDe = ObjEventos.UsuarioDe
CorreoDe = ObjEventos.CorreoDe
'CveUsuarioPara = ObjEventos.CveUsuarioPara
UsuarioPara = ObjEventos.UsuarioPara
CorreoPara = ObjEventos.CorreoPara
Descripcion = ObjEventos.Descripcion
Prioridad = ObjEventos.CvePrioridad
If ObjEventos.CveRevision > 0 Then DdlRevision.SelectedValue = ObjEventos.CveRevision.ToString
'Mostrar Archivo Adjunto
TxtArchivo.Enabled = False
A1.Visible = False
If Not IsDBNull(ObjEventos.Archivo) AndAlso ObjEventos.Archivo <> "" AndAlso ObjEventos.Archivo <> "-1" Then A2.HRef = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=OI&CveEmpresa={0}&Archivo={1}", If(ObjEventos.RolIngreso = 1037, 70, ObjEventos.CveEmpresa), ObjEventos.Archivo))) : A2.Visible = True
Else
A1.Visible = True
ArchivoReenvio = ObjEventos.Archivo
TxtFechaInicio.Text = ObjEventos.FechaInicio.ToShortDateString
If ObjEventos.FechaInicio.Year > 1900 Then
TxtFechaInicio.Text = ObjEventos.FechaInicio.ToString
Dim am_pm As MKB.TimePicker.TimeSelector.AmPmSpec
If ObjEventos.FechaInicio.ToString("tt") = "AM" Then am_pm = MKB.TimePicker.TimeSelector.AmPmSpec.AM Else am_pm = MKB.TimePicker.TimeSelector.AmPmSpec.PM
TxtHoraInicio.settime(ObjEventos.FechaInicio.Hour, ObjEventos.FechaInicio.Minute, am_pm)
End If
TxtFechaFin.Text = ObjEventos.FechaFin.ToShortDateString
If ObjEventos.FechaFin.Year > 1900 Then
TxtFechaFin.Text = ObjEventos.FechaFin.ToString
Dim am_pm As MKB.TimePicker.TimeSelector.AmPmSpec
If ObjEventos.FechaFin.ToString("tt") = "AM" Then am_pm = MKB.TimePicker.TimeSelector.AmPmSpec.AM Else am_pm = MKB.TimePicker.TimeSelector.AmPmSpec.PM
TxtHoraFin.SetTime(ObjEventos.FechaFin.Hour, ObjEventos.FechaFin.Minute, am_pm)
End If
End If
ObjEventos.Dispose()
End Sub
Private Sub CargaFolios()
RowFolio.Visible = True
Dim ObjFolios As New ClsGralFolios()
If ObjFolios.GetFolios("OI", UsuarioActual.CveEmpresa) Then
Dim DT As DataTable = ObjFolios.DtResultados.FiltraParametros("Estado = 'Activo'")
'Verificar primero en la sucursal del usuario
If DT.FiltraParametros("CveSucursal = " + UsuarioActual.CveSucursal.ToString).Rows.Count > 0 Then
ViewState("CveFolio") = DT.FiltraParametros("CveSucursal = " + UsuarioActual.CveSucursal.ToString).Rows(0)("CveFolio").ToString.ToEntero
ViewState("FolioActual") = DT.FiltraParametros("CveSucursal = " + UsuarioActual.CveSucursal.ToString).Rows(0)("FActual").ToString
lblFolio.Text = DT.Rows(0)("FActual").ToString
ElseIf DT.Rows.Count > 0 Then
ViewState("CveFolio") = DT.Rows(0)("CveFolio").ToString.ToEntero
ViewState("FolioActual") = DT.Rows(0)("FActual").ToString
lblFolio.Text = DT.Rows(0)("FActual").ToString
Else
Alert("No tiene registrados Folios en esta sucursal.", TipoMensaje.MsgAdvertencia)
End If
DT.Dispose()
End If
ObjFolios.Dispose()
End Sub
#Region "C A R G A - T I P O - E V E N T O"
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
TrRevision.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
#End Region
Private Sub CargaDatos()
If CveEvento <= 0 Then Exit Sub
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.GetEvento(CveEvento, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
If ObjEventos.DtResultados.Rows.Count > 0 Then
Nuevo = False
CveTipoEvento = .CveTipoEvento
LblTitulo.Text = .TipoEvento
Titulo = .Asunto
If CveTipoEvento = 1 Then RowFolio.Visible = True : lblFolio.Text = .Folio.ToString
TxtAsunto.Text = .Asunto
TxtDescripcion.Text = .Descripcion
DdlPrioridad.SelectedValue = .CvePrioridad.ToString
UsuarioDe = .UsuarioDe
CveUsuarioDe = .CveUsuarioDe
CorreoDe = .CorreoDe
CveUsuarioPara = .CveUsuarioPara
UsuarioPara = .UsuarioPara
CorreoPara = .CorreoPara
Descripcion = .Descripcion
Prioridad = .CvePrioridad
lblUsuarioDe.Text = .UsuarioDe
lblUsuarioPara.Text = .UsuarioPara
CveSeguimiento = .CveSeguimiento
TxtFechaInicio.Text = .FechaInicio.ToShortDateString
TxtOrden.Text = .Orden.ToString
If .CveOC > 0 Then
LnkLigaCve.Text = "OC"
LnkLigaCve.PostBackUrl = $"/OC/OC.aspx?OC={ .CveOC}"
End If
If .CveActivoFijo > 0 Then
LnkLigaCve.Text = "AF"
LnkLigaCve.PostBackUrl = $"/AF/AF.aspx?CveActivoFijo={ .CveActivoFijo}"
End If
If .CveIE > 0 Then
LnkLigaCve.Text = "IE"
LnkLigaCve.PostBackUrl = $"/Bancos/IE.aspx?CveIE={ .CveIE}"
End If
If .CveCliente > 0 Then
LnkLigaCve.Text = "Cliente"
LnkLigaCve.PostBackUrl = $"/Ventas/Clientes.aspx?CveCliente={ .CveCliente}"
End If
If .CveOS > 0 Then
LnkLigaCve.Text = "OS"
LnkLigaCve.PostBackUrl = $"/OS/OrdenesServicios.aspx?CveOS={ .CveOS}"
End If
If .CvePersonal > 0 Then
LnkLigaCve.Text = "Personal"
LnkLigaCve.PostBackUrl = $"/RH/Personal.aspx?CvePersonal={ .CvePersonal}"
End If
If .CveProveedor > 0 Then
LnkLigaCve.Text = "Proveedor"
LnkLigaCve.PostBackUrl = $"/Compras/Proveedores.aspx?CveProveedor={ .CveProveedor}"
End If
If .CveCompra > 0 Then
LnkLigaCve.Text = "Compra"
LnkLigaCve.PostBackUrl = $"/Compras/Compras.aspx?CveCompra={ .CveCompra}"
End If
If .CveVenta > 0 Then
LnkLigaCve.Text = "Venta"
LnkLigaCve.PostBackUrl = $"/Ventas/Ventas.aspx?CveVenta={ .CveVenta}"
End If
If .CveVenta > 0 Then
LnkLigaCve.Text = "Venta"
LnkLigaCve.PostBackUrl = $"/Ventas/Ventas.aspx?CveVenta={ .CveVenta}"
End If
If .CveContrato > 0 Then
LnkLigaCve.Text = "Contrato"
LnkLigaCve.PostBackUrl = $"/Contratos/Contrato.aspx?CveContrato={ .CveContrato}"
End If
If ObjEventos.FechaInicio.Year > 1900 Then
TxtFechaInicio.Text = ObjEventos.FechaInicio.ToString
Dim am_pm As MKB.TimePicker.TimeSelector.AmPmSpec
If ObjEventos.FechaInicio.ToString("tt") = "AM" Then am_pm = MKB.TimePicker.TimeSelector.AmPmSpec.AM Else am_pm = MKB.TimePicker.TimeSelector.AmPmSpec.PM
TxtHoraInicio.SetTime(ObjEventos.FechaInicio.Hour, ObjEventos.FechaInicio.Minute, am_pm)
End If
TxtFechaFin.Text = .FechaFin.ToShortDateString
If ObjEventos.FechaFin.Year > 1900 Then
TxtFechaFin.Text = ObjEventos.FechaFin.ToString
Dim am_pm As MKB.TimePicker.TimeSelector.AmPmSpec
If ObjEventos.FechaFin.ToString("tt") = "AM" Then am_pm = MKB.TimePicker.TimeSelector.AmPmSpec.AM Else am_pm = MKB.TimePicker.TimeSelector.AmPmSpec.PM
TxtHoraFin.SetTime(ObjEventos.FechaFin.Hour, ObjEventos.FechaFin.Minute, am_pm)
End If
TxtFechaRealTermino.Text = .FechaRealTermino.ToShortDateString
TxtTipoReferencia.Text = .TipoReferencia
TxtReferencia.Text = .Referencia
'Mostrar Archivo Adjunto
If Not IsDBNull(ObjEventos.Archivo) AndAlso ObjEventos.Archivo <> "" AndAlso ObjEventos.Archivo <> "-1" Then A2.HRef = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=OI&Archivo=\Empresas\{0}\OI\{1}", If(ObjEventos.RolIngreso = 1037, 70, ObjEventos.CveEmpresa), ObjEventos.Archivo))) : A2.Visible = True Else A1.Visible = True
' If Not IsDBNull(.Archivo) AndAlso .Archivo <> "" AndAlso .Archivo <> "-1" Then A2.HRef = String.Format("\Empresas\{0}\OI\{1}", If(.RolIngreso = 1037, 70, .CveEmpresa), .Archivo) : A2.Visible = True Else A1.Visible = True
ArchivoActual = ObjEventos.Archivo
If .CveRevision > 0 Then
If DdlRevision.Items.FindByValue(.CveRevision.ToString) Is Nothing Then
DdlRevision.Items.Insert(1, New ListItem(.Revision.ToString, .CveRevision.ToString))
End If
DdlRevision.SelectedValue = .CveRevision.ToString
End If
If .CveAgendaTipo > 0 Then DdlAgendaTipo.SelectedValue = .CveAgendaTipo.ToString
DdlPrioridad.SelectedValue = .CvePrioridad.ToString
'Dejar en la lista de Estatus solo el Anterior y el Siguiente
CargaEstatusEventos(.CveEventoEstatus)
DdlEventoEstatus.SelectedValue = .CveEventoEstatus.ToString
LblEstatusEvento.Text = String.Format("Estatus: {0}", .EventoEstatus)
uppEstatus.Update()
TrEstatus.Visible = True
If .CveOC > 0 Then
TrReferenciaLiga.Visible = True
HplReferencia.Text = "Requisición"
HplReferencia.NavigateUrl = String.Format("/OC/OC.aspx?OC={0}", .CveOC)
End If
ViewState("OrdenEstatus") = GlobalDTOIEstatusEventos().FiltraParametros(String.Format("CveEventoEstatus = {0}", .CveEventoEstatus)).Rows(0)("Orden")
'Sacar el estatus siguiente
Dim EstatusAdelante As Integer = GlobalDTOIEstatusEventos().FiltraParametros(String.Format("Orden > {0} AND CveEventoEstatus <> 5", OrdenEstatus), "Orden").Rows.Count
EnviarCorreoTerminada = If(EstatusAdelante = 2, True, False)
EnviarCorreoRegresada = If(EstatusAdelante = 1, True, False)
If EstatusAdelante > 0 Then
Dim drEstatusSiguiente As DataRow = GlobalDTOIEstatusEventos().FiltraParametros(String.Format("Orden > {0}", OrdenEstatus), "Orden").Rows(0)
ViewState("CveEventoEstatusSiguiente") = drEstatusSiguiente("CveEventoEstatus")
ViewState("EventoEstatusSiguiente") = drEstatusSiguiente("EventoEstatus")
ChkPasarEstatusSiguiente.Text = "Pasar a " + EventoEstatusSiguiente
ChkPasarEstatusSiguiente.Visible = True
If (EstatusAdelante = 1 And CveUsuarioDe = UsuarioActual.CveUsuario) Or (EstatusAdelante > 1 And CveUsuarioPara = UsuarioActual.CveUsuario) Then ChkPasarEstatusSiguiente.Visible = True Else ChkPasarEstatusSiguiente.Visible = False
Else
ChkPasarEstatusSiguiente.Visible = False
End If
'Sacar el estatus anterior
If GlobalDTOIEstatusEventos().FiltraParametros(String.Format("Orden < {0}", OrdenEstatus), "Orden Desc").Rows.Count > 0 Then
Dim drEstatusSiguiente As DataRow = GlobalDTOIEstatusEventos().FiltraParametros(String.Format("Orden < {0}", OrdenEstatus), "Orden Desc").Rows(0)
ViewState("CveEventoEstatusAnterior") = drEstatusSiguiente("CveEventoEstatus")
ViewState("EventoEstatusAnterior") = drEstatusSiguiente("EventoEstatus")
'ChkRegresaraEstatusAnterior.Text = "Regresar a " + EventoEstatusAnterior
ChkRegresaraEstatusAnterior.Visible = True
If (EstatusAdelante = 1 And CveUsuarioDe = UsuarioActual.CveUsuario) Or (EstatusAdelante > 1 And CveUsuarioPara = UsuarioActual.CveUsuario) Then ChkRegresaraEstatusAnterior.Visible = True Else ChkRegresaraEstatusAnterior.Visible = False
Else
ChkRegresaraEstatusAnterior.Visible = False
End If
ChkRegresaraEstatusAnterior.Checked = False
ChkPasarEstatusSiguiente.Checked = False
'Si es el Usuario que la ingreso la podra cancelar, pero no podra usar el Combo del estatus
ChkPasarEstatusCancelado.Visible = If(.CveUsuarioIng = UsuarioActual.CveUsuario, True, False)
TxtOBs.Enabled = If(.CveEventoEstatus = 5, False, True)
'Select Case .CveEventoEstatus
' Case 1 'En Revision
' Select Case UsuarioActual.CveUsuario
' Case .CveUsuarioPara
' 'btnTerminada.Visible = True
' Select Case .CveTipoEvento
' Case 4 'Control de Versiones
' 'ChkPublicar.Visible = True
' 'btnTerminada.Visible = False
' End Select
' End Select
' Case 2 'Concluida
' Select Case UsuarioActual.CveUsuario
' Case .CveUsuarioDe
' ' btnRevisada.Visible = True
' ' btnRevision.Visible = True
' Select Case .CveTipoEvento
' Case 4 'Control de Versiones
' 'ChkPublicar.Visible = True
' ' btnRevisada.Text = "Publicar"
' ChkRegresaraEstatusAnterior.Visible = True : ChkRegresaraEstatusAnterior.Text = "Regresar a Revisión"
' End Select
' End Select
' Case 3 'Revisada
'End Select
'cargo los ususarios
If .GetEventosUsuario(CveEvento, UsuarioActual.CveEmpresa) Then
divUsuarios.Visible = True
divSeleccionUsuarios.Visible = False
gvUsuariosVista.DataSource = .DtResultados.FiltraParametros(String.Format("CveUsuario <> {0}", CveUsuarioDe))
gvUsuariosVista.DataBind()
'GVUsuarios.DataSource = AgregaGrupos(.DtResultados)
'GVUsuarios.DataBind()
'CARGALOS DATOS USUARIOSCCP
For Each Dr As DataRow In .DtResultados.FiltraParametros("CveEvento > 0").Rows
If UsuariosCCP Is Nothing Then UsuariosCCP = New List(Of String)
UsuariosCCP.Add(Dr("Nombre").ToString)
If CorreosCCP Is Nothing Then CorreosCCP = New List(Of String)
CorreosCCP.Add(Dr("Correo").ToString)
Next
End If
' TdObservaciones.Visible = True
PnlEncObs.Visible = True
UPPObs.Update()
' SI es el Usuario que la ingreso la podra cancelar, pero no podra usar el Combo del estatus
'O SI, los checkbox pasar a siguiente o pasar a anterior estan desabilitados es un usuario al que no le pertenece la tarea
'O SI, ya esta cancelada
If (.CveUsuarioIng = UsuarioActual.CveUsuario And .CveUsuarioIng <> .CveUsuarioPara) Or
(ChkPasarEstatusSiguiente.Visible = False And ChkRegresaraEstatusAnterior.Visible = False) Or
(.CveEventoEstatus = 5) Then
DdlEventoEstatus.Enabled = False
lbCambiaEstatus.Visible = False
Else
DdlEventoEstatus.Enabled = True
lbCambiaEstatus.Visible = True
End If
lblFechaObs.Text = NowADS().ToString("dd/MM/yyyy")
lblUsuarioObs.Text = UsuarioActual.Nombre
If .GetEventosComentarios(CveEvento) Then
DTComentarios = ObjEventos.DtResultados
GvObservaciones.DataSource = .DtResultados
GvObservaciones.DataBind()
UPPDatosObs.Update()
End If
'LinkReenviar.DescriptionUrl = String.Format("EventoDetalle.aspx?CveTipoEvento={0}&R={1}&U={2}", CveTipoEvento, CveEvento, CveUsuarioDe)
End If
If Not UsuarioDe = UsuarioActual.Nombre Then
TxtAsunto.Enabled = False
TxtDescripcion.Enabled = False
DdlPrioridad.Enabled = False
TxtFechaInicio.Enabled = False
TxtFechaFin.Enabled = False
TxtHoraInicio.ReadOnly = False
TxtHoraFin.Enabled = False
ImgCalendario.Visible = False
ImgCalFechaFin.Visible = False
DdlRevision.Enabled = False
TxtArchivo.Enabled = False
A1.Visible = False
End If
HabilitaTipoEvento(.CveTipoEvento)
'SI ES TAREA PARA MI NO PUEDO ADJUNTAR ARCHIVO
If UsuarioPara = UsuarioActual.Nombre And Not UsuarioDe = UsuarioActual.Nombre Then
A1.Visible = False
End If
'SI ES TAREA ECHA POR MI Y ESTATUS <> "PENDIENTE" NO LA PUEDO REENVIAR
If UsuarioDe = UsuarioActual.Nombre AndAlso DdlEventoEstatus.SelectedValue <> "1" Then
LinkReenviar.Visible = False
Else
If CveTipoEvento = 1 Then
LinkReenviar.Visible = True
End If
End If
'SI ES TAREA ECHA POR MI Y ESTATUS = (TERMINADA O CANCELADA O REVISADA) PUEDO CAMBIAR ESTATUS DESDE DDL
If UsuarioDe = UsuarioActual.Nombre AndAlso (DdlEventoEstatus.SelectedValue = "3" Or DdlEventoEstatus.SelectedValue = "5" Or DdlEventoEstatus.SelectedValue = "4") Then
DdlEventoEstatus.Enabled = True
lbCambiaEstatus.Visible = True
ChkPasarEstatusSiguiente.Visible = True
ChkRegresaraEstatusAnterior.Visible = True
If DdlEventoEstatus.SelectedValue = "4" Then
DdlEventoEstatus.Items.Remove(DdlEventoEstatus.Items.FindByValue("5"))
ChkPasarEstatusSiguiente.Visible = False
End If
End If
ImgAddRevision.Visible = False
End If
End With
ObjEventos.Dispose()
End Sub
Private Sub HabilitaTipoEvento(pCveTipoEvento As Integer)
CveTipoEvento = pCveTipoEvento
'Tarea = 1 Agenda = 2 Proyecto = 3 ControlVersiones = 4 Minuta = 5 Bitacora = 6
Select Case pCveTipoEvento
Case 1
Tarea()
LblTitulo.Text = "Tarea"
Case 2
Agenda()
LblTitulo.Text = "Agenda"
Case 3
Proyecto()
LblTitulo.Text = "Proyecto"
Case 4
ControlVersiones()
LblTitulo.Text = "Control de Versiones"
TrRevision.Visible = False
TrArchivo.Visible = False
'btnRevision.Text = "Regresar a Revisión"
' btnTerminada.Text = "Por Aprobar"
'btnRevisada.Text = "Revisada"
Case 5
Minuta()
LblTitulo.Text = "Minuta"
Case 6
Bitacora()
LblTitulo.Text = "Bitácora"
End Select
End Sub
Private Sub GetUsuarios()
Dim tCveEmpresa As Integer = UsuarioActual.CveEmpresa
'CveUsuarioAsistencia
If UsuarioActual.CveRol = 1037 Then tCveEmpresa = 70
'Filtro Especial
Dim FiltroAD = ""
'If UsuarioActual.CveEmpresa = 66 Then
' If Not (UsuarioActual.CveUsuario = 1347 Or UsuarioActual.CveUsuario = 304) Then
' FiltroAD = String.Format("AND CveRol <> 1")
' End If
'End If
Dim DT As DataTable = GlobalDTUsuarios(-1, tCveEmpresa).FiltraParametros(String.Format(" Estatus =1 {0}", FiltroAD), "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 = "SubTotales"
e.Row.Attributes.Add("style", "background:#CCCCCC !important")
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 Not Nuevo AndAlso e.Row.DBCampo("Empresa").ToString <> "" AndAlso 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 Nuevo = True AndAlso e.Row.DBCampo("CveUsuario").ToEntero = CveUsuarioPadre Then
e.Row.Cells(1).Enabled = False
e.Row.FCCheckBox("ChkCCP").Checked = True
End If
If CveEvento > 0 And divSeleccionUsuarios.Visible = False 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
ElseIf Nuevo = False And e.Row.DBCampo("CveUsuario").ToEntero <> CveUsuarioPara Then
e.Row.Visible = False
End If
End If
End If
End Sub
Protected Sub gvUsuariosVista_RowDataBound(ByVal sender As Object, ByVal e As GridViewRowEventArgs) Handles gvUsuariosVista.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
If CveEvento > 0 Then
'viene de BD
'si se cumple esta condición que decir que fue selecccionado
If e.Row.DBCampo("CveEvento").ToEntero = 0 Then
e.Row.Visible = False
End If
End If
End If
End Sub
Protected Sub btnGuardar_Click(ByVal sender As Object, ByVal e As EventArgs) Handles btnGuardar.Click
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 = String.Format("{0} {1}:{2} {3}", TxtFechaInicio.Text, TxtHoraInicio.Hour, TxtHoraInicio.Minute, TxtHoraInicio.AmPm)
If TxtFechaFin.Text <> String.Empty Then FechaFin = String.Format("{0} {1}:{2} {3}", TxtFechaFin.Text, TxtHoraFin.Hour, TxtHoraFin.Minute, TxtHoraFin.AmPm)
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
If (CveUsuarioPara = -1 And divSeleccionUsuarios.Visible = False) Or (CveUsuarioPara = -1 And divSeleccionUsuarios.Visible = True) Then
Alert("Debe Seleccionar a quien se le asigna la tarea", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
Dim ObjEventos As New ClsOIEventos()
Dim HuboError As Boolean = False
ObjEventos.IniciaTransacSQL()
Titulo = TxtAsunto.Text.Trim()
UsuarioDe = UsuarioActual.Nombre
Prioridad = DdlPrioridad.SelectedValue.ToEntero
CveRevision = DdlRevision.SelectedValue.ToEntero
Fecha = NowADS().ToLongDateString
'CveUsuarioPara = DdlUsuarioPara.SelectedValue.ToEntero
'UsuarioPara = DdlUsuarioPara.SelectedItem.Text
Dim dru As DataRow = GlobalDTUsuarios(CveUsuarioPara, CveEmpresa).FiltroPrimero("")
If dru IsNot Nothing Then CorreoPara = dru("Correo").ToString
Dim RutaGuardar = ""
RutaGuardar = String.Format("{0}OI\", UsuarioActual.Empresa.Ruta)
Dim RutaArchivo = ""
Dim EsNuevo = False
If CveEvento = -1 Then
'Dim RutaGuardar As String = String.Format("{0}Empresas\{1}\OI\", GlobalDTParametros(SisParametros.DirectorioSitio).Cadena1, UsuarioActual.CveEmpresa)
'Dim RutaArchivo As String = String.Format("{0}Empresas\{1}\OI\Temp\{2}", GlobalDTParametros(SisParametros.DirectorioSitio).Cadena1, UsuarioActual.CveEmpresa, Session("Eventos"))
EsNuevo = True
'CUANDO ES REENVIO
If CveEventoPadre > 0 Then
If A2.HRef <> "" Then RutaArchivo = String.Format("{0}{1}", ModExtensiones.DirectorioBaseEmpresas, A2.HRef.Substring(1))
If File.Exists(RutaArchivo) Then
Archivo = Path.GetExtension(ArchivoReenvio)
End If
If UsuarioActual.CveRol = 1037 Then
RutaGuardar = String.Format("{0}Empresas\70\OI\", ModExtensiones.DirectorioBaseEmpresas)
RutaGuardar.DirectoryExistsCreate
End If
Else
RutaArchivo = String.Format("{0}OI\Temp\{1}", UsuarioActual.Empresa.Ruta, ViewState("FName").ToString)
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
End If
Select Case CveTipoEvento
Case 1
If ObjEventos.AddEventoTarea(Asunto, Descripcion, Prioridad, CveUsuarioDe, CveUsuarioPara, FechaInicio.ToDateTime, FechaFin.ToDateTime, CveEventoPadre, TxtOrden.Text.ToDouble, 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, "document.location.href=""/OI/RepTareas.aspx"";")
Else
HuboError = True
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)
Else
HuboError = True
End If
Case 3
If ObjEventos.AddEventoProyecto(Asunto, Descripcion, Prioridad, CveUsuarioDe, CveUsuarioPara, FechaInicio.ToDateTime, FechaFin.ToDateTime, 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)
Else
HuboError = True
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)
Else
HuboError = True
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)
Else
HuboError = True
End If
Case 6
If ObjEventos.AddEventoBitacora(Descripcion, "", CveUsuarioIng, CveEmpresa, CveActivoFijo:=CveActivoFijo, CveIE:=CveIE, CveProspecto:=CveProspecto, CveCliente:=CveCliente, CveOS:=CveOS, CveOC:=CveOC, CvePersonal:=CvePersonal, CveProveedor:=CveProveedor) Then
CveEvento = ObjEventos.CveEvento
Alert("La Nueva Bitacora se guardó correctamente.", TipoMensaje.MsgInformacion)
Else
HuboError = True
End If
End Select
If HuboError = False And CveEvento > 0 Then
If Archivo <> "" Then
If CveEventoPadre > 0 Then
File.Copy(RutaArchivo, String.Format("{0}OI{1}{2}", RutaGuardar, CveEvento, Archivo))
Else
File.Move(RutaArchivo, String.Format("{0}OI{1}{2}", RutaGuardar, CveEvento, Path.GetExtension(Archivo)))
Session("Eventos") = ""
End If
End If
TipoNotificacion = 1
For Each RowCCP As GridViewRow In GVUsuarios.Rows
If HuboError = False And 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 CveUsuarioCCP <> UsuarioActual.CveUsuario Then
If UsuariosCCP Is Nothing Then UsuariosCCP = New List(Of String)
UsuariosCCP.Add(RowCCP.DataKey("Nombre").ToString)
If CorreosCCP Is Nothing Then CorreosCCP = New List(Of String)
CorreosCCP.Add(RowCCP.DataKey("Correo").ToString)
End If
Else
HuboError = True
Exit For
End If
End If
Next
If HuboError = False Then
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)
End If
End If
Else
RutaArchivo = String.Format("{0}OI\Temp\{1}", UsuarioActual.Empresa.Ruta, Session("Eventos"))
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
If ObjEventos.UpdateEvento(Asunto, Descripcion, Prioridad, -1, CveUsuarioPara, FechaInicio.ToDateTime, FechaFin.ToDateTime, CveRevision, Archivo, CveEvento, Orden:=TxtOrden.Text.ToDouble) 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
If divSeleccionUsuarios.Visible Then
If ObjEventos.RemoveEventoUsuario(CveEvento) Then
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 CveUsuarioCCP <> UsuarioActual.CveUsuario Then
If UsuariosCCP Is Nothing Then UsuariosCCP = New List(Of String)
UsuariosCCP.Add(RowCCP.DataKey("Nombre").ToString)
If CorreosCCP Is Nothing Then CorreosCCP = New List(Of String)
CorreosCCP.Add(RowCCP.DataKey("Correo").ToString)
End If
Else
HuboError = True
Exit For
End If
End If
Next
Else
HuboError = True
End If
End If
Else
HuboError = True
End If
If HuboError = False Then
If Archivo <> "" Then
'ELIMINA ARCHIVO
If ArchivoActual <> "" Then
If File.Exists(String.Format("{0}{1}", RutaGuardar, ArchivoActual)) Then
File.Delete(String.Format("{0}{1}", RutaGuardar, ArchivoActual))
End If
End If
If CveEventoPadre > 0 Then
File.Copy(RutaArchivo, String.Format("{0}OI{1}{2}", RutaGuardar, CveEvento, Archivo))
Else
File.Move(RutaArchivo, String.Format("{0}OI{1}{2}", RutaGuardar, CveEvento, Path.GetExtension(Archivo)))
Session("Eventos") = ""
End If
End If
End If
End If
If HuboError = False Then
ObjEventos.Commit()
EnviarCorreoNueva(True)
If Not EsNuevo Then
Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion)
End If
Else
ObjEventos.RollBack()
Alert("Ocurrió un error al guardar los cambios. Por favor vuelva a intentar", TipoMensaje.MsgError)
End If
ObjEventos.Dispose()
CargaDatos()
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(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Temp\" & Session("FileUpload").ToString) Then
' Dim Extension As String = Path.GetExtension(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Temp\" & Session("FileUpload").ToString)
' If Not Directory.Exists(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Eventos\Archivos") Then Directory.CreateDirectory(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Eventos\Archivos")
' File.Move(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Temp\" & Session("FileUpload").ToString, ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Eventos\" & CveEvento & "_" & ArchConsecutivo & Extension)
' Session("FileUpload") = ""
' If File.Exists(ModExtensiones.DirectorioBaseEmpresas + "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(ModExtensiones.DirectorioBaseEmpresas + "Empresas\" & UsuarioActual.CveEmpresa & "\Eventos\Archivos" & CveEvento & "_" & ArchConsecutivo & Extension)
' End If
' ObjActivosFijos.Dispose()
' End If
' End If
'End Sub
Private Sub CargaRevision()
DdlRevision.DataSource = GlobalDTOIRevision(UsuarioActual.CveEmpresa).FiltraParametros(String.Format("CveUsuario = {0}", UsuarioActual.CveUsuario))
DdlRevision.DataBind()
DdlRevision.Items.Insert(0, New ListItem("Seleccione", "-1"))
End Sub
Private Sub CargaAgendaTipo()
DdlAgendaTipo.DataSource = GlobalDTOIAgendaTipo
DdlAgendaTipo.DataBind()
End Sub
Private Sub CargaEstatusEventos(CveEventoEstatus As Integer)
Dim Dt As DataTable = GlobalDTOIEstatusEventos.FiltraParametros("CveEventoEstatus = 0")
If CveEventoEstatus = -1 Then
Dt = GlobalDTOIEstatusEventos
Else
Dim Orden As Integer
Dim Row As DataRow = GlobalDTOIEstatusEventos.FiltroPrimero(String.Format("CveEventoEstatus = {0}", CveEventoEstatus))
Dim RowA As DataRow = Dt.NewRow
RowA("CveEventoEstatus") = Row("CveEventoEstatus")
RowA("EventoEstatus") = Row("EventoEstatus")
RowA("Orden") = Row("Orden")
Dt.Rows.Add(RowA)
Orden = Row("Orden").ToString.ToEntero
Row = GlobalDTOIEstatusEventos.FiltroPrimero(String.Format("Orden < {0}", Orden))
If Not Row Is Nothing Then
RowA = Dt.NewRow
RowA("CveEventoEstatus") = Row("CveEventoEstatus")
RowA("EventoEstatus") = Row("EventoEstatus")
RowA("Orden") = Row("Orden")
Dt.Rows.Add(RowA)
End If
Row = GlobalDTOIEstatusEventos.FiltroPrimero(String.Format("Orden > {0}", Orden))
If Not Row Is Nothing Then
RowA = Dt.NewRow
RowA("CveEventoEstatus") = Row("CveEventoEstatus")
RowA("EventoEstatus") = Row("EventoEstatus")
RowA("Orden") = Row("Orden")
Dt.Rows.Add(RowA)
End If
'If CveEventoEstatus <> -1 Then
' 'Dejar solo el estatus actual y el siguiente
' Dim EventoEstatusAnt As DataRow
' Dim Eliminar As Boolean = False
' For Each Row As DataRow In Dt.Rows
' If Eliminar = True Then
' Dt.Rows.Remove(Row)
' Else
' If Not EventoEstatusAnt Is Nothing Then
' If Row("CveEventoEstatus").ToString.ToEntero <> CveEventoEstatus Then
' Dt.Rows.Remove(EventoEstatusAnt)
' End If
' If EventoEstatusAnt("CveEventoEstatus").ToString.ToEntero = Row("CveEventoEstatus").ToString.ToEntero Then
' Eliminar = True
' End If
' End If
' End If
' EventoEstatusAnt = Row
' Next
'End If
End If
DdlEventoEstatus.DataSource = Dt.FiltraParametros("", "Orden")
DdlEventoEstatus.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\", ModExtensiones.DirectorioBaseEmpresas, UsuarioActual.CveEmpresa)
'Dim RutaGuardar As String = String.Format("{0}Empresas\{1}\OI\", GlobalDTParametros(SisParametros.DirectorioSitio).Cadena1, UsuarioActual.CveEmpresa)
'Dim RutaArchivo As String = String.Format("{0}Empresas\{1}\OI\Temp\{2}", GlobalDTParametros(SisParametros.DirectorioSitio).Cadena1, UsuarioActual.CveEmpresa, Session("Eventos2"))
Dim OI As New ClsOIEventos
OI.IniciaTransacSQL()
Dim RutaGuardar As String = String.Format("{0}OI\Comentarios\", UsuarioActual.Empresa.Ruta)
Dim RutaArchivo As String = String.Format("{0}OI\Temp\{1}", UsuarioActual.Empresa.Ruta, Session("Eventos2"))
Dim tCveSeguimiento As Integer
Dim Archivo As String = ""
Dim TieneError = False
If TxtOBs.Text.Trim = "" AndAlso Not File.Exists(RutaArchivo) Then
Alert("Indique una Observación o Adjunte un Archivo", TipoMensaje.MsgAdvertencia)
Exit Sub
End If
If Session("Eventos2") IsNot Nothing AndAlso File.Exists(RutaArchivo) Then
If Not Directory.Exists(RutaGuardar) Then Directory.CreateDirectory(RutaGuardar)
Archivo = Path.GetExtension(Session("Eventos2").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 & "OI" & tCveSeguimiento & Path.GetExtension(Archivo))
Session("Eventos2") = ""
End If
If ChkRegresaraEstatusAnterior.Checked Then
CveEventoEstatusAnterior = 1
If Not OI.UpdateEstatusEvento(CveEventoEstatusAnterior, tCveSeguimiento, CveEvento, UsuarioActual.CveUsuario) Then
TieneError = True
End If
End If
If ChkPasarEstatusSiguiente.Checked Then
If Not OI.UpdateEstatusEvento(CveEventoEstatusSiguiente, tCveSeguimiento, CveEvento, UsuarioActual.CveUsuario) Then
TieneError = True
End If
End If
If ChkPasarEstatusCancelado.Checked Then
If Not OI.UpdateEstatusEvento(5, tCveSeguimiento, CveEvento, UsuarioActual.CveUsuario) Then
TieneError = True
End If
End If
'If ChkPasarEstatusSiguiente.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 = NowADS().ToLongDateString
Alert("La observación se guardó correctamente.", TipoMensaje.MsgInformacion)
TxtOBs.Text = ""
'registrascript la imagen
DTComentarios = OI.DtResultados
'GvObservaciones.DataSource = DTComentarios.FiltraParametros("", "FechaIng Desc")
'GvObservaciones.DataBind()
'UPPObs.Update()
'UPPDatosObs.Update()
Else
TieneError = True
End If
If Not TieneError Then
OI.Commit()
OI.Dispose()
'Enviar correo
If (EnviarCorreoTerminada = True And ChkPasarEstatusSiguiente.Checked = True) Or (EnviarCorreoRegresada = True And ChkRegresaraEstatusAnterior.Checked = True) Then
EnviarCorreoCambioEstatus(False)
End If
CargaDatos()
Else
OI.RollBack()
OI.Dispose()
End If
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
'ANTERIOR 20 FEBRERO
'e.Row.FCHyperLink("HplA").NavigateUrl = String.Format("\Empresas\{0}\OI\Comentarios\OI{1}", e.Row.DBCampo("CveEmpresa"), e.Row.DBCampo("Archivo"))
e.Row.FCHyperLink("HplA").NavigateUrl = String.Format("/Compras/PopUpVerFactura.aspx?P={0}", Encripta(String.Format("OP=OI&Archivo=\Empresas\{0}\OI\Comentarios\OI{1}", e.Row.DBCampo("CveEmpresa"), e.Row.DBCampo("Archivo"))))
End If
End If
End Sub
Protected Sub lbCambiaEstatus_Click(sender As Object, e As System.EventArgs) Handles lbCambiaEstatus.Click
Dim objOI As New ClsOIEventos
If objOI.UpdateEstatusEvento(DdlEventoEstatus.SelectedValue.ToEntero, -1, CveEvento, UsuarioActual.CveUsuario) Then
CargaEstatusEventos(DdlEventoEstatus.SelectedValue.ToEntero)
If DdlEventoEstatus.SelectedValue.ToEntero = 3 Or DdlEventoEstatus.SelectedValue.ToEntero = 1 Then EnviarCorreoCambioEstatus(False)
CargaDatos()
Alert("Se cambio el Estatus", TipoMensaje.MsgInformacion)
End If
objOI.Dispose()
End Sub
Protected Sub BtnAgregarRevision_Click(sender As Object, e As EventArgs)
Dim ObjEventos As New ClsOIEventos
If ObjEventos.AddRevisionesEventos(TxtDescripcionRevision.Text.Trim, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
Alert("Revisión agregada con éxito.", TipoMensaje.MsgInformacion)
RegistraScript("$get('DivRevision').style.display='none';")
TxtDescripcionRevision.Text = ""
GlobalDTOIRevision(-1) = ObjEventos.DtResultados
CargaRevision()
UpRevision.Update()
Else
Alert("Ocurrió un error al agregar la revisión. Por favor vuelva a intentar.", TipoMensaje.MsgError)
End If
ObjEventos.Dispose()
End Sub
Protected Sub LinkReenviar_Click(sender As Object, e As ImageClickEventArgs)
Response.Redirect(String.Format("EventoDetalle.aspx?CveTipoEvento={0}&R={1}&U={2}", CveTipoEvento, CveEvento, CveUsuarioDe))
End Sub
#Region " ENVIAR CORREO "
Private Sub MandarMailsX(ByVal ObjTipo As Object)
Dim Tipo As Integer = ObjTipo.ToString().ToEntero()
If Prioridad = 1 Then
StrPrioridad = "<span class='Verde'>Baja</span>"
ElseIf Prioridad = 2 Then
StrPrioridad = "<span class='Negro'>Media</span>"
ElseIf Prioridad = 3 Then
StrPrioridad = "<span class='Rojo'>Alta</span>"
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 IsNot Nothing AndAlso CorreosCCP.Count > 1 Then
Dim ArrCCP As String() = CorreosCCP.ToArray
If ArrCCP.Length > 0 Then
'Dim SB As StringBuilder = GeneraContenido(CveEvento, Titulo, UsuarioActual.Nombre, UsuarioPara, UsuariosCCP, NowADS().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
Protected Sub EnviarCorreoNueva(IncluirCCP As Boolean)
Dim Body As StringBuilder
Try
TipoCorreo = 1
Body = GeneraContenido(CveEvento)
''String.Join(";", CorreosCCP.Distinct().ToArray)
ViewState("Para") = CorreoPara
ViewState("ArrayCC") = If(IncluirCCP = True And Not CorreosCCP Is Nothing, String.Join(";", CorreosCCP.Distinct().ToArray), "")
'ViewState("ArrayCC") = CorreosCCP.Distinct().ToArray
ViewState("Asunto") = String.Format("Te asignó una tarea {0} en SIG.", UsuarioActual.Nombre)
ViewState("Body") = Body
Dim Hilo As New System.Threading.Thread(AddressOf MandaCorreo)
Hilo.Start()
Catch ex As Exception
OnError("Ocurrió error al mandar MAIL", ex)
End Try
End Sub
Protected Sub EnviarCorreoCambioEstatus(IncluirCCP As Boolean)
Dim Body As StringBuilder
Try
TipoCorreo = 2
Body = GeneraContenido(CveEvento)
ViewState("Para") = If(EnviarCorreoRegresada = True, CorreoPara, CorreoDe)
ViewState("ArrayCC") = If(IncluirCCP = True, String.Join(";", CorreosCCP.Distinct().ToArray), "")
ViewState("Asunto") = String.Format("Cambio de Estatus en una tarea, {0} la cambio.", UsuarioActual.Nombre)
ViewState("Body") = Body
Dim Hilo As New System.Threading.Thread(AddressOf MandaCorreo)
Hilo.Start()
Catch ex As Exception
OnError("Ocurrió error al mandar MAIL", ex)
End Try
End Sub
Private Function GeneraContenido(CveEvento As Integer) As StringBuilder
Dim StrSB As New StringBuilder()
Dim DireccionURL As String = GlobalDTParametros(SisParametros.URL).Cadena1
Dim Variables As String = ""
Dim Tarea As String
Dim De As String
Dim Para As String
'Dim CCP As String
Dim Fecha As String
Dim Prioridad As String
Dim Descripcion As String
Dim Tipo As Integer
Dim objEvento As New ClsOIEventos
If objEvento.GetEvento(CveEvento, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa) Then
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("<html xmlns=""http://www.w3.org/1999/xhtml""> ")
StrSB.Append("<head> ")
'StrSB.AppendFormat("<link href=""{0}/Styles/Estilos.css"" rel=""stylesheet"" type=""text/css""> ", DireccionURL)
StrSB.Append(" <style type=""text/css""> ")
StrSB.Append(" body ")
StrSB.Append(" { ")
StrSB.Append(" margin:0px; ")
StrSB.Append(" padding:0px 0px 0px 0px; ")
StrSB.Append(" font-family: Verdana, Arial, Helvetica, sans-serif; ")
StrSB.Append(" font-size: 10px; ")
StrSB.Append(" background-color:#F0F0F0; ")
StrSB.Append(" } ")
StrSB.Append(" a.Texto ")
StrSB.Append(" { ")
StrSB.Append(" font-size:11px; ")
StrSB.Append(" background-color:#F7F6F3; ")
StrSB.Append(" text-decoration:none; ")
StrSB.Append(" font-weight:bold; ")
StrSB.Append(" } ")
StrSB.Append(" .Texto ")
StrSB.Append(" { ")
StrSB.Append(" background-color:#F7F6F3; color:Black; font-family:Verdana; font-size:10px; text-align:center; vertical-align:middle; height:20px;")
StrSB.Append(" } ")
StrSB.Append(" .TextoAlterno ")
StrSB.Append(" { ")
StrSB.Append(" background-color:White; color:Black; font-family:Verdana; font-size:10px; text-align:center; ")
StrSB.Append(" vertical-align:middle; height:20px;")
StrSB.Append(" } ")
StrSB.Append(" .BarraIdentidad ")
StrSB.Append(" { ")
StrSB.Append(" color:#FFFFFF; ")
StrSB.Append(" background:#F0F0F0; ")
StrSB.Append(" font-weight:bold; ")
StrSB.Append(" font-size:19px; ")
StrSB.Append(" font-style:oblique; ")
StrSB.Append(" } ")
StrSB.Append(" .Titulos ")
StrSB.Append(" { ")
StrSB.Append(" font-family:Verdana; font-size:12px; text-align:center; ")
StrSB.Append(" vertical-align:middle; font-weight:bold; height:30px; ")
StrSB.Append(" text-decoration:none; ")
StrSB.Append(" } ")
StrSB.Append(" .Verde {color: #00CC00;} ")
StrSB.Append(" .Negro {color: #000000;} ")
StrSB.Append(" .Rojo {color: #FF0000;} ")
StrSB.Append(" </style> ")
StrSB.Append("</head> ")
StrSB.Append("<body> ")
StrSB.Append(" <form> ")
StrSB.Append(" <div> ")
StrSB.Append(" <table border=""1"" rules=""all"" style=""border-collapse: collapse""> ")
StrSB.Append(" <tr> ")
StrSB.Append(" <td align=""center"" class=""Titulos"" colspan=""2"">SIG</td> ")
StrSB.Append(" </tr> ")
StrSB.Append(" <tr class=""Titulos""> ")
Dim Desc As String = String.Empty
If Tipo = 1 Then
Desc = "Notificación de tarea"
ElseIf Tipo = 2 Then
Desc = "Notificación de nueva observación"
ElseIf Tipo = 3 Then
Desc = "Notificación de tarea concluida"
ElseIf Tipo = 4 Then
Desc = "Notificación de tarea devuelta a estatus pendiente"
ElseIf Tipo = 5 Then
Desc = "Notificación de tarea finalizada"
End If
StrSB.AppendFormat(" <td align=""center"" colspan=""2"">{0}</td> ", Desc)
StrSB.Append(" </tr> ")
StrSB.Append(" <tr> ")
StrSB.Append(" <td >&nbsp;<b>De</b></td> ")
StrSB.AppendFormat(" <td class=""Texto"" >&nbsp;{0}</td> ", De)
StrSB.Append(" </tr> ")
StrSB.Append(" <tr> ")
StrSB.Append(" <td >&nbsp;<b>Para</b></td> ")
StrSB.AppendFormat(" <td class=""Texto"" >&nbsp;{0}</td> ", Para)
StrSB.Append(" </tr> ")
StrSB.Append(" <tr> ")
StrSB.Append(" <td >&nbsp;<b>Con Copia Para (CCP)<b></td> ")
StrSB.AppendFormat(" <td class=""Texto"" >&nbsp;{0}</td> ", If(UsuariosCCP.Count > 0, String.Join(", ", UsuariosCCP.ToArray()), "-").ToString())
StrSB.Append(" </tr> ")
StrSB.Append(" <tr> ")
StrSB.Append(" <td >&nbsp;<b>Titulo</b></td> ")
StrSB.AppendFormat(" <td class=""Texto"" >&nbsp;{0}</td> ", Tarea)
StrSB.Append(" </tr> ")
StrSB.Append(" <tr> ")
StrSB.Append(" <td >&nbsp;<b>Fecha</b></td> ")
StrSB.AppendFormat(" <td class=""Texto"">&nbsp;{0}</td> ", Fecha)
StrSB.Append(" </tr> ")
StrSB.Append(" <tr> ")
StrSB.Append(" <td >&nbsp;<b>Prioridad</b></td> ")
StrSB.AppendFormat(" <td class='Texto'>&nbsp;{0}</td> ", Prioridad)
StrSB.Append(" </tr> ")
If CveTipoEvento = 1 Then
Variables = "/OI/EventoDetalle.aspx?CveEvento=" & CveEvento
End If
'If Imagen <> "" Then
' StrSB.Append(" <tr> ")
' StrSB.Append(" <td class=""Titulo"">&nbsp;Imagen</td> ")
' StrSB.Append(" <td><a class=""Texto"" href=""" & Direccion & "/Imagenes/Tareas/" & Imagen & "/" & Imagen & Attchment & """>&nbsp;Ver imagen</a></td> ")
' StrSB.Append(" </tr> ")
'End If
StrSB.Append(" <tr> ")
StrSB.Append(" <td align=""center"" class=""Titulos"" colspan=""2"">&nbsp;Descripción</td> ")
StrSB.Append(" </tr> ")
StrSB.Append(" <tr> ")
StrSB.AppendFormat(" <td colspan=""2"" class='texto'>{0}</td> ", Descripcion)
StrSB.Append(" </tr> ")
'Observaciones
Dim DT As DataTable = DTComentarios.FiltraParametros("", "FechaIng DESC")
If Not DT Is Nothing AndAlso DT.Rows.Count > 0 Then
'StrSB.Append(" <tr> ")
'StrSB.Append(" <td align=""center"" class=""Titulos"" colspan=""2"">&nbsp;Comentarios</td> ")
'StrSB.Append(" </tr> ")
StrSB.Append(" <tr> ")
StrSB.Append(" <td colspan=""2""> ")
StrSB.Append(" <fieldset> ")
StrSB.Append(" <legend>Comentarios</legend> ")
StrSB.Append(" <table width=""100%""> <tr style='background-color:gray;color:White;font-family:Verdana;font-size:10px;text-align:center;vertical-align:middle;font-weight:bold;height:20px;text-decoration:none;'><th scope='col' style='width: 70px'>Fecha</th><th scope='col' style='width: 80px'>Usuario</th><th scope='col' >Comentario</th></tr>")
'StrSB.Append(" <table border=""1"" rules=""all"" style=""border-collapse: collapse;"" width=""100%""><tr class='texto' style='text-align:center;'><td>Fecha</td><td>Usuario</td><td>Comentario</td></tr> ")
For i As Integer = 0 To DT.Rows.Count - 1
StrSB.AppendFormat(" <tr class='{0}'> ", If(i Mod 2 = 0, "Texto", "TextoAlterno"))
StrSB.AppendFormat(" <td width=""100px"">{0}</td> ", DT.Rows(i)("FechaIng"))
StrSB.AppendFormat(" <td width=""150px"">{0}</td> ", DT.Rows(i)("NombreUsuario"))
StrSB.AppendFormat(" <td>{0}</td> ", DT.Rows(i)("EventoComentario"))
StrSB.Append(" </tr> ")
Next
StrSB.Append(" </table> ")
StrSB.Append(" </fieldset> ")
StrSB.Append(" </td> ")
StrSB.Append(" </tr> ")
DT.Dispose()
End If
'If Tipo = 1 Then
' StrSB.Append(" <tr> ")
' StrSB.Append(" <td align=""left"" class=""Titulo"" colspan=""2"">&nbsp;NOTA IMPORTANTE: Si usted asignó la tarea es importante que la de como finalizada en el módulo de tareas.</td> ")
' StrSB.Append(" </tr> ")
'End If
'Liga tarea
StrSB.Append(" <tr> ")
StrSB.AppendFormat(" <td align=""left"" class=""Texto"" colspan=""2"">&nbsp;<a class=""Texto"" href=""{0}{1}"">&nbsp;de click para ir al evento</a></td> ", DireccionURL, Variables)
StrSB.Append(" </tr> ")
StrSB.Append(" </table> ")
StrSB.Append(" </div> ")
StrSB.Append(" </form> ")
StrSB.Append("</body> ")
StrSB.Append("</html> ")
End If
Return StrSB
End Function
Private Sub MandaCorreo()
Dim Mail As New ClsSisMail()
'' TIpoCorreo = 1: Nueva Tarea
If TipoCorreo = 1 Then
'Mail.MandaCorreo(ClsPaginas.EmpresaNotificaciones, ViewState("Para").ToString, ViewState("Asunto").ToString, ViewState("Body").ToString, CType(ViewState("ArrayCC"), String()), DisplayName:=UsuarioActual.Nombre)
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, ViewState("Para").ToString, ViewState("Asunto").ToString, ViewState("Body").ToString, CCP:=ViewState("ArrayCC").ToString, Displayname:=UsuarioActual.Nombre)
'Mail.MandaCorreo(ClsPaginas.EmpresaNotificaciones, ViewState("Para").ToString, ViewState("Asunto").ToString, IfNull(ViewState("RutaPDF"), "").ToString, IfNull(ViewState("RutaXML"), "").ToString, CType(ViewState("ArrayCC"), String()), ViewState("Body").ToString)
Else
'Mail.MandaCorreo(ClsPaginas.EmpresaNotificaciones, ViewState("Para").ToString, ViewState("Asunto").ToString, CType(ViewState("ArrayCC"), String()), ViewState("Body").ToString)
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, ViewState("Para").ToString, ViewState("Asunto").ToString, ViewState("Body").ToString, CCP:=ViewState("ArrayCC").ToString)
End If
End Sub
#End Region
Protected Sub BtnEditarUsuarios_Click(sender As Object, e As EventArgs)
Dim ObjEventos As New ClsOIEventos()
Dim Dt As DataTable = Nothing
If ObjEventos.GetEventosUsuario(CveEvento, UsuarioActual.CveEmpresa) Then
Dt = ObjEventos.DtResultados.FiltraParametros("CveEvento is not null")
Else
Alert("Ocurrió un error al cargar los usuarios CCP. Por favor intente de nuevo.", TipoMensaje.MsgError)
End If
ObjEventos.Dispose()
divUsuarios.Visible = False
divSeleccionUsuarios.Visible = True
GetUsuarios()
If Dt.Rows.Count > 0 Then
Dim Filtro = ""
For Each gvr As GridViewRow In GVUsuarios.Rows
If gvr.DataKey("Empresa").ToString <> "" Then
Filtro = String.Format("CveUsuario = {0}", GVUsuarios.DataKeys(gvr.RowIndex).Values("CveUsuario").ToString.ToEntero)
If Dt.Select(Filtro).Count = 1 Then
gvr.FCCheckBox("ChkCCP").Checked = True
End If
End If
Next
End If
End Sub
Protected Sub BtnGuardarArchivo_Click1(sender As Object, e As EventArgs) Handles BtnGuardarArchivo.Click
Dim FileExtension As String = "-1"
Dim Filesgral As List(Of Archivo) = Anexo.getfiles().Archivos
Dim Filename As String = ""
For Each fileItem As Archivo In Filesgral
FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "")
'Filename = fileItem.filename
Dim tempArray() As String
tempArray = fileItem.filename.ToString().Split("-".ToCharArray())
Session("Eventos") = tempArray(1)
ViewState("FName") = fileItem.filename
File.Move(fileItem.FileUrl, Path.Combine(UsuarioActual.Empresa.Ruta, "OI", "Temp", ViewState("FName").ToString))
TxtArchivo.Text = Session("Eventos").ToString
' imgFileOk.Visible = True
ImgArchivo.Src = "/imagenes/accept.png"
Next
UPAFUL.Update()
RegistraScript("$('#ModalUpload').modal('hide')", "hidemodal1")
A1.Visible = True
'UsuarioActual.Empresa.Ruta
'Session("Eventos")
' If Filename <> "" Then
' Filename.FilesMove(String.Format("OI{0}", ObjEventoBitacora.CveEvento.ToString), String.Format("Empresas\{0}\OI", UsuarioActual.CveEmpresa))
' End If
' GvEB.DataSource = ObjEventoBitacora.DtResultados
' TxtEventoDescripcion.Text = ""
' Anexo.Text = "[]"
' Alert("La bitácora/observación se guardó correctamente", TipoMensaje.MsgInformacion)
' RegistraScript("$('#ModalBitacora').modal('hide')", "hidemodal")
' ObjEventoBitacora.Dispose()
' GvEB.DataBind()
' UPEventoBitacora.Update()
' CargaEventoBitacora()
' UPAddEventoBitacora.Update()
End Sub
Protected Sub btnFileBit_Click(sender As Object, e As EventArgs) Handles btnFileBit.Click
Dim FileExtension As String = "-1"
Dim Filesgral As List(Of Archivo) = txtFileBit.getfiles().Archivos
Dim Filename As String = ""
For Each fileItem As Archivo In Filesgral
FileExtension = IO.Path.GetExtension(String.Format("{0}Temp\{1}", AppDomain.CurrentDomain.BaseDirectory, fileItem.filename)).Replace(".", "")
'Filename = fileItem.filename
Dim tempArray() As String
tempArray = fileItem.filename.ToString().Split("-".ToCharArray())
'Session("Eventos2") = tempArray(1)
Session("Eventos2") = fileItem.filename
File.Move(fileItem.FileUrl, Path.Combine(UsuarioActual.Empresa.Ruta, "OI", "Temp", Session("Eventos2").ToString))
' TxtArchivo.Text = Session("Eventos").ToString
ImgArchivoObs.Src = "/imagenes/accept.png"
Next
UpImgBit.Update()
RegistraScript("$('#ModalUploadBit').modal('hide')", "hidemodal2")
'A1.Visible = True
End Sub
End Class