/*===========================================================================================================================
* Instituto Costarricense de Acueductos y Alcantarillados. - 2015
* Administración de la Seguridad
* Nombre de la Pantalla: frwBusquedaSolicitud.aspx
*
* Explicación de los contenidos del archivo
*===========================================================================================================================
* HISTORIAL
*
* PERSONA DIA – MES - AÑO DESCRIPCIÓN
* Esteban Gutierrez Rapso 20 – 04 - 2015 Se inicia con el diseño de la pagina
* …………………………………………………………
* …………………………………………………………
*===========================================================================================================================
* Derechos Reservados (C) 2015 AyA.
* ESTE CÓDIGO ES PROVEÍDO “TAL CUAL ES” SIN GARANTÍA ALGUNA
* DE NINGÚN TIPO, SEA IMPLICITA O EXPLICITA.
* NO SE PERMITE SU REPRODUCCIÓN PARCIAL O TOTAL, NI SU COMERCIALIZACIÓN
*===========================================================================================================================
*/
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.HtmlControls;
using AyABL;
using AyABL.AUT.Autenticacion;
using AyABL.APL;
using AyADAL;
using System.Configuration;
using AyABL.RCS;
using AyABL.Tran;
using AyABL.Usuario;
using AyABL.AUT.Encripta;
using System.Globalization;
using AyABL.TRA;
using System.IO;
public partial class Forms_Trans_frwProgramacionTrabajo : General
{
#region Inicializar Formulario (R0)
override protected void OnInit(EventArgs e) //M0
{
try
{
base.OnInit(e);
InicializarFormulario();
}
catch (Exception ex)
{
MensajeError("Error en R0M0", ex);
}
}
private void InicializarFormulario() //M1
{
try
{
Response.Cache.SetCacheability(HttpCacheability.NoCache);
construirGridView();
Javascript.CheckAllGridViewItems(Page);
cuwBusquedaList.Buscar += new _controlesusuario_Estandar_cuwBusquedaList.SearchEvent(Buscar);
}
catch (Exception ex)
{
MensajeError("Error en R0M1", ex);
}
}
#endregion
#region Variables (R1)
GridView grvListaDatosTemp;
//string strPKProgramacionSolicitudTMP = "";
#region variables del estandar
ArrayList arlCondicionesFiltroBusqueda = new ArrayList();
#endregion
solicitudBL objSolicitudBL;
//oficinaayaBL objDependenciaBL;
//regionBL objRegionBL;
solicitudBL objresponsableActividadBL;
int nPkSolicitud = 0;
#endregion
#region Eventos Formulario (R2)
protected void Page_Load(object sender, EventArgs e) //M0
{
try
{
lblMensajeConsulta.Visible = false;
//Session["Pagina"] = "frwCartaSolicitud.aspx";
if ((!IsPostBack) && (Session.Count > 0))
{
DateTime dteFechaInicio = new DateTime();
DateTime dteFechaFin = new DateTime();
lblMensajeConsulta.Visible = true;
dteFechaFin = DateTime.Now;
dteFechaInicio = dteFechaFin.AddMonths(-1);
AyABL.AyABL objBL = new AyABL.AyABL();
arlCondicionesFiltroBusqueda = objBL.buscarPorFechas(Tablas.insertasolicitud, DateTime.Now.AddDays(-10), DateTime.Now.AddDays(1), operadorLogico.AND, arlCondicionesFiltroBusqueda);
llenarGridViewPendientes(true,"10");
arlCondicionesFiltroBusqueda = null;
//llenarDDLActividades(true);
//llenarDDLEncargado(true);
lblTituloActividad.Text = "Seleccione una actividad";
lblEstadoA1.Text = "Sin seleccionar";
lblFechaIngresoA1.Text = "Sin seleccionar";
lblFechaResolucionA1.Text = "Sin seleccionar";
lblResponsableA1.Items.Add("Sin asignar");
mostrarFilaTabla(1);
ComandosxMenu();
}
if (Session.Count == 0)
Response.Redirect("../wfrLogin.aspx?sesion=expiro", false);
}
catch (Exception ex)
{
MensajeError("Error en R2M0", ex);
}
}
#endregion
#region Eventos Controles Web (R3)
///
/// Metodo que se utiliza para extraer información del registro de la base de datos y ser mostrado en el acordeon de Controles
///
///
///
protected void grvListaDatos_RowCommand(object sender, GridViewCommandEventArgs e) //M0
{
try
{
Session["PaginaBack"] = "frwProgramacionTrabajo.aspx";
if (e.CommandName == "editar")
{
EncriptaBL objEncripta = new EncriptaBL();
int i = Convert.ToInt32(e.CommandArgument);
GridViewRow selectedRow = grvListaDatos.Rows[i];
Session["PKSOLICITUD"] = selectedRow.Cells[10].Text;
Session["SOLICITUD"] = selectedRow.Cells[3].Text;
Session["PKPROGRAMACION"] = selectedRow.Cells[2].Text;
Session["FKREUTILIZA"] = selectedRow.Cells[11].Text;
Session["FKTIPOINSPECCION"] = selectedRow.Cells[12].Text;
ArrayList arlCondicionesFiltroBusqueda = new ArrayList();
if (Session["PKPROGRAMACION"].ToString() != " ") //se verifica que existe la programcicion de la solicitud
{
solicitudBL objSolicitudBL = new solicitudBL();
objSolicitudBL.objSolicitudEL.PK = int.Parse(Session["PKPROGRAMACION"].ToString());
objSolicitudBL.objSolicitudEL.ORDEN = 1; //la activida de Ingreso y asignacion de expediente
DataSet dsEncargadosActividades = objSolicitudBL.dsListaActividadesEncargado(arlCondicionesFiltroBusqueda);
if (dsEncargadosActividades.Tables[0].Rows.Count > 0) //se verifica que ya se haya asignado la actividad 1
{
Response.Redirect("~/forms/tra/frwNuevaSolicitud.aspx?" + "l=" + objEncripta.Encryptar(Session["LOGIN"].ToString()) + "&u=" + objEncripta.Encryptar(Session["PKUSUARIO"].ToString()) + "&d=deshabilitar");
}
else
{
MensajeAlerta("No se han programado las actividades relacionadas con esta solicitud");
}
}
else
{
MensajeAlerta("No se han programado las actividades relacionadas con esta solicitud");
}
}
if (e.CommandName == "asignar")
{
// ClientScript.RegisterStartupScript(this.GetType(), "AbripPopup", "");
int i = Convert.ToInt32(e.CommandArgument);
GridViewRow selectedRow = grvListaDatos.Rows[i];
Session["PKPROGRAMACION"] = selectedRow.Cells[2].Text;
Session["SOLICITUD"] = selectedRow.Cells[3].Text;
Session["PKSOLICITUD"] = selectedRow.Cells[10].Text;
Session["FKTIPOINSPECCION"] = selectedRow.Cells[12].Text;
Session["FKDEPENDENCIASIGDD"] = selectedRow.Cells[13].Text;
if (Session["PKPROGRAMACION"].ToString() != " ") //se verifica que existe la programcicion de la solicitud
{
int pkSolicitud = int.Parse(selectedRow.Cells[2].Text);
llenarGridViewActividadesEncargado(pkSolicitud);
}
llenarDDLActividades(true);
llenarDDLEncargado(true);
EjecutarScript("VentanaAbrir();");
}
if (e.CommandName == "seguimiento")
{
int i = Convert.ToInt32(e.CommandArgument);
GridViewRow selectedRow = grvListaDatos.Rows[i];
Session["PKPROGRAMACION"] = selectedRow.Cells[2].Text;
Session["FKTIPOINSPECCION"] = selectedRow.Cells[12].Text;
if (Session["PKPROGRAMACION"].ToString() != " ") //se verifica que existe la programcicion de la solicitud
{
int pkProgramacionSolicitud = int.Parse(selectedRow.Cells[2].Text);
Session["SOLICITUD"] = selectedRow.Cells[3].Text;
Session["PKSOLICITUD"] = selectedRow.Cells[10].Text;
EjecutarScript("VentanaAbrirActividades();");
CargarImagenesSeguimientoActividades(pkProgramacionSolicitud);
lblNumeroSolicitud.Text = selectedRow.Cells[3].Text;
}
else
{
MensajeAlerta("No se han asignado las actividades a esta solicitud.");
}
}
}
catch (Exception ex)
{
MensajeError("Error en R3M0", ex);
}
}
///
/// Metodo que se utiliza para la paginación del Grid en caso de que el usuario desee ver mas registros
///
///
///
protected void grvListaDatos_PageIndexChanging(object sender, GridViewPageEventArgs e) //M1
{
try
{
grvListaDatos.PageIndex = e.NewPageIndex;
llenarGridViewPendientes(true, "1000");
}
catch (Exception ex)
{
MensajeError("Error en R3M1", ex);
}
}
///
///Activar el botón de Refrescar
///
///
///
protected void btnRefrescar_Click(object sender, System.Web.UI.ImageClickEventArgs e) //M2
{
try
{
llenarGridViewPendientes(true, "10");
}
catch (Exception ex)
{
MensajeError("Error en R3M2" + MensajesAplicacion.RefrescarFallido.ToString(), ex);
}
}
///
/// Activa el evento del botón Buscar (binoculares)
///
///
///
protected void btnBuscar_Click(object sender, System.Web.UI.ImageClickEventArgs e) //M3
{
try
{
llenarGridViewPendientes(true, "1000");
}
catch(Exception ex)
{
MensajeError("Error en R3M3" + MensajesAplicacion.UsuarioInexistente.ToString(), ex);
}
}
///
/// Buscar usuarios en el Active Directory.
///
///
///
protected void btnBuscar_Click(object sender, EventArgs e) //M4
{
try
{
llenarGridViewPendientes(true, "1000");
}
catch (Exception ex)
{
MensajeError("Error en R3M4" + MensajesAplicacion.BusquedaFallido.ToString(), ex);
}
}
///
/// Salir del popup
///
///
///
protected void btnSalirPopup_Click(object sender, EventArgs e) //M5
{
try
{
Session["PKPROGRAMACION"] = "";
EjecutarScript("VentanaCerrar();");
}
catch (Exception ex)
{
MensajeError("Error en R3M5" + MensajesAplicacion.BusquedaFallido.ToString(), ex);
}
}
///
/// Carga el combo de encargados
///
///
///
protected void ddlActividades_SelectedIndexChanged(object sender, EventArgs e) //M6
{
try
{
llenarDDLEncargado(true);
EjecutarScript("VentanaAbrir();");
}
catch (Exception ex)
{
MensajeError("Error en R3M6" + MensajesAplicacion.BusquedaFallido.ToString(), ex);
}
}
///
/// Asigna actividades a los usuarios
///
///
///
protected void btnAsignarActividades_Click(object sender, EventArgs e) //M7
{
try
{
ViewState["MODO"] = "Nuevo";
AsignaActividadesUsuarios();
llenarGridViewActividadesEncargado(int.Parse(Session["PKPROGRAMACION"].ToString()));
EjecutarScript("VentanaAbrir();;toastr.success('Se asignó la actividad exitosamente', 'Información',toastr.options ={closeButton: true})");
}
catch (Exception ex)
{
//MensajeError("Error en R3M7" + MensajesAplicacion.GuardadoFallido.ToString(), ex);
EjecutarScript("VentanaAbrir();;toastr.error('" + "Error en R3M7" + MensajesAplicacion.GuardadoFallido.ToString() + "', 'Información',toastr.options ={closeButton: true})");
}
}
protected void btnFinalizar_Click(object sender, EventArgs e) //M8
{
try
{
string strAccion = string.Empty;
strAccion = verificarTarea2();
if (strAccion == "aprobar")
{
GuardarDatosActividad(verificarTarea2());
EjecutarScript("VentanaAbrir();;toastr.success('Se asignó la actividad exitosamente', 'Información',toastr.options ={closeButton: true})");
}
else
{
EjecutarScript("VentanaAbrir();;toastr.warning('No se han asignado todas las actividades por lo que no se puede finalizar la actividad.', 'Información',toastr.options ={closeButton: true})");
}
}
catch (Exception ex)
{
// MensajeError("Se presentó un error al finalizar la actividad.", ex);
EjecutarScript("VentanaAbrir();;toastr.error('" + "Error en R3M8" + MensajesAplicacion.GuardadoFallido.ToString() + "', 'Información',toastr.options ={closeButton: true})");
}
}
///
/// Metodo utilizado para eliminar las actividades asignadas al encargado
///
///
///
protected void grvListaAsignaciones_RowCommand(object sender, GridViewCommandEventArgs e) //M8
{
try
{
string strPiePagina = " AVISO DE CONFIDENCIALIDAD: este mensaje y la información incluida en él es confidencial y está dirigida únicamente al destinatario. Puede contener información privilegiada, confidencial, amparada por el secreto profesional o que no debe ser revelada. Si usted ha recibido este correo por error, por favor comunicarlo inmediatamente vía correo y tener la amabilidad de eliminarlo de su sistema. Queda notificado que no deberá copiar este mensaje, ni utilizar, divulgar, publicar o distribuir su contenido de modo alguno. Todo mensaje enviado a esta dirección de correo electrónico puede ser sujeto a inspección por alguien distinto de su receptor originario. La transmisión de correos no garantiza que el correo electrónico sea seguro o libre de error. Por consiguiente, se advierte que esta información pueda estar incompleta o ser poco precisa ya que toda información está sujeta a alterarse sin previo aviso.”";
if (e.CommandName == "borrar")
{
int i = Convert.ToInt32(e.CommandArgument);
GridViewRow selectedRow = grvListaAsignaciones.Rows[i];
Session["PKACTIVIDAD"] = selectedRow.Cells[1].Text;
EliminarActividadesUsuarios(int.Parse(Session["PKACTIVIDAD"].ToString()));
llenarGridViewActividadesEncargado(int.Parse(Session["PKPROGRAMACION"].ToString()));
Session["PKACTIVIDAD"] = "";
EjecutarScript("VentanaAbrir();");
}
if (e.CommandName == "renotificar")
{
int i = Convert.ToInt32(e.CommandArgument);
GridViewRow selectedRow = grvListaAsignaciones.Rows[i];
AyABL.TRA.correoBL objcorreoBL = new AyABL.TRA.correoBL();
objcorreoBL.objcorreoEL.FKNUMSOLICITUD = int.Parse(Session["PKSOLICITUD"].ToString());
// objcorreoBL.objcorreoEL.CORREO = dsActividad.Tables[0].Rows[0]["LOGINUSUARIO"].ToString() + "@aya.go.cr";
objcorreoBL.objcorreoEL.ASUNTO = "Asignación de actividades - SIGDD";
objcorreoBL.objcorreoEL.CONTENIDO = "La solicitud de disponibilidad " + Session["SOLICITUD"].ToString() + " fue enviada para que se continúe con el proceso de " + selectedRow.Cells[2].Text + ", ingrese al sistema SIGDD" + strPiePagina;
objcorreoBL.objcorreoEL.FKUSUARIO = Convert.ToInt32(selectedRow.Cells[4].Text);
objcorreoBL.objcorreoEL.Fecha = DateTime.Now;
int nValorRetornado = objcorreoBL.insertarCorreo();
#region actualizar actividad
GuardarDatosActividad(verificarTarea2());
#endregion
EjecutarScript("VentanaAbrir();toastr.success('Se envió la notificación al responsable', 'Información',toastr.options ={closeButton: true})");
}
}
catch (Exception ex)
{
MensajeError("Error en R3M8", ex);
}
}
protected void grvListaDatos_RowDataBound(object sender, GridViewRowEventArgs e) //M9
{
try
{
if (e.Row.DataItem != null)
{
e.Row.Cells[1].ToolTip = "Solicitud de disponibilidad";
//e.Row.Cells[8].ToolTip = "Asignar actividades";
//e.Row.Cells[9].ToolTip = "Reconsiderar documento";
//e.Row.Cells[10].ToolTip = "Editar documento";
//e.Row.Cells[11].ToolTip = "Firmar documento";
}
}
catch (Exception ex)
{
MensajeError("Se produjo un error al realizar la consulta.", ex);
}
}
protected void btnSalirActividades_Click(object sender, EventArgs e) //M10
{
try
{
Session["PKPROGRAMACION"] = "";
EjecutarScript("VentanaCerrarActividades();");
}
catch (Exception ex)
{
MensajeError("Error en R3M5" + MensajesAplicacion.BusquedaFallido.ToString(), ex);
}
}
protected void Image2_Click(object sender, ImageClickEventArgs e)
{
try
{
CargarSeguimientoActividades(int.Parse(Session["PKPROGRAMACION"].ToString()), 1);
}
catch (Exception ex)
{
MensajeError("Error al mostrar el detalle de la actividad seleccionada", ex);
}
}
protected void Image6_Click(object sender, ImageClickEventArgs e)
{
try
{
CargarSeguimientoActividades(int.Parse(Session["PKPROGRAMACION"].ToString()), 2);
}
catch (Exception ex)
{
MensajeError("Error al mostrar el detalle de la actividad seleccionada", ex);
}
}
protected void Image3_Click(object sender, ImageClickEventArgs e)
{
try
{
CargarSeguimientoActividades(int.Parse(Session["PKPROGRAMACION"].ToString()), 3);
}
catch (Exception ex)
{
MensajeError("Error al mostrar el detalle de la actividad seleccionada", ex);
}
}
protected void Image7_Click(object sender, ImageClickEventArgs e)
{
try
{
CargarSeguimientoActividades(int.Parse(Session["PKPROGRAMACION"].ToString()), 4);
}
catch (Exception ex)
{
MensajeError("Error al mostrar el detalle de la actividad seleccionada", ex);
}
}
protected void Image9_Click(object sender, ImageClickEventArgs e)
{
try
{
CargarSeguimientoActividades(int.Parse(Session["PKPROGRAMACION"].ToString()), 5);
}
catch (Exception ex)
{
MensajeError("Error al mostrar el detalle de la actividad seleccionada", ex);
}
}
protected void Image11_Click(object sender, ImageClickEventArgs e)
{
try
{
CargarSeguimientoActividades(int.Parse(Session["PKPROGRAMACION"].ToString()), 6);
}
catch (Exception ex)
{
MensajeError("Error al mostrar el detalle de la actividad seleccionada", ex);
}
}
protected void Image13_Click(object sender, ImageClickEventArgs e)
{
try
{
CargarSeguimientoActividades(int.Parse(Session["PKPROGRAMACION"].ToString()), 7);
}
catch (Exception ex)
{
MensajeError("Error al mostrar el detalle de la actividad seleccionada", ex);
}
}
protected void grvListaAsignaciones_PageIndexChanging(object sender, GridViewPageEventArgs e)
{
try
{
grvListaAsignaciones.PageIndex = e.NewPageIndex;
llenarGridViewActividadesEncargado(int.Parse(Session["PKPROGRAMACION"].ToString()));
EjecutarScript("VentanaAbrir();");
}
catch (Exception ex)
{
MensajeError("Error en R3M1", ex);
}
}
#endregion
#region Metodos Personalizados (R4)
///
/// Oculta las filas que lo requieran
///
///
private void mostrarFilaTabla(int p_intFila) //M0
{
try
{
divDatosSuperiores.Visible = true;
}
catch (Exception ex)
{
throw ex;
}
}
///
/// Metodo que se utiliza para contruir el Grid al inicio de la pantalla
///
private void construirGridView() //M1
{
try
{
grvListaDatosTemp = (GridView)tdLista.FindControl("grvListaDatos");
GridViewBoundField bdfPkProgramacion = new GridViewBoundField("PKPROGRAMACIONSOLICITUD", "PK", false, false, false);
GridViewBoundField bdfNumSolicitud = new GridViewBoundField("NUMEROSOLICITUDSOLICITUD", "Número solicitud", true, false, true);
GridViewBoundField bdfFechaBitacora = new GridViewBoundField("FECHAINSERTASOLICITUD", "Fecha", true, true, true);
GridViewBoundField bdfPropietario = new GridViewBoundField("DESCRIPCIONTIPODISPONIBILIDAD", "Tipo de trámite", true, false, true);
GridViewBoundField bdfRegion = new GridViewBoundField("DESCRIPCIONTIPOINSPECCION", "Tipo de servicio", true, false, true);
GridViewBoundField bdfOficina = new GridViewBoundField("UBICACION", "Localización", true, false, true);
GridViewBoundField bdfPlano = new GridViewBoundField("CLASIFICACIONSOLICITUD", "Densidad", true, false, true);
GridViewBoundField bdfEstado = new GridViewBoundField("DESCRIPCIONESTADOPROGRAMACION", "Estado", true, false, true);
GridViewBoundField bdfPkSolicitud = new GridViewBoundField("PKSOLICITUD", "PK", false, false, false);
GridViewBoundField bdfFkReutiliza = new GridViewBoundField("FKREUTILIZA", "FK", false, false, false);
GridViewBoundField bdfFkTipoInspeccion = new GridViewBoundField("FKTIPOINSPECCION", "FK", false, false, false);
GridViewBoundField bdfFkDependenciaSIGDD = new GridViewBoundField("FKDEPENDENCIASIGDD", "FK", false, false, false);
grvListaDatosTemp.Columns.Add(bdfPkProgramacion);
grvListaDatosTemp.Columns.Add(bdfNumSolicitud);
grvListaDatosTemp.Columns.Add(bdfFechaBitacora);
grvListaDatosTemp.Columns.Add(bdfPropietario);
grvListaDatosTemp.Columns.Add(bdfRegion);
grvListaDatosTemp.Columns.Add(bdfOficina);
grvListaDatosTemp.Columns.Add(bdfPlano);
grvListaDatosTemp.Columns.Add(bdfEstado);
grvListaDatosTemp.Columns.Add(bdfPkSolicitud);
grvListaDatosTemp.Columns.Add(bdfFkReutiliza);
grvListaDatosTemp.Columns.Add(bdfFkTipoInspeccion);
grvListaDatosTemp.Columns.Add(bdfFkDependenciaSIGDD);
grvListaDatosTemp.Columns[0].ItemStyle.Width = 25;
grvListaDatosTemp.Columns[1].ItemStyle.Width = 25;
grvListaDatosTemp.Columns[5].ItemStyle.Width = 200;
cuwBusquedaList.LlenarCHKLBusqueda(grvListaDatosTemp);
ButtonField bf = new ButtonField();
bf.ButtonType= ButtonType.Image;
bf.Text = "Asignar actividades";
bf.HeaderText = "";
bf.ImageUrl = "~/Images/MiniBotones/Asignar.png";
bf.CommandName = "asignar";
grvListaDatosTemp.Columns.Add(bf);
ButtonField bfActividades = new ButtonField();
bfActividades.ButtonType = ButtonType.Image;
bfActividades.Text = "Seguimiento";
bfActividades.HeaderText = "Acciones";
bfActividades.ImageUrl = "~/Images/MiniBotones/Seguimiento.png";
bfActividades.CommandName = "seguimiento";
grvListaDatosTemp.Columns.Add(bfActividades);
//grvListaDatosTemp.RowDataBound += new GridViewRowEventHandler(grvListaDatos_RowDataBound);
}
catch (Exception ex)
{
throw ex;
}
}
///
/// Metodo que se encarga de agregar el filtro de busqueda seleccionado por el usuario
///
///
private void condicionesBusqueda() //M2
{
AyABL.AyABL objBL = new AyABL.AyABL();
CondicionDAL condicion;
DateTime dteFechaInicio = new DateTime();
DateTime dteFechaFin = new DateTime();
ListItem li = new ListItem();
string p_parametros;
p_parametros = this.cuwBusquedaList.getValorBusqueda();
try
{
if (p_parametros != "")
{
//aqui se construye el listItem con los datos que vienen del control en formato {valor : texto , valor : texto}
char[] separadorTuplas = { ',' };
char[] separadorValores = { ':' };
string[] arrayTupla = p_parametros.Split(separadorTuplas);
for (int i = 0; i <= (arrayTupla.Length - 1); i++)
{
if (arrayTupla[i].ToString() != "")
{
string[] arrayValores = arrayTupla[i].ToString().Split(separadorValores);
li = new ListItem(arrayValores[1], arrayValores[0]);
if (li.Value.Contains("FECHA") && li.Text != string.Empty)
{
if (li.Value.Contains("INICIO"))
{
dteFechaInicio = Convert.ToDateTime(li.Text.ToString());
dteFechaFin = DateTime.Now;
}
if (li.Value.Contains("FIN"))
{
dteFechaFin = Convert.ToDateTime(li.Text.ToString());
if (dteFechaFin != null || dteFechaInicio != null)
if (dteFechaInicio < dteFechaFin || dteFechaFin == dteFechaInicio)
{
objBL = new AyABL.AyABL();
arlCondicionesFiltroBusqueda = objBL.buscarPorFechas(Tablas.insertasolicitud, dteFechaInicio, dteFechaFin, operadorLogico.AND, arlCondicionesFiltroBusqueda);
}
else
MensajeInformativo(AyABL.BASESDEDATOS.ADS + "Interfaz: " + "Verifique que la Fecha de Inicio sea menor que la Fecha Final" + "M2");
else
MensajeInformativo(AyABL.BASESDEDATOS.ADS + "Interfaz: " + "Verifique que los campos de las fechas no estén vacíos" + "M2");
}
else
{
objBL = new AyABL.AyABL();
arlCondicionesFiltroBusqueda = objBL.buscarPorFechas(Tablas.insertasolicitud, dteFechaInicio, dteFechaFin, operadorLogico.AND, arlCondicionesFiltroBusqueda);
}
}
else
{
if (li.Value.Contains("booleano") && li.Text != "2")
{
condicion = new CondicionDAL();
char[] separadorColumna = { '|' };
string[] strColumna = li.Value.Split(separadorColumna);
condicion.valorIzquierdo = strColumna[1].ToString();
condicion.operadorGeneral = operadorGeneral.EQUAL;
condicion.operadorLogico = operadorLogico.AND;
condicion.valorDerecho = li.Text.Trim();
arlCondicionesFiltroBusqueda.Add(condicion);
}
else
{
if (li.Text != string.Empty && !li.Value.Contains("booleano"))
{
condicion = new CondicionDAL();
condicion.valorIzquierdo = li.Value;
condicion.operadorGeneral = operadorGeneral.LIKEALL;
condicion.operadorLogico = operadorLogico.AND;
condicion.valorDerecho = "%" + li.Text.Trim() + "%";
arlCondicionesFiltroBusqueda.Add(condicion);
}
}
}
}
}
}
}
catch (Exception ex)
{
throw ex;
}
}
///
/// Metodo que se utiliza con el buscador de la parte superior de la pantalla, y hace que se despliegue la información de acuerdo
/// a lo solicitado
/// |
private void Buscar() //M3
{
try
{
llenarGridViewPendientes(true, "1000");
}
catch (Exception ex)
{
throw ex;
}
}
///
/// Metodo que se utiliza para el despliegue de los botones
///
private void ComandosxMenu() //M4
{
try
{
DataSet dsComandos = getComandos();
if (dsComandos != null)
{
foreach (DataRow drTemp in dsComandos.Tables[0].Rows)
{
switch (drTemp["NOMBRECOMANDO"].ToString().ToUpper())
{
case "NUEVO":
break;
case "MODIFICA":
//Inicio de variable tipo VIEWSTATE
ViewState["PUEDEMODIFICAR"] = true;
break;
}
}
}
}
catch (Exception ex)
{
throw ex;
}
}
///
/// Limpia los campos
///
private void limpiarCampos()
{
}
#endregion
#region Metodos Controles a Datos (R5)
private int AsignaActividadesUsuarios() //M0
{
ActividadesBL objActividadesBL = new ActividadesBL();
int nValorRetornado = 0;
string strPiePagina = " AVISO DE CONFIDENCIALIDAD: este mensaje y la información incluida en él es confidencial y está dirigida únicamente al destinatario. Puede contener información privilegiada, confidencial, amparada por el secreto profesional o que no debe ser revelada. Si usted ha recibido este correo por error, por favor comunicarlo inmediatamente vía correo y tener la amabilidad de eliminarlo de su sistema. Queda notificado que no deberá copiar este mensaje, ni utilizar, divulgar, publicar o distribuir su contenido de modo alguno. Todo mensaje enviado a esta dirección de correo electrónico puede ser sujeto a inspección por alguien distinto de su receptor originario. La transmisión de correos no garantiza que el correo electrónico sea seguro o libre de error. Por consiguiente, se advierte que esta información pueda estar incompleta o ser poco precisa ya que toda información está sujeta a alterarse sin previo aviso.”";
try
{
string strModo = ViewState["MODO"].ToString();
if (ddlActividades.SelectedValue != "-1")
{
if (ddlEncargado.SelectedValue != "-1")
{
objresponsableActividadBL = new solicitudBL();
objresponsableActividadBL.objresponsableActividadEL.FECHAASIGNACION = DateTime.Now;
objresponsableActividadBL.objresponsableActividadEL.FECHARECIBIDO = DateTime.Now.AddDays(-1);
objresponsableActividadBL.objresponsableActividadEL.FECHADEVOLUCION = DateTime.Now.AddDays(-1);
objresponsableActividadBL.objresponsableActividadEL.VALIDACIONFIRMA = false;
objresponsableActividadBL.objresponsableActividadEL.FKACTIVIDAD = int.Parse(ddlActividades.SelectedValue);
objresponsableActividadBL.objresponsableActividadEL.FKUSUARIOXDEPENDENCIA = int.Parse(ddlEncargado.SelectedValue);
objresponsableActividadBL.objresponsableActividadEL.FKESTADO = 1;//asignada
objresponsableActividadBL.objresponsableActividadEL.ASTATE = true;
if (Session["PKPROGRAMACION"].ToString() == " ") //se verifica que ya se haya asignado la actividad 1
{
programacionsolicitudBL objprogramacionsolicitudBL = new programacionsolicitudBL();
objprogramacionsolicitudBL.objprogramacionsolicitudEL.FKESTADOPROGRAMACION = 1;
objprogramacionsolicitudBL.objprogramacionsolicitudEL.FKSOLICITUD = int.Parse(Session["PKSOLICITUD"].ToString());
int nPKProgramacionSolicitud = objprogramacionsolicitudBL.insertarprogramacionsolicitud();
objresponsableActividadBL.objresponsableActividadEL.FKPROGRAMACIONSOLICITUD = nPKProgramacionSolicitud;
Session["PKPROGRAMACION"] = nPKProgramacionSolicitud;
}
else
{
objresponsableActividadBL.objresponsableActividadEL.FKPROGRAMACIONSOLICITUD = int.Parse(Session["PKPROGRAMACION"].ToString());
}
if (strModo == "Nuevo")
{
objSolicitudBL = new solicitudBL();
objSolicitudBL.objSolicitudEL.PK = int.Parse(Session["PKPROGRAMACION"].ToString());
objSolicitudBL.objSolicitudEL.FKSOLICITUD = int.Parse(Session["PKSOLICITUD"].ToString());
objSolicitudBL.objSolicitudEL.FKUSUARIOXDEPENDENCIA = int.Parse(ddlEncargado.SelectedValue);
objSolicitudBL.objSolicitudEL.FKACTIVIDAD = int.Parse(ddlActividades.SelectedValue);
DataSet dsActividad = objSolicitudBL.dsListaActividadesEncargado(arlCondicionesFiltroBusqueda);
if (dsActividad.Tables[0].Rows.Count == 0)
{
nValorRetornado = objresponsableActividadBL.insertarAsignacionActividadEncargado();
if (nValorRetornado > 0)
{
#region Envio de notificacion
notificacionBL objNotificacionBL = new notificacionBL();
objNotificacionBL.objnotificacionEL.FK_DEPARTAMENTO = Session["DEPENDENCIA"].ToString();
objNotificacionBL.objnotificacionEL.FK_TIPO_DOCUMENTO = "Memorando";
objNotificacionBL.objnotificacionEL.HECHO_POR_USUARIO = Session["LOGIN"].ToString();
objNotificacionBL.objnotificacionEL.HECHO_POR_NOMBRE = Session["NOMBREEMPLEADO"].ToString();
objNotificacionBL.objnotificacionEL.HECHO_POR_CORREO = Session["LOGIN"].ToString() + "@aya.go.cr";
//obtener los datos del encargado
arlCondicionesFiltroBusqueda = new ArrayList();
objActividadesBL.objactividadesEL.Activo = true;
objActividadesBL.objactividadesEL.PK = int.Parse(ddlActividades.SelectedValue);
objActividadesBL.objactividadesEL.FK = int.Parse(ddlEncargado.SelectedValue);
dsActividad = objActividadesBL.dsListaActividad(arlCondicionesFiltroBusqueda);
if (dsActividad.Tables[0].Rows.Count != 0)
{
objNotificacionBL.objnotificacionEL.PARA_USUARIO = dsActividad.Tables[0].Rows[0]["LOGINUSUARIO"].ToString();
objNotificacionBL.objnotificacionEL.PARA_NOMBRE = dsActividad.Tables[0].Rows[0]["NOMBRECOMPLETO"].ToString();
objNotificacionBL.objnotificacionEL.PARA_CORREO = dsActividad.Tables[0].Rows[0]["LOGINUSUARIO"].ToString() + "@aya.go.cr";
}
else
return 0;
objNotificacionBL.objnotificacionEL.ID_DOCUMENTO = Session["SOLICITUD"].ToString() + " - " + ddlActividades.SelectedItem.Text + " - " + objNotificacionBL.objnotificacionEL.PARA_USUARIO;
objNotificacionBL.objnotificacionEL.ASUNTO = "Atraso en la actividad " + ddlActividades.SelectedItem.Text;
objNotificacionBL.objnotificacionEL.CUERPO = "La solicitud " + Session["SOLICITUD"].ToString() + " no ha sido atendida en el plazo establecido.Este es un mensaje generado de forma automática por la cual NO DEBE SER RESPONDIDO. Ingrese al sistema SIGDD" + strPiePagina;
objNotificacionBL.objnotificacionEL.ESTADO = 1;//Estado : En proceso
//calcular la fecha en base a la actividad, tipo de proyecto,
objActividadesBL.objactividadesEL.NUMEROSOLICITUD = Session["SOLICITUD"].ToString();
DataSet dsActividadTiempo = objActividadesBL.dsListaTiempoActividadxProyecto(arlCondicionesFiltroBusqueda);
if (dsActividadTiempo.Tables[0].Rows.Count != 0)
{
Double nCantidadDias = Double.Parse(dsActividadTiempo.Tables[0].Rows[0]["TIEMPO"].ToString());
DateTime dtFechaVence = DateTime.Now.AddDays(nCantidadDias + 1);
objNotificacionBL.objnotificacionEL.FECHA_VENCE = dtFechaVence.ToShortDateString();
}
objNotificacionBL.objnotificacionEL.TIPO_PERIOCIDAD = "DD";
objNotificacionBL.objnotificacionEL.VALOR_PERIOCIDAD = 1;
objNotificacionBL.objnotificacionEL.status = "00";
objNotificacionBL.objnotificacionEL.message = "OK";
nValorRetornado = objNotificacionBL.insertarNotificacion(objNotificacionBL.objnotificacionEL);
#endregion
#region Envio de correo
//arlCondicionesFiltroBusqueda = new ArrayList();
//condicionesBusqueda();
//objSolicitudBL = new solicitudBL();
//objSolicitudBL.objSolicitudEL.PK = int.Parse(Session["PKPROGRAMACION"].ToString());
//{
// DataSet dsEncargadosActividades = objSolicitudBL.dsListaActividadesEncargado(arlCondicionesFiltroBusqueda);
// if (dsEncargadosActividades.Tables.Count > 0)
// {
// nPkSolicitud = Convert.ToInt32(dsEncargadosActividades.Tables[0].Rows[0][1].ToString());//AQUI INSERTAMOS LA PK DE LA SOLICITUD
// }
//}
//AyABL.TRA.correoBL objcorreoBL = new AyABL.TRA.correoBL();
//objcorreoBL.objcorreoEL.FKNUMSOLICITUD = nPkSolicitud;
//// objcorreoBL.objcorreoEL.CORREO = dsActividad.Tables[0].Rows[0]["LOGINUSUARIO"].ToString() + "@aya.go.cr";
//objcorreoBL.objcorreoEL.ASUNTO = "Asignación de actividades - SIGDD";
//objcorreoBL.objcorreoEL.CONTENIDO = "La solicitud de disponibilidad " + Session["SOLICITUD"].ToString() + " fue enviada para que se continúe con el proceso de " + ddlActividades.SelectedItem.Text + ", ingrese al sistema SIGDD" + strPiePagina;
//objcorreoBL.objcorreoEL.FKUSUARIO = Convert.ToInt32(dsActividad.Tables[0].Rows[0]["PKUSUARIOXDEPENDENCIA"].ToString());
//objcorreoBL.objcorreoEL.Fecha = DateTime.Now;
//nValorRetornado = objcorreoBL.insertarCorreo();
#endregion
}
GuardarEventoBitacora(
Session["LOGIN"].ToString(),
AccionBitacora.INSERT.ToString(),
MensajesBitacora.IngresarRegistro + ": Se ha ingresado la actividad " + ddlActividades.Text.Trim() + " de la solicitud " + Session["SOLICITUD"].ToString(),
"frwProgramacionTrabajo.aspx",
Convert.ToInt32(ConfigurationManager.AppSettings["pkApp"])
);
}
else
{
// MensajeAlerta("El usuario ya tiene asignada la actividad.");
string p_strMensaje = "El usuario ya tiene asignada la actividad.";
EjecutarScript("VentanaAbrir();toastr.warning('" + p_strMensaje + "', 'Información',toastr.options ={closeButton: true})");
}
}
}
else
{
//MensajeAlerta("Debe seleccionar el usuario encargado antes de continuar ");
string p_strMensaje = "Debe seleccionar el usuario encargado antes de continuar";
EjecutarScript("VentanaAbrir();toastr.warning('" + p_strMensaje + "', 'Información',toastr.options ={closeButton: true})");
ddlEncargado.Focus();
}
}
else
{
//MensajeAlerta("Debe seleccionar la actividad antes de continuar");
string p_strMensaje = "Debe seleccionar la actividad antes de continuar";
EjecutarScript("VentanaAbrir();toastr.warning('" + p_strMensaje + "', 'Información',toastr.options ={closeButton: true})");
ddlActividades.Focus();
}
}
catch (Exception ex)
{
throw ex;
}
return nValorRetornado;
}
///
/// guarda y modifica registros en la tabla.
///
///
///
private int GuardarDatosActividad(string p_accion)
{
int nValorRetornado = 0;
try
{
//string strModo = ViewState["MODO"].ToString();
int nPkSolicitud = 0;
int nResultadoActualizar = 0;
string strMensajeContenido = "";
string strAsuntoCorreo = "";
string strPiePagina = " AVISO DE CONFIDENCIALIDAD: este mensaje y la información incluida en él es confidencial y está dirigida únicamente al destinatario. Puede contener información privilegiada, confidencial, amparada por el secreto profesional o que no debe ser revelada. Si usted ha recibido este correo por error, por favor comunicarlo inmediatamente vía correo y tener la amabilidad de eliminarlo de su sistema. Queda notificado que no deberá copiar este mensaje, ni utilizar, divulgar, publicar o distribuir su contenido de modo alguno. Todo mensaje enviado a esta dirección de correo electrónico puede ser sujeto a inspección por alguien distinto de su receptor originario. La transmisión de correos no garantiza que el correo electrónico sea seguro o libre de error. Por consiguiente, se advierte que esta información pueda estar incompleta o ser poco precisa ya que toda información está sujeta a alterarse sin previo aviso.”";
solicitudBL objSolicitudBL = new solicitudBL();
objSolicitudBL.objSolicitudEL.PK = int.Parse(Session["PKPROGRAMACION"].ToString());
objSolicitudBL.objSolicitudEL.ORDEN = 2;
DataSet dsEncargadosActividades = objSolicitudBL.dsListaActividadesEncargado(null);
if (dsEncargadosActividades.Tables[0].Rows.Count > 0)
{
string strEncargadoActividad = dsEncargadosActividades.Tables[0].Rows[0]["PKRESPONSABLEACTIVIDAD"].ToString();
//ObservacionesActividadesBL objObservacionesBL = new ObservacionesActividadesBL();
////objObservacionesBL.objobservacionesEL.FKNUMSOLICITUD = strNumSolicitudTMP;
//objObservacionesBL.objobservacionesEL.DESCRIPCION = "\n" + DateTime.Now.ToString()+ " - " + Session["NOMBREEMPLEADO"].ToString() + " - Se finaliza la actividad programación de trabajo del formulario" + Session["SOLICITUD"].ToString() + " por parte del usuario" + Session["NOMBREEMPLEADO"].ToString();
//objObservacionesBL.objobservacionesEL.FKUSUARIOXDEPENDENCIA = int.Parse(Session["PKUSUARIOXDEPENDENCIA"].ToString());
//objObservacionesBL.objobservacionesEL.PKRESPONSABLEACTIVIDAD = int.Parse(strEncargadoActividad);
//objObservacionesBL.objobservacionesEL.Fecha = DateTime.Now;
//objObservacionesBL.objobservacionesEL.TIPO = 1;
////objObservacionesBL.objobservacionesEL.FKSOLICITUD = nPKSolicitud;
////objObservacionesBL.objobservacionesEL.USUARIO = Session["LOGIN"].ToString();
//nValorRetornado = objObservacionesBL.insertarObservacionActividad();
//if (nValorRetornado != 0)
{
solicitudBL objSolicitud = new solicitudBL();
//objSolicitud.objresponsableActividadEL.PK = int.Parse(Session["PKRESPONSABLEACTIVIDAD"].ToString());
//poner la actividad actual en estado correspondiente
foreach (DataRow row in dsEncargadosActividades.Tables[0].Rows)
{
objSolicitud.objresponsableActividadEL.PK = int.Parse(row["PKRESPONSABLEACTIVIDAD"].ToString());
objSolicitud.objresponsableActividadEL.FECHADEVOLUCION = DateTime.Now;
if (p_accion == "aprobar")
{
decimal nTiempoActividad = 0;
if (row["CLASIFICACIONSOLICITUD"].ToString() == "Crecimiento vegetativo")
nTiempoActividad = decimal.Parse(row["TIEMPOCVACTIVIDAD"].ToString());
if (row["CLASIFICACIONSOLICITUD"].ToString() == "Desarrollo urbanistico")
nTiempoActividad = decimal.Parse(row["TIEMPODUACTIVIDAD"].ToString());
char[] separadorColumna = { '.' };
string[] strArrayTiempo = nTiempoActividad.ToString().Replace(",", ".").Split(separadorColumna);
DateTime dtFechaRecibido = DateTime.Parse(row["FECHAASIGNACIONRESPONSABLEACTIVIDAD"].ToString()).AddDays(double.Parse(strArrayTiempo[0].ToString()));
if (double.Parse(strArrayTiempo[1].ToString()) > 0)
dtFechaRecibido = dtFechaRecibido.AddHours(4);
if (dtFechaRecibido > DateTime.Now)
objSolicitud.objresponsableActividadEL.FKESTADO = 5;//finalizada a tiempo t_sgm_estadoactividad
else
objSolicitud.objresponsableActividadEL.FKESTADO = 8;//finalizada fuera de tiempo t_sgm_estadoactividad
strMensajeContenido = "La actividad programación de trabajo de la solicitud N° " + Session["SOLICITUD"].ToString() + " ha sido concluida para ver los detalles, ingrese al sistema SIGDD" + strPiePagina;
strAsuntoCorreo = "Conclusión de actividad - SIGDD";
nResultadoActualizar = objSolicitud.actualizarActividadSolicitud();
if (nResultadoActualizar > 0)
{
#region Envio de correo
//Requerimiento 13
//AyABL.TRA.correoBL objcorreoBL = new AyABL.TRA.correoBL();
//nPkSolicitud = Convert.ToInt32(row[1].ToString());//AQUI INSERTAMOS LA PK DE LA SOLICITUD
//objcorreoBL.objcorreoEL.FKNUMSOLICITUD = nPkSolicitud;
//// objcorreoBL.objcorreoEL.CORREO = dsActividad.Tables[0].Rows[0]["LOGINUSUARIO"].ToString() + "@aya.go.cr";
//objcorreoBL.objcorreoEL.ASUNTO = "Estado de actividad - SIGDD";
//objcorreoBL.objcorreoEL.CONTENIDO = strMensajeContenido;
//objcorreoBL.objcorreoEL.FKUSUARIO = Convert.ToInt32(row["FKUSUARIOXDEPENDENCIA"].ToString());
//objcorreoBL.objcorreoEL.Fecha = DateTime.Now;
//nValorRetornado = objcorreoBL.insertarCorreo();
#endregion
//cancelar notificacion
notificacionBL objNotificacionBL = new notificacionBL();
objNotificacionBL.objnotificacionEL.ID_DOCUMENTO = Session["SOLICITUD"].ToString() + " - Programación de trabajo";
objNotificacionBL.objnotificacionEL.status = "00";
objNotificacionBL.objnotificacionEL.message = "OK";
//nValorRetornado = objNotificacionBL.cancelarNotificacion(objNotificacionBL.objnotificacionEL);
GuardarEventoBitacora(
Session["LOGIN"].ToString(),
AccionBitacora.INSERT.ToString(),
MensajesBitacora.IngresarRegistro + ": La actividad programación de trabajo de la solicitud N° " + Session["SOLICITUD"].ToString() + " ha sido finalizada por parte del encargado de la actividad: " + Session["NOMBREEMPLEADO"].ToString().Trim(),
Path.GetFileNameWithoutExtension(Page.AppRelativeVirtualPath),
Convert.ToInt32(ConfigurationManager.AppSettings["pkApp"])
);
}
}
}
if (p_accion == "pendiente")
{
//Poner la actividad 2 programacion en pendiente(3)
objSolicitudBL = new solicitudBL();
objSolicitudBL.objSolicitudEL.PK = int.Parse(Session["PKPROGRAMACION"].ToString());
objSolicitudBL.objSolicitudEL.ORDEN = 2;
dsEncargadosActividades = objSolicitudBL.dsListaActividadesEncargado(null);
foreach (DataRow row in dsEncargadosActividades.Tables[0].Rows)
{
objSolicitud.objresponsableActividadEL.PK = int.Parse(row["PKRESPONSABLEACTIVIDAD"].ToString()); ;
objSolicitud.objresponsableActividadEL.FKESTADO = 3;//pendiente t_sgm_estadoactividad
nResultadoActualizar = objSolicitud.actualizarActividadSolicitud();
}
}
}
}
//GuardarEventoBitacora(
// Session["LOGIN"].ToString(),
// AccionBitacora.INSERT.ToString(),
// MensajesBitacora.IngresarRegistro + ": Se ingreso una nueva observacion por el estado de la actividad: La actividad 2 ha sido asignada por: " + Session["NOMBREEMPLEADO"].ToString().Trim(),
// "frwObservacionesActividades.aspx",
// Convert.ToInt32(ConfigurationManager.AppSettings["pkApp"])
// );
}
catch (Exception ex)
{
throw ex;
}
return nValorRetornado;
}
private string verificarTarea2()
{
string strValorRetornado = "pendiente";
bool bActividad1 = false;
bool bActividad2 = false;
bool bActividad3 = false;
bool bActividad4 = false;
bool bActividad5 = false;
bool bActividad6 = false;
bool bActividad7 = false;
try
{
solicitudBL objSolicitudBL = new solicitudBL();
objSolicitudBL.objSolicitudEL.PK = int.Parse(Session["PKPROGRAMACION"].ToString());
//objSolicitudBL.objSolicitudEL.ORDEN = 2;
DataSet dsEncargadosActividades = objSolicitudBL.dsListaActividadesEncargado(null);
foreach (DataRow row in dsEncargadosActividades.Tables[0].Rows)
{
int nActividad = int.Parse(row["ORDENACTIVIDAD"].ToString());
if (nActividad == 1)
bActividad1 = true;
if (nActividad == 2 )
bActividad2 = true;
if (nActividad == 3 || int.Parse(row["FKTIPOINSPECCION"].ToString()) == 2)
bActividad3 = true;
if (nActividad == 4 || int.Parse(row["FKTIPOINSPECCION"].ToString()) ==1 )
bActividad4 = true;
if (nActividad == 5 )
bActividad5 = true;
if (nActividad == 6 )
bActividad6 = true;
if (nActividad == 7 )
bActividad7 = true;
}
if (bActividad1 == true &&
bActividad2 == true &&
bActividad3 == true &&
bActividad4 == true &&
bActividad5 == true &&
bActividad6 == true &&
bActividad7 == true )
strValorRetornado = "aprobar";
}
catch (Exception ex)
{
throw ex;
}
return strValorRetornado;
}
private int EliminarActividadesUsuarios(int n_pPkActividadUsuario) //M0
{
int nValorRetornado = 0;
try
{
if (Session["SOLICITUD"] != null && Session["PKUSUARIOXDEPENDENCIA"] != null)
{
solicitudBL objSolicitudBL = new solicitudBL();
objSolicitudBL.objSolicitudEL.PK = int.Parse(Session["PKPROGRAMACION"].ToString());
objSolicitudBL.objSolicitudEL.ORDEN = 2;//se valida la tarea 2 si ya esta finalizada no se pueden quitar los responsables de actividades
objSolicitudBL.objSolicitudEL.FKESTADO = 5;
objSolicitudBL.objSolicitudEL.FKESTADO2 = 8;
DataSet dsEncargadosActividades = objSolicitudBL.dsListaActividadesEncargado(null);
if (dsEncargadosActividades.Tables[0].Rows.Count == 0)
{
ObservacionesActividadesBL objObservacionesBL = new ObservacionesActividadesBL();
objObservacionesBL.objobservacionesEL.PKSOLICITUD = int.Parse(Session["PKSOLICITUD"].ToString());
objObservacionesBL.objobservacionesEL.PKPROGRAMACIONSOLICITUD = int.Parse(Session["PKPROGRAMACION"].ToString());
//objObservacionesBL.objobservacionesEL.PKACTIVIDAD = int.Parse(Session["NACTIVIDAD"].ToString());
objObservacionesBL.objobservacionesEL.PKRESPONSABLEACTIVIDAD = n_pPkActividadUsuario;
DataSet dsObservaciones = objObservacionesBL.dsListarObservacionesActividades(null);
if (dsObservaciones.Tables[0].Rows.Count == 0)
{
objresponsableActividadBL = new solicitudBL();
objresponsableActividadBL.objresponsableActividadEL.PK = n_pPkActividadUsuario;
nValorRetornado = objresponsableActividadBL.eliminarAsignacionActividadEncargado();
GuardarEventoBitacora(
Session["LOGIN"].ToString(),
AccionBitacora.INSERT.ToString(),
MensajesBitacora.IngresarRegistro + ": Se ha eliminado la actividad " + n_pPkActividadUsuario.ToString(),
"frwProgramacionTrabajo.aspx",
Convert.ToInt32(ConfigurationManager.AppSettings["pkApp"])
);
}
else
{
//MensajeAlerta("El registro no puede ser eliminado ya que esta asociado a otro flujo de la solicitud");
EjecutarScript("VentanaAbrir();toastr.warning('El registro no puede ser eliminado ya que esta asociado a otro flujo de la solicitud', 'Información',toastr.options ={closeButton: true})");
}
}
else
{
EjecutarScript("VentanaAbrir();toastr.warning('El registro no puede ser eliminado la tarea de asignación de actividades se encuentra finalizada', 'Información',toastr.options ={closeButton: true})");
}
}
else
Response.Redirect("../wfrLogin.aspx?sesion=expiro", false);
}
catch (Exception ex)
{
throw ex;
}
return nValorRetornado;
}
#endregion
#region Metodos Datos a Controles (R6)
///
/// Carga el grid principal
///
///
private void llenarGridView(bool p_Llenar) //M0
{
try
{
if (!IsPostBack || p_Llenar)
{
condicionesBusqueda();
objSolicitudBL = new solicitudBL();
int nAccesoInformacion = 0;
if (Session["ACCESOINSORMACION"] != null)
nAccesoInformacion = int.Parse(Session["ACCESOINSORMACION"].ToString());
if (nAccesoInformacion == 1 ) //1:region -- 0:Todo
objSolicitudBL.objSolicitudEL.FKREGION = int.Parse(Session["REGION"].ToString());
if (nAccesoInformacion == 2 )//2:Dependencia -- 0:Todo
{
//objSolicitudBL.objSolicitudEL.FKREGION = int.Parse(Session["REGION"].ToString());
//objSolicitudBL.objSolicitudEL.FKDEPENDENCIA = int.Parse(Session["DEPENDENCIA"].ToString());
objSolicitudBL.objSolicitudEL.LISTADODEPENDENCIAS = Session["LISTADEPENDENCIAS"].ToString();
}
if (arlCondicionesFiltroBusqueda.Count > 0)
{
DataSet dsUsuarios = objSolicitudBL.dsListaSolicitudProgramacion(arlCondicionesFiltroBusqueda);
General.detalleGridView(dsUsuarios, grvListaDatosTemp, lblTotalDatos);
}
else
{
MensajeAlerta("Debe agregar filtros para la busqueda");
}
}
}
catch (Exception ex)
{
throw ex;
}
}
///
/// Carga el grid principal
///
///
private void llenarGridViewPendientes(bool p_Llenar,string strTop) //M0
{
try
{
if (!IsPostBack || p_Llenar)
{
//arlCondicionesFiltroBusqueda = new ArrayList();
condicionesBusqueda();
objSolicitudBL = new solicitudBL();
int nAccesoInformacion = 0;
if (Session["ACCESOINSORMACION"] != null)
nAccesoInformacion = int.Parse(Session["ACCESOINSORMACION"].ToString());
if (nAccesoInformacion == 1) //1:region -- 0:Todo
objSolicitudBL.objSolicitudEL.FKREGION = int.Parse(Session["REGION"].ToString());
//if (nAccesoInformacion == 2)//2:Dependencia -- 0:Todo
//{
// objSolicitudBL.objSolicitudEL.FKREGION = int.Parse(Session["REGION"].ToString());
// objSolicitudBL.objSolicitudEL.FKDEPENDENCIA = int.Parse(Session["DEPENDENCIA"].ToString());
//}
if (nAccesoInformacion == 2)//2:Dependencia -- 0:Todo
{
//objSolicitudBL.objSolicitudEL.FKREGION = int.Parse(Session["REGION"].ToString());
//objSolicitudBL.objSolicitudEL.FKDEPENDENCIA = int.Parse(Session["DEPENDENCIA"].ToString());
objSolicitudBL.objSolicitudEL.LISTADODEPENDENCIAS = Session["LISTADEPENDENCIAS"].ToString();
}
//objSolicitudBL.objSolicitudEL.TEMPORAL = true;
{
DataSet dsUsuarios = objSolicitudBL.dsListaSolicitudProgramacionGrid(arlCondicionesFiltroBusqueda, strTop);
General.detalleGridView(dsUsuarios, grvListaDatosTemp, lblTotalDatos);
}
}
}
catch (Exception ex)
{
throw ex;
}
}
///
/// Carga el grid principal
///
///
private void llenarDDLActividades(bool p_Llenar) //M0
{
try
{
if (!IsPostBack || p_Llenar)
{
ddlActividades.Items.Clear();
arlCondicionesFiltroBusqueda = new ArrayList();
ActividadesBL objActividadesBL = new ActividadesBL();
if (Session["PKSOLICITUD"] != null)
//objActividadesBL.objactividadesEL.PKSOLICITUD = int.Parse(Session["PKSOLICITUD"].ToString());
objActividadesBL.objactividadesEL.ASTATE = true;
objActividadesBL.objactividadesEL.FKTIPOINSPECCION = int.Parse(Session["FKTIPOINSPECCION"].ToString());
DataSet dsActividad = objActividadesBL.dsListarActividad(arlCondicionesFiltroBusqueda);
if (dsActividad.Tables[0].Rows.Count != 0)
{
ddlActividades.DataSource = dsActividad;
ddlActividades.DataTextField = dsActividad.Tables[0].Columns["DESCRIPCIONACTIVIDAD"].ColumnName;
ddlActividades.DataValueField = dsActividad.Tables[0].Columns["PKACTIVIDAD"].ColumnName;
ddlActividades.DataBind();
ddlActividades.Items.Insert(0, new ListItem("Seleccione", "-1"));
}
else
ddlActividades.Items.Insert(0, new ListItem("----- No existen opciones -----", "-1"));
}
}
catch (Exception ex)
{
throw ex;
}
}
///
/// Carga el grid principal
///
///
private void llenarDDLEncargado(bool p_Llenar) //M0
{
try
{
ddlEncargado.Items.Clear();
arlCondicionesFiltroBusqueda = new ArrayList();
ActividadesBL objActividadesBL = new ActividadesBL();
objActividadesBL.objactividadesEL.Activo = true;
objActividadesBL.objactividadesEL.PK = int.Parse(ddlActividades.SelectedValue);
objActividadesBL.objactividadesEL.FKDEPENDENCIA = int.Parse(Session["FKDEPENDENCIASIGDD"].ToString());
DataSet dsActividad = objActividadesBL.dsListaActividad(arlCondicionesFiltroBusqueda);
if (dsActividad.Tables[0].Rows.Count != 0)
{
ddlEncargado.DataSource = dsActividad;
ddlEncargado.DataTextField = dsActividad.Tables[0].Columns["NOMBRECOMPLETO"].ColumnName;
ddlEncargado.DataValueField = dsActividad.Tables[0].Columns["PKUSUARIOXDEPENDENCIA"].ColumnName;
ddlEncargado.DataBind();
ddlEncargado.Items.Insert(0, new ListItem("Seleccione", "-1"));
}
else
ddlEncargado.Items.Insert(0, new ListItem("----- No existen opciones -----", "-1"));
}
catch (Exception ex)
{
throw ex;
}
}
///
/// Carga el grid de tareas
///
///
private void llenarGridViewActividadesEncargado(int n_pProgramacionSolicitud) //M0
{
try
{
arlCondicionesFiltroBusqueda = new ArrayList();
//condicionesBusqueda();
objSolicitudBL = new solicitudBL();
objSolicitudBL.objSolicitudEL.PK = n_pProgramacionSolicitud;
grvListaAsignaciones.Columns[4].Visible = true;
{
DataSet dsEncargadosActividades = objSolicitudBL.dsListaActividadesEncargado(arlCondicionesFiltroBusqueda);
if (dsEncargadosActividades.Tables[0].Rows.Count > 0)
{
nPkSolicitud = Convert.ToInt32(dsEncargadosActividades.Tables[0].Rows[0][1].ToString());//AQUI INSERTAMOS LA PK DE LA SOLICITUD
grvListaAsignaciones.DataSource = dsEncargadosActividades;
grvListaAsignaciones.DataBind();
General.detalleGridView(dsEncargadosActividades, grvListaAsignaciones, lblTotalDatos);
grvListaAsignaciones.Columns[4].Visible = false;
}
}
}
catch (Exception ex)
{
throw ex;
}
}
///
/// Carga el grid de tareas
///
///
private void CargarSeguimientoActividades(int n_pProgramacionSolicitud,int n_pActividad) //M0
{
try
{
arlCondicionesFiltroBusqueda = new ArrayList();
//condicionesBusqueda();
objSolicitudBL = new solicitudBL();
objSolicitudBL.objSolicitudEL.PK = n_pProgramacionSolicitud;
objSolicitudBL.objSolicitudEL.ORDEN = n_pActividad;
DataSet dsEncargadosActividades = objSolicitudBL.dsListaActividadesEncargado(arlCondicionesFiltroBusqueda);
if (dsEncargadosActividades.Tables[0].Rows.Count > 0)
{
lblTituloActividad.Text = "Actividad N°" + n_pActividad.ToString();
lblEstadoA1.Text = dsEncargadosActividades.Tables[0].Rows[0]["DESCRIPCIONESTADO"].ToString();
lblFechaIngresoA1.Text = dsEncargadosActividades.Tables[0].Rows[0]["FECHAASIGNACIONRESPONSABLEACTIVIDAD"].ToString();
lblFechaResolucionA1.Text = dsEncargadosActividades.Tables[0].Rows[0]["FECHADEVOLUCIONRESPONSABLEACTIVIDAD"].ToString();
//lblResponsableA1.Text = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(dsEncargadosActividades.Tables[0].Rows[0]["NOMBRECOMPLETO"].ToString().ToLower());
}
else
{
lblTituloActividad.Text = "Actividad N°" + n_pActividad.ToString();
lblEstadoA1.Text = "Sin asignar";
lblFechaIngresoA1.Text = "Sin asignar";
lblFechaResolucionA1.Text = "Sin asignar";
lblResponsableA1.Items.Add("Sin asignar");
}
lblResponsableA1.Items.Clear();
foreach (DataRow row in dsEncargadosActividades.Tables[0].Rows)
{
string strNombreFormateado = CultureInfo.CurrentCulture.TextInfo.ToTitleCase(row["NOMBRECOMPLETO"].ToString().ToLower());
lblResponsableA1.Items.Add(strNombreFormateado);
//lblResponsableA1.Text += strNombreFormateado + "\n";
}
EjecutarScript("VentanaAbrirActividades();");
}
catch (Exception ex)
{
throw ex;
}
}
///
/// Carga el grid de tareas
///
///
private void CargarImagenesSeguimientoActividades(int n_pProgramacionSolicitud) //M0
{
try
{
int nEstado = 0;
int nActividad = 0;
int nEstadoAnterior = 0;
int nActividadAnterior = 0;
arlCondicionesFiltroBusqueda = new ArrayList();
//condicionesBusqueda();
objSolicitudBL = new solicitudBL();
objSolicitudBL.objSolicitudEL.PK = n_pProgramacionSolicitud;
imgActividad1.ImageUrl = "../../Images/Actividades/circulogris.jpg";
imgActividad2.ImageUrl = "../../Images/Actividades/circulogris.jpg";
imgActividad3.ImageUrl = "../../Images/Actividades/circulogris.jpg";
imgActividad4.ImageUrl = "../../Images/Actividades/circulogris.jpg";
imgActividad5.ImageUrl = "../../Images/Actividades/circulogris.jpg";
imgActividad6.ImageUrl = "../../Images/Actividades/circulogris.jpg";
imgActividad7.ImageUrl = "../../Images/Actividades/circulogris.jpg";
DataSet dsEncargadosActividades = objSolicitudBL.dsListaActividadesEncargado(arlCondicionesFiltroBusqueda);
if (dsEncargadosActividades.Tables[0].Rows.Count > 0)
{
foreach(DataRow row in dsEncargadosActividades.Tables[0].Rows)
{
ImageButton Imagectr = new ImageButton();//)FindControl("imgActividad" + x.ToString());
nEstado = int.Parse(row["FKESTADO"].ToString());
nActividad = int.Parse(row["ORDENACTIVIDAD"].ToString());
if (nActividadAnterior != nActividad || (nEstadoAnterior != 5 && nActividadAnterior == nActividad))
{
switch (nEstado)
{
//Asignada
case 1: Imagectr.ImageUrl = "../../Images/Actividades/circuloamarillo.jpg"; break;
//No asignada
case 2: Imagectr.ImageUrl = "../../Images/Actividades/circulogris.jpg"; break;
//Pendiente
case 3: Imagectr.ImageUrl = "../../Images/Actividades/circuloamarillo.jpg"; break;
//Re inspeccion
case 4: Imagectr.ImageUrl = "../../Images/Actividades/circuloamarillo.jpg"; break;
//Finalizada
case 5: Imagectr.ImageUrl = "../../Images/Actividades/circuloverde.jpg"; break;
//Devolucion
case 6: Imagectr.ImageUrl = "../../Images/Actividades/circuloamarillo.jpg"; break;
//Finalizado fuera de tiempo
case 8: Imagectr.ImageUrl = "../../Images/Actividades/circulorojo.png"; break;
}
switch (nActividad)
{
case 1: imgActividad1.ImageUrl = Imagectr.ImageUrl; break;
case 2: imgActividad2.ImageUrl = Imagectr.ImageUrl; break;
case 3: imgActividad3.ImageUrl = Imagectr.ImageUrl; break;
case 4: imgActividad4.ImageUrl = Imagectr.ImageUrl; break;
case 5: imgActividad5.ImageUrl = Imagectr.ImageUrl; break;
case 6: imgActividad6.ImageUrl = Imagectr.ImageUrl; break;
case 7: imgActividad7.ImageUrl = Imagectr.ImageUrl; break;
}
}
nEstadoAnterior = int.Parse(row["FKESTADO"].ToString());
nActividadAnterior = int.Parse(row["ORDENACTIVIDAD"].ToString());
}
}
imgActividad3.Enabled = false;
imgActividad4.Enabled = false;
if (dsEncargadosActividades.Tables[0].Rows[0]["FKTIPOINSPECCION"].ToString() == "1")
imgActividad3.Enabled = true;
if (dsEncargadosActividades.Tables[0].Rows[0]["FKTIPOINSPECCION"].ToString() == "2")
imgActividad4.Enabled = true;
if (dsEncargadosActividades.Tables[0].Rows[0]["FKTIPOINSPECCION"].ToString() == "3")
{
imgActividad3.Enabled = true;
imgActividad4.Enabled = true;
}
EjecutarScript("VentanaAbrirActividades();");
}
catch (Exception ex)
{
throw ex;
}
}
#endregion
}