Beispiel #1
0
        /// <summary>
        /// Acepta una solicitud realizada por un usuario
        /// </summary>
        public int AceptarSolicitud()
        {
            int iResultado = 1000;
            cUDGDFSOLICITUDNegocios cSolicitud = new cUDGDFSOLICITUDNegocios(0, "", 0, "");
            cUDGDFAPROBACIONNegocios cAprobacion = new cUDGDFAPROBACIONNegocios(0, "", 0, "");
            cUDGDFRESERVACIONNegocios cReservacion = new cUDGDFRESERVACIONNegocios(0, "", 0, "");
            cUDGDFNTIFICACIONNegocios cNotificacion = new cUDGDFNTIFICACIONNegocios(0, "", 0, "");
            String sNotificacionMessage;
            
            DataRow drSolicitud = cSolicitud.BuscarConId(_id_Solicitud).Rows[0];
            
            cNotificacion.ID_NOTIFICACION = 1;
            try
            {
                sNotificacionMessage = cNotificacion.SeleccionarUno().Rows[0][1].ToString();
            }catch
            {
                sNotificacionMessage = "Su solicitud ha sido procesada. Para más informacion del resultado comuniquese con la unidad de deportes del Instituto Tecnológico de Costa Rica.";       
            }


            //DateTime p_fecinicio, DateTime p_fecfin, DateTime p_hrainicio, DateTime p_hrafin, int p_idInstalacion
            iResultado = cReservacion.ConsultarDisponibilidad((DateTime)drSolicitud[1], (DateTime)drSolicitud[2], DateTime.Parse(drSolicitud[4].ToString()), DateTime.Parse(drSolicitud[5].ToString()), int.Parse(drSolicitud[18].ToString()));
            
            if (iResultado == 1)
            {
                // Realiza la reservacion para la solicitud especificada
                cReservacion.FEC_FECHAFIN = (DateTime)drSolicitud[2];
                cReservacion.FEC_FECHAINICIO = (DateTime)drSolicitud[1];
                cReservacion.HRA_HORAINICIO = DateTime.Parse(drSolicitud[4].ToString());
                cReservacion.HRA_HORAFIN = DateTime.Parse(drSolicitud[5].ToString());
                cReservacion.Insertar();

                // Ingresa la solicitud como aceptada
                cAprobacion.FKY_RESEREVACION = cReservacion.ID_RESERVACION;
                cAprobacion.FKY_SOLICITUD = int.Parse(drSolicitud[0].ToString());
                cAprobacion.Insertar();

                // Actualiza la solicitud estableciendola como atendida
                cSolicitud.ActualizarAtendidoConID(int.Parse(drSolicitud[0].ToString()));

                // Envia un correo al usuario
                this.EnviarCorreo(drSolicitud[13].ToString(), drSolicitud[6].ToString(), sNotificacionMessage);

                return 1;
            }

            else
                return -1;
        }
Beispiel #2
0
        /// <summary>
        /// Rechaza una solicitud realizada por un usuario
        /// </summary>
        public void RechazarSolicitud()
        {
            cUDGDFSOLICITUDNegocios cSolicitud = new cUDGDFSOLICITUDNegocios(0, "", 0, "");
            cUDGDFNTIFICACIONNegocios cNotificacion = new cUDGDFNTIFICACIONNegocios(0, "", 0, "");
            String sNotificacionMessage;

            DataRow drSolicitud = cSolicitud.BuscarConId(_id_Solicitud).Rows[0];
            cNotificacion.ID_NOTIFICACION = 2;
            try
            {
                sNotificacionMessage = cNotificacion.SeleccionarUno().Rows[0][1].ToString();
            }
            catch
            {
                sNotificacionMessage = "Su solicitud ha sido procesada. Para más informacion del resultado comuniquese con la unidad de deportes del Instituto Tecnológico de Costa Rica.";
            }

             // Actualiza la solicitud estableciendola como atendida
            cSolicitud.ActualizarAtendidoConID(int.Parse(drSolicitud[0].ToString()));

            // Envia un correo al usuario
            this.EnviarCorreo(drSolicitud[13].ToString(), drSolicitud[6].ToString(), sNotificacionMessage);
        }
        /// <summary>
        /// Crea un reporte
        /// </summary>
        /// <returns></returns>
        public Report Generar()
        {
            // Inicialización de los componentes del documento
            Report rReporte = new Report(new PdfFormatter());
            FontDef fd = new FontDef(rReporte, _sFont);
            FontProp fp = new FontProp(fd, _iSize);
            Page pPagina = new Page(rReporte);
            cUDGDFSOLICITUDNegocios sSolicitudes = new cUDGDFSOLICITUDNegocios(0, "", 0, "");
            DataTable dtSolicitudes;
            String[] sUsuarios;
            int iContadorUsuarios = 1;

            // Obtiene las solicitudes aprobadas dentro del rango de fechas
            dtSolicitudes = sSolicitudes.SeleccionarAprobadas(_sfechainicio, _sfechafin);

            // Imprime el documento
            // Encabezado del documento
            InsertarTitulo("Reporte de reservaciones", fp, pPagina, rReporte);
            InsertarTitulo(_sfechainicio.ToShortDateString() + " - " + _sfechafin.ToShortDateString(), fp, pPagina, rReporte);
            InsertarLinea("", fp, pPagina, rReporte);

            // Resumen del documento
            InsertarSubtitulo("Resumen de reservaciones", fp, pPagina, rReporte);
            foreach (Instalacion insLocal in GenerarResumen(dtSolicitudes))
            {
                InsertarLinea("Reservaciones para " + insLocal.sInstalacion + ": " + insLocal.iContador + ".", fp, pPagina, rReporte);
            }
            InsertarLinea("", fp, pPagina, rReporte);
            InsertarDivisor(fp, pPagina, rReporte);
            InsertarLinea("", fp, pPagina, rReporte);

            // Imprime cada solicitud
            InsertarSubtitulo("Solicitudes aprobadas dentro del rango de fechas", fp, pPagina, rReporte);
            InsertarLinea("", fp, pPagina, rReporte);

            foreach (DataRow drRow in dtSolicitudes.Rows)
            {
                InsertarLinea("Identificacion de solicitud: " + drRow[0].ToString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Fecha inicio: " + DateTime.Parse(drRow[2].ToString()).ToShortDateString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Fecha fin: " + DateTime.Parse(drRow[3].ToString()).ToShortDateString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Fecha de la solicitud: " + DateTime.Parse(drRow[4].ToString()).ToShortDateString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Hora inicio: " + drRow[5].ToString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Hora fin: " + drRow[6].ToString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Nombre de encargado: " + drRow[7].ToString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Nombre de institucion/grupo: " + drRow[8].ToString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Identificacion encargado: " + drRow[9].ToString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Tipo de Solicitante: " + drRow[20].ToString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Observaciones: " + drRow[11].ToString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Razon de uso: " + drRow[12].ToString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Correo solicitante: " + drRow[14].ToString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Usuarios:", fp, pPagina, rReporte);
                sUsuarios = drRow[16].ToString().Split(',');
                foreach (String sLocal in sUsuarios)
                {
                    InsertarLinea(iContadorUsuarios + ". " + sLocal, fp, pPagina, rReporte);
                    iContadorUsuarios++;
                }
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Cantidad de usuarios hombres: " + drRow[17].ToString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarLinea("Cantidad de usuarios mujeres: " + drRow[18].ToString(), fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
                InsertarDivisor(fp, pPagina, rReporte);
                InsertarLinea("", fp, pPagina, rReporte);
            }

            // retorna el documento para poder ser presentado al usuario
            return rReporte;
        }