public static DataTable RecuperarUsuariosAppActivosPorPosicion(int codigoPosicion, int codigoUsuarioApp) { ISession nhSesion = ManejoNHibernate.IniciarSesion(); try { DataTable tablaUsuarios = new DataTable(); tablaUsuarios.Columns.Add("codigoUsuario", typeof(int)); tablaUsuarios.Columns.Add("nombre", typeof(string)); tablaUsuarios.Columns.Add("apellido", typeof(string)); tablaUsuarios.Columns.Add("mail", typeof(string)); tablaUsuarios.Columns.Add("contraseña", typeof(string)); tablaUsuarios.Columns.Add("telefono", typeof(string)); tablaUsuarios.Columns.Add("codigoPosicion", typeof(int)); tablaUsuarios.Columns.Add("descripcionPosicion", typeof(string)); tablaUsuarios.Columns.Add("codigoTelefono", typeof(string)); tablaUsuarios.Columns.Add("imagen", typeof(string)); tablaUsuarios.Columns.Add("isActivo", typeof(bool)); List <UsuarioApp> listaUsuariosApp; if (codigoPosicion == 0) { listaUsuariosApp = CatalogoGenerico <UsuarioApp> .RecuperarLista(x => x.IsActivo && x.Codigo != codigoUsuarioApp, nhSesion); } else { listaUsuariosApp = CatalogoGenerico <UsuarioApp> .RecuperarLista(x => x.IsActivo && x.Posicion.Codigo == codigoPosicion && x.Codigo != codigoUsuarioApp, nhSesion); } listaUsuariosApp.Aggregate(tablaUsuarios, (dt, r) => { dt.Rows.Add(r.Codigo, r.Nombre, r.Apellido, r.Mail, r.Contraseña, r.Telefono, r.Posicion.Codigo, r.Posicion.Descripcion, r.CodigoTelefono, "http://haycancha.sempait.com.ar/Imagenes/" + r.Imagen, r.IsActivo); return(dt); }); return(tablaUsuarios); } catch (Exception ex) { throw ex; } finally { nhSesion.Close(); nhSesion.Dispose(); } }
public static DataTable RecuperarTurnosVigentesPorUsuario(int codigoUsuarioApp) { ISession nhSesion = ManejoNHibernate.IniciarSesion(); try { DataTable tablaTurnos = new DataTable(); tablaTurnos.Columns.Add("codigoTurno", typeof(int)); tablaTurnos.Columns.Add("horaDesde", typeof(int)); tablaTurnos.Columns.Add("horaHasta", typeof(int)); tablaTurnos.Columns.Add("codigoCancha", typeof(int)); tablaTurnos.Columns.Add("descripcionCancha", typeof(string)); tablaTurnos.Columns.Add("codigoTipoCancha", typeof(int)); tablaTurnos.Columns.Add("descripcionTipoCancha", typeof(string)); tablaTurnos.Columns.Add("codigoComplejo", typeof(int)); tablaTurnos.Columns.Add("descripcionComplejo", typeof(string)); tablaTurnos.Columns.Add("imagenComplejo", typeof(string)); tablaTurnos.Columns.Add("precio", typeof(double)); tablaTurnos.Columns.Add("direccion", typeof(string)); tablaTurnos.Columns.Add("puntajeComplejo", typeof(int)); tablaTurnos.Columns.Add("latitud", typeof(double)); tablaTurnos.Columns.Add("longitud", typeof(double)); tablaTurnos.Columns.Add("fecha", typeof(string)); tablaTurnos.Columns.Add("codigoEstado", typeof(int)); tablaTurnos.Columns.Add("descripcionEstado", typeof(string)); List <TurnoVariable> listaTurnosVariables = CatalogoGenerico <TurnoVariable> .RecuperarLista(x => x.UsuarioApp.Codigo == codigoUsuarioApp && (x.EstadoTurno.Codigo == Constantes.EstadosTurno.PENDIENTE || x.EstadoTurno.Codigo == Constantes.EstadosTurno.RESERVADO || x.EstadoTurno.Codigo == Constantes.EstadosTurno.CANCELADO) && x.FechaHoraDesde >= DateTime.Now, nhSesion); listaTurnosVariables.Aggregate(tablaTurnos, (dt, r) => { dt.Rows.Add(r.Codigo, r.FechaHoraDesde.Hour, r.FechaHoraHasta.Hour, r.Cancha.Codigo, r.Cancha.Descripcion, r.Cancha.TipoCancha.Codigo, r.Cancha.TipoCancha.Descripcion, r.Cancha.Complejo.Codigo, r.Cancha.Complejo.Descripcion, r.Cancha.Complejo.Logo, r.Cancha.PrecioTarde, r.Cancha.Complejo.Direccion, 3, r.Cancha.Complejo.Latitud, r.Cancha.Complejo.Longitud, r.FechaHoraDesde.ToString("dd/MM/yyyy"), r.EstadoTurno.Codigo, r.EstadoTurno.Descripcion); return(dt); }); return(tablaTurnos); } catch (Exception ex) { throw ex; } finally { nhSesion.Close(); nhSesion.Dispose(); } }
public static DataTable RecuperarTurnosPorComplejoPorDia(DateTime fecha, int codigoComplejo) { ISession nhSesion = ManejoNHibernate.IniciarSesion(); try { Complejo complejo = CatalogoGenerico <Complejo> .RecuperarPorCodigo(codigoComplejo, nhSesion); List <Cancha> listaCanchas = CatalogoGenerico <Cancha> .RecuperarLista(x => x.Complejo.Codigo == codigoComplejo, nhSesion); DataTable tablaTurnos = new DataTable(); tablaTurnos.Columns.Add("Hora"); tablaTurnos.Columns.Add("HoraDesde"); tablaTurnos.Columns.Add("HoraHasta"); foreach (Cancha cancha in listaCanchas) { tablaTurnos.Columns.Add("codigoCancha" + cancha.Descripcion); tablaTurnos.Columns.Add("codigoTurno" + cancha.Descripcion); tablaTurnos.Columns.Add(cancha.Descripcion); } int horaDesde = complejo.HoraApertura; int horaHasta = complejo.HoraCierre; List <TurnoVariable> listaTurnosVariables = CatalogoTurnoVariable.RecuperarPorFechaYHoraYComplejo(fecha, horaDesde, horaHasta, codigoComplejo, nhSesion).Where(x => x.EstadoTurno.Codigo != Constantes.EstadosTurno.CANCELADO && x.EstadoTurno.Codigo != Constantes.EstadosTurno.CANCELADO).ToList(); List <TurnoFijo> listaTurnosFijos = CatalogoTurnoFijo.RecuperarPorFechaYHoraYComplejo(fecha, horaDesde, horaHasta, codigoComplejo, nhSesion); for (int i = horaDesde; i < horaHasta; i++) { DataRow filaNueva = tablaTurnos.NewRow(); filaNueva["hora"] = i + " a " + (i + 1); filaNueva["HoraDesde"] = i; filaNueva["HoraHasta"] = i + 1; foreach (Cancha cancha in listaCanchas) { TurnoFijo turnoFijo = (from tf in listaTurnosFijos where tf.HoraDesde == i && tf.Cancha.Codigo == cancha.Codigo select tf).SingleOrDefault(); if (turnoFijo == null) { TurnoVariable turnoVariable = (from tv in listaTurnosVariables where tv.FechaHoraDesde.Hour == i && tv.Cancha.Codigo == cancha.Codigo select tv).SingleOrDefault(); filaNueva["codigoCancha" + cancha.Descripcion] = cancha.Codigo; if (turnoVariable == null) { filaNueva["codigoTurno" + cancha.Descripcion] = "0"; filaNueva[cancha.Descripcion] = "Disponible"; } else { if (turnoVariable.EstadoTurno.Codigo == Constantes.EstadosTurno.PENDIENTE) { string nombreReserva = turnoVariable.Responsable != string.Empty ? turnoVariable.Responsable : turnoVariable.UsuarioApp.Nombre + " " + turnoVariable.UsuarioApp.Apellido; filaNueva["codigoTurno" + cancha.Descripcion] = turnoVariable.Codigo; filaNueva[cancha.Descripcion] = "Pendiente de confirmación - " + nombreReserva; } else if (turnoVariable.EstadoTurno.Codigo == Constantes.EstadosTurno.RESERVADO || turnoVariable.EstadoTurno.Codigo == Constantes.EstadosTurno.CERRADO) { string nombreReserva = turnoVariable.Responsable != string.Empty ? turnoVariable.Responsable : turnoVariable.UsuarioApp.Nombre + " " + turnoVariable.UsuarioApp.Apellido; filaNueva["codigoTurno" + cancha.Descripcion] = turnoVariable.Codigo; filaNueva[cancha.Descripcion] = "Reservado - " + nombreReserva; } } } else { filaNueva["codigoTurno" + cancha.Descripcion] = turnoFijo.Codigo; filaNueva[cancha.Descripcion] = "Reservado - " + turnoFijo.Responsable; } } tablaTurnos.Rows.Add(filaNueva); } return(tablaTurnos); } catch (Exception ex) { throw ex; } finally { nhSesion.Close(); nhSesion.Dispose(); } }
public static DataTable RecuperarSolicitudesPorUsuario(int codigoUsuarioApp, int codigoEstadoSolicitud) { ISession nhSesion = ManejoNHibernate.IniciarSesion(); try { DataTable tablaSolicitudes = new DataTable(); tablaSolicitudes.Columns.Add("codigoSolicitud", typeof(int)); tablaSolicitudes.Columns.Add("codigoEstadoSolicitud", typeof(int)); tablaSolicitudes.Columns.Add("descripcionEstadoSolicitud", typeof(string)); tablaSolicitudes.Columns.Add("codigoCancha", typeof(int)); tablaSolicitudes.Columns.Add("descripcionCancha", typeof(string)); tablaSolicitudes.Columns.Add("codigoComplejo", typeof(int)); tablaSolicitudes.Columns.Add("descripcionComplejo", typeof(string)); tablaSolicitudes.Columns.Add("fecha", typeof(string)); tablaSolicitudes.Columns.Add("horaDesde", typeof(string)); tablaSolicitudes.Columns.Add("horaHasta", typeof(string)); tablaSolicitudes.Columns.Add("imagenUsuario", typeof(string)); tablaSolicitudes.Columns.Add("nombreApellidoUsuario", typeof(string)); tablaSolicitudes.Columns.Add("isCreator", typeof(bool)); tablaSolicitudes.Columns.Add("codigoTurno", typeof(int)); tablaSolicitudes.Columns.Add("codigoUsuarioAppInvitado", typeof(int)); tablaSolicitudes.Columns.Add("direccionComplejo", typeof(string)); tablaSolicitudes.Columns.Add("precio", typeof(double)); tablaSolicitudes.Columns.Add("codigoTelefono", typeof(string)); List <Solicitud> listaSolicitudesInvitado; if (codigoEstadoSolicitud == 0) { listaSolicitudesInvitado = CatalogoSolicitud.RecuperarVigentesPorUsuarioApp(codigoUsuarioApp, nhSesion); } else { listaSolicitudesInvitado = CatalogoSolicitud.RecuperarVigentesPorUsuarioAppYEstado(codigoUsuarioApp, codigoEstadoSolicitud, nhSesion); } foreach (Solicitud solicitud in listaSolicitudesInvitado) { int codigoCancha; string descripcionCancha; int codigoComplejo; string descripcionComplejo; string direccionComplejo; double precio; DateTime fechaHoraDesde = new DateTime(); DateTime fechaHoraHasta = new DateTime(); string imagenUsuario; string nombreApellido; int codigoTurno; bool isVariable; string codigoTelefono = string.Empty; if (solicitud.TurnoFijo != null) { codigoCancha = solicitud.TurnoFijo.Cancha.Codigo; descripcionCancha = solicitud.TurnoFijo.Cancha.Descripcion; codigoComplejo = solicitud.TurnoFijo.Cancha.Complejo.Codigo; descripcionComplejo = solicitud.TurnoFijo.Cancha.Complejo.Descripcion; nombreApellido = solicitud.TurnoFijo.Responsable; imagenUsuario = string.Empty; codigoTurno = solicitud.TurnoFijo.Codigo; isVariable = false; direccionComplejo = solicitud.TurnoFijo.Cancha.Complejo.Direccion; precio = solicitud.TurnoFijo.Cancha.PrecioTarde; for (int i = 0; i < 6; i++) { DateTime fecha = DateTime.Now.AddDays(i); if (Convert.ToInt32(fecha.DayOfWeek) == solicitud.TurnoFijo.CodigoDiaSemana) { fechaHoraDesde = Convert.ToDateTime(fecha.ToString("dd/MM/yyyy") + " " + solicitud.TurnoFijo.HoraDesde.ToString("00") + ":00:00"); fechaHoraHasta = Convert.ToDateTime(fecha.ToString("dd/MM/yyyy") + " " + solicitud.TurnoFijo.HoraHasta.ToString("00") + ":00:00"); } } } else { codigoCancha = solicitud.TurnoVariable.Cancha.Codigo; descripcionCancha = solicitud.TurnoVariable.Cancha.Descripcion; codigoComplejo = solicitud.TurnoVariable.Cancha.Complejo.Codigo; descripcionComplejo = solicitud.TurnoVariable.Cancha.Complejo.Descripcion; fechaHoraDesde = solicitud.TurnoVariable.FechaHoraDesde; fechaHoraHasta = solicitud.TurnoVariable.FechaHoraHasta; nombreApellido = solicitud.TurnoVariable.UsuarioApp.Nombre + " " + solicitud.TurnoVariable.UsuarioApp.Apellido; imagenUsuario = solicitud.TurnoVariable.UsuarioApp.Imagen; codigoTurno = solicitud.TurnoVariable.Codigo; isVariable = true; direccionComplejo = solicitud.TurnoVariable.Cancha.Complejo.Direccion; precio = solicitud.TurnoVariable.Cancha.PrecioTarde; codigoTelefono = solicitud.TurnoVariable.UsuarioApp.CodigoTelefono; } tablaSolicitudes.Rows.Add(new object[] { solicitud.Codigo, solicitud.EstadoSolicitud.Codigo, solicitud.EstadoSolicitud.Descripcion, codigoCancha, descripcionCancha, codigoComplejo, descripcionComplejo, fechaHoraDesde.ToString("dd/MM/yyyy"), fechaHoraDesde.Hour, fechaHoraHasta.Hour, imagenUsuario, nombreApellido, false, codigoTurno, codigoUsuarioApp, direccionComplejo, precio, codigoTelefono }); } List <int> listaTurnosVariables = CatalogoGenerico <TurnoVariable> .RecuperarLista(x => x.UsuarioApp.Codigo == codigoUsuarioApp && x.FechaHoraDesde > DateTime.Now, nhSesion).Select(x => x.Codigo).ToList(); List <Solicitud> listaSolicitud; if (codigoEstadoSolicitud == 0) { listaSolicitud = CatalogoSolicitud.RecuperarPorTurnos(listaTurnosVariables, nhSesion); } else { listaSolicitud = CatalogoSolicitud.RecuperarPorTurnosYEstado(listaTurnosVariables, codigoEstadoSolicitud, nhSesion); } foreach (Solicitud solicitud in listaSolicitud) { int codigoCancha; string descripcionCancha; int codigoComplejo; string descripcionComplejo; DateTime fechaHoraDesde = new DateTime(); DateTime fechaHoraHasta = new DateTime(); string direccionComplejo; double precio; int codigoTurno; string codigoTelefono = string.Empty; bool isVariable; if (solicitud.TurnoFijo != null) { codigoCancha = solicitud.TurnoFijo.Cancha.Codigo; descripcionCancha = solicitud.TurnoFijo.Cancha.Descripcion; codigoComplejo = solicitud.TurnoFijo.Cancha.Complejo.Codigo; descripcionComplejo = solicitud.TurnoFijo.Cancha.Complejo.Descripcion; codigoTurno = solicitud.TurnoFijo.Codigo; isVariable = false; direccionComplejo = solicitud.TurnoFijo.Cancha.Complejo.Direccion; precio = solicitud.TurnoFijo.Cancha.PrecioTarde; for (int i = 0; i < 6; i++) { DateTime fecha = DateTime.Now.AddDays(i); if (Convert.ToInt32(fecha.DayOfWeek) == solicitud.TurnoFijo.CodigoDiaSemana) { fechaHoraDesde = Convert.ToDateTime(fecha.ToString("dd/MM/yyyy") + " " + solicitud.TurnoFijo.HoraDesde.ToString("00") + ":00:00"); fechaHoraHasta = Convert.ToDateTime(fecha.ToString("dd/MM/yyyy") + " " + solicitud.TurnoFijo.HoraHasta.ToString("00") + ":00:00"); } } } else { codigoCancha = solicitud.TurnoVariable.Cancha.Codigo; descripcionCancha = solicitud.TurnoVariable.Cancha.Descripcion; codigoComplejo = solicitud.TurnoVariable.Cancha.Complejo.Codigo; descripcionComplejo = solicitud.TurnoVariable.Cancha.Complejo.Descripcion; fechaHoraDesde = solicitud.TurnoVariable.FechaHoraDesde; fechaHoraHasta = solicitud.TurnoVariable.FechaHoraHasta; codigoTurno = solicitud.TurnoVariable.Codigo; isVariable = true; direccionComplejo = solicitud.TurnoVariable.Cancha.Complejo.Direccion; precio = solicitud.TurnoVariable.Cancha.PrecioTarde; codigoTelefono = solicitud.TurnoVariable.UsuarioApp.CodigoTelefono; } tablaSolicitudes.Rows.Add(new object[] { solicitud.Codigo, solicitud.EstadoSolicitud.Codigo, solicitud.EstadoSolicitud.Descripcion, codigoCancha, descripcionCancha, codigoComplejo, descripcionComplejo, fechaHoraDesde.ToString("dd/MM/yyyy"), fechaHoraDesde.Hour, fechaHoraHasta.Hour, solicitud.UsuarioAppInvitado.Imagen, solicitud.UsuarioAppInvitado.Nombre + " " + solicitud.UsuarioAppInvitado.Apellido, true, codigoTurno, codigoUsuarioApp, direccionComplejo, precio, codigoTelefono }); } return(tablaSolicitudes); } catch (Exception ex) { throw ex; } finally { nhSesion.Close(); nhSesion.Dispose(); } }