/// <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; }
/// <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; }