/// <summary> /// Obtiene todas las reservaciones hechas por la aprobacion de una solicitud /// </summary> /// <returns>DataTable Object (start,end,name,id)</returns> private DataTable ObtenerAprobaciones() { cUDGDFAPROBACIONNegocios cAprobaciones = new cUDGDFAPROBACIONNegocios(0, "", 0, ""); DataTable dtAprobaciones = cAprobaciones.Seleccionar_Todo_Detallado(); DataTable toReturn = new DataTable(); toReturn.Columns.Add("start", typeof(DateTime)); toReturn.Columns.Add("end", typeof(DateTime)); toReturn.Columns.Add("name", typeof(string)); toReturn.Columns.Add("id", typeof(string)); String sFechainicio, sFechafin, sHorainicio, sHorafin, sDescripcion; String sID; Boolean blunes, bmartes, bmiercoles, bjueves, bviernes, bsabado, bdomingo; foreach (DataRow drLocalRow in dtAprobaciones.Rows) { sFechainicio = drLocalRow[1].ToString(); sFechafin = drLocalRow[2].ToString(); sHorainicio = drLocalRow[3].ToString(); sHorafin = drLocalRow[4].ToString(); sDescripcion = "Reservacion de " + drLocalRow[5].ToString(); sID = "Reservacion:" + int.Parse(drLocalRow[0].ToString()); blunes = true; bmartes = true; bmiercoles = true; bjueves = true; bviernes = true; bsabado = true; bdomingo = true; toReturn.Merge(ObtenerFechas(sFechainicio, sFechafin, sHorainicio, sHorafin, sDescripcion, sID, blunes, bmartes, bmiercoles, bjueves, bviernes, bsabado, bdomingo)); } return toReturn; }
/// <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; }