//Funcion que retorna un complejo deportivo
 public HttpResponseMessage Get(int id)
 {
     try
     {
         //Se obtienen los modelos de la BD
         using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
         {
             //Se crea una variable con el complejo deportivo correspondiente a la ID
             var entity = entities.Complejo_Deportivo.FirstOrDefault(e => e.idComplejoDeportivo == id);
             if (entity != null)
             {
                 //Se retorna el estado OK y el complejo deportivo
                 return(Request.CreateResponse(HttpStatusCode.OK, entity));
             }
             else
             {
                 //Se retorna el estado NotFound y un string que indica el error
                 return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Complejo con ID: " + id.ToString() + " no existe"));
             }
         }
     }
     catch (Exception ex)
     {
         //En caso de existir otro error, se envia estado de error y un mensaje
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
     }
 }
        public HttpResponseMessage GetInvitaciones(int idJugador, int idInvitacion)
        {
            try
            {
                //Se obtienen los modelos de la BD
                using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
                {
                    var invitacion = entities.Equipo_Invitacion.FirstOrDefault(i => i.idEquipoInvitacion == idInvitacion);;


                    if (invitacion != null)
                    {
                        //Se retorna el estado OK y la invitacion
                        return(Request.CreateResponse(HttpStatusCode.OK, invitacion));
                    }
                    else
                    {
                        //Se retorna el estado NotFound y un string que indica el error
                        return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Invitacion con ID: " + idInvitacion + " no existe"));
                    }
                }
            }
            catch (Exception ex)
            {
                //En caso de existir otro error, se envia estado de error y un mensaje
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
 //Funcion que retorna la lista de complejos deportivos
 public HttpResponseMessage Get()
 {
     try
     {
         //Se obtienen los modelos de la BD
         using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
         {
             //Se crea una lista con todos los complejos deportivos
             var entity = entities.Complejo_Deportivo.ToList();
             if (entity != null && entity.Count() > 0)
             {
                 //Se retorna el estado OK y la lista de complejos
                 return(Request.CreateResponse(HttpStatusCode.OK, entity));
             }
             else
             {
                 //Se retorna el estado NotFound y un string que indica el error
                 return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "No existen complejos deportivos"));
             }
         }
     }
     catch (Exception ex)
     {
         //En caso de existir otro error, se envia estado de error y un mensaje
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
     }
 }
        public HttpResponseMessage GetInvitaciones(int idJugador)
        {
            try
            {
                //Se obtienen los modelos de la BD
                using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
                {
                    var invitaciones = entities.Equipo_Invitacion.Where(ei => ei.idJugador == idJugador).ToList();

                    if (invitaciones != null && invitaciones.Count() > 0)
                    {
                        //Se retorna el estado OK y el jugador
                        return(Request.CreateResponse(HttpStatusCode.OK, invitaciones));
                    }
                    else
                    {
                        //Se retorna el estado NotFound y un string que indica el error
                        return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Jugador con ID: " + idJugador + " no tiene invitaciones"));
                    }
                }
            }
            catch (Exception ex)
            {
                //En caso de existir otro error, se envia estado de error y un mensaje
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
        public HttpResponseMessage PostEquipoChat([FromBody] mensajeSimple mensaje, int idEquipo, int idJugador)
        {
            try
            {
                //Se obtienen los modelos de la BD
                using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
                {
                    var comprobacion = entities.Equipo_Jugador.FirstOrDefault(ej => ej.idJugador == idJugador &&
                                                                              ej.idEquipo == idEquipo);


                    if (comprobacion == null)
                    {
                        return(Request.CreateErrorResponse(HttpStatusCode.Unauthorized, "El jugador no pertenece al equipo especificado"));
                    }

                    Equipo_Chat ech = new Equipo_Chat();
                    ech.idJugador    = idJugador;
                    ech.idEquipo     = idEquipo;
                    ech.echaCreacion = DateTime.Now;
                    ech.echMensaje   = mensaje.contenidoMensaje;


                    entities.Equipo_Chat.Add(ech);
                    entities.SaveChanges();

                    return(Request.CreateResponse(HttpStatusCode.OK, "Mensaje creado"));
                }
            }
            catch (Exception ex)
            {
                //En caso de existir otro error, se envia estado de error y un mensaje
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
 //Funcion que retorna una lista de complejos deportivos en base a su nombre como entrada
 public HttpResponseMessage Get(String nombre)
 {
     try
     {
         //Se obtienen los modelos de la BD
         using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
         {
             //Se crea una variable con el complejo deportivo correspondiente a su nombre
             var entity = entities.Complejo_Deportivo.Where(e => e.cmdNombre == nombre).ToList();
             if (entity != null && entity.Count() > 0)
             {
                 //Se retorna el estado OK y el complejo deportivo
                 return(Request.CreateResponse(HttpStatusCode.OK, entity));
             }
             else
             {
                 //Se retorna el estado NotFound y un string que indica el error
                 return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Complejo con nombre: " + nombre + " no existe"));
             }
         }
     }
     catch (Exception ex)
     {
         //En caso de existir otro error, se envia estado de error y un mensaje
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
     }
 }
        //Funcion que modifica un tipo de cancha
        public HttpResponseMessage Put(int id, [FromBody] Tipo_Cancha tca)
        {
            try
            {
                //Se obtienen los modelos de la BD
                using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
                {
                    //Se crea una variable con el tipo de cancha correspondiente a la ID
                    var entity = entities.Tipo_Cancha.FirstOrDefault(e => e.idTipoCancha == id);
                    if (entity == null)
                    {
                        //Se retorna el estado NotFound y un string que indica el error
                        return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Tipo de cancha con ID: " + id.ToString() + " no existe, no es posible actualizar"));
                    }
                    else
                    {
                        //Se modifican los campos del tipo de cancha
                        entity.idDeporte   = tca.idDeporte;
                        entity.tcaCreacion = tca.tcaCreacion;
                        entity.tcaNombre   = tca.tcaNombre;


                        //Se guardan los cambios
                        entities.SaveChanges();
                        //Se retorna el estado OK y el tipo de cancha
                        return(Request.CreateResponse(HttpStatusCode.OK, entity));
                    }
                }
            }
            catch (Exception ex)
            {
                //En caso de existir otro error, se envia estado de error y un mensaje
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
Beispiel #8
0
 public HttpResponseMessage GetJugEqui(int idEquipo)
 {
     try
     {
         //Se obtienen los modelos de la BD
         using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
         {
             //Se crea una variable con los jugadores del equipo correspondiente a la ID
             var entity = entities.Equipo_Jugador.Where(ej => ej.idEquipo == idEquipo).Join(
                 entities.Jugador,
                 ej => ej.idJugador,
                 j => j.idJugador,
                 (EquiJuga, Jug) => Jug)
                          .ToList();
             if (entity == null || entity.Count() <= 0)
             {
                 //Se retorna el estado NotFound y un string que indica el error
                 return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Equipo con ID: " + idEquipo.ToString() + " no tiene jugadores"));
             }
             else
             {
                 //Se retorna el estado OK y la lista de jugadores
                 return(Request.CreateResponse(HttpStatusCode.OK, entity));
             }
         }
     }
     catch (Exception ex)
     {
         //En caso de existir otro error, se envia estado de error y un mensaje
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
     }
 }
Beispiel #9
0
        public HttpResponseMessage Get(String usuario, String pass)
        {
            try
            {
                //Se obtienen los modelos de la BD
                using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
                {
                    //Se crea una lista con todos los jugadores
                    var jugador = entities.Jugador.FirstOrDefault(j => (j.jugUsername == usuario && j.jugPassword == pass) ||
                                                                  (j.jugEmail == usuario && j.jugPassword == pass)
                                                                  );
                    if (jugador != null)
                    {
                        //Se retorna el estado OK y el usuario
                        //aca va la logica de obtencion del token y toda la cosa
                        String token = "tokendepruebaxd";

                        return(Request.CreateResponse(HttpStatusCode.OK, new Sesion(jugador, token)));
                    }
                    else
                    {
                        //Se retorna el estado NotFound y un string que indica el error
                        return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "No se encuentro un jugador que cumpla con el usuario y contraseña especificados"));
                    }
                }
            }
            catch (Exception ex)
            {
                //En caso de existir otro error, se envia estado de error y un mensaje
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
Beispiel #10
0
        public HttpResponseMessage PostInvitacion(int idEquipo, int idJugador)
        {
            try
            {
                //Se obtienen los modelos de la BD
                using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
                {
                    Equipo_Invitacion nuevaInvitacion = new Equipo_Invitacion();
                    nuevaInvitacion.einCreacion = DateTime.Now;
                    nuevaInvitacion.idEquipo    = idEquipo;
                    nuevaInvitacion.idJugador   = idJugador;

                    entities.Equipo_Invitacion.Add(nuevaInvitacion);
                    entities.SaveChanges();

                    //Se crea un un mensaje con el codigo Created y con la invitacion ingresado
                    var message = Request.CreateResponse(HttpStatusCode.Created, nuevaInvitacion);
                    //Se concatena la ID a la invitacion del mensaje
                    message.Headers.Location = new Uri(Request.RequestUri + nuevaInvitacion.idEquipoInvitacion.ToString());
                    return(message);
                }
            }
            catch (Exception ex)
            {
                //En caso de existir otro error, se envia estado de error y un mensaje
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
        public HttpResponseMessage PostChat([FromBody] mensajeSimple mensaje, int idPartido, int idJugador)
        {
            try
            {
                //Se obtienen los modelos de la BD
                using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
                {
                    var comprobacion = entities.Partido_Jugador.FirstOrDefault(pj => pj.idJugador == idJugador &&
                                                                               pj.idPartido == idPartido);


                    if (comprobacion == null)
                    {
                        return(Request.CreateErrorResponse(HttpStatusCode.Unauthorized, "El jugador no se encuentra en el partido especificado"));
                    }

                    Partido_Chat pch = new Partido_Chat();
                    pch.idJugador   = idJugador;
                    pch.idPartido   = idPartido;
                    pch.pchCreacion = DateTime.Now;
                    pch.pchMensaje  = mensaje.contenidoMensaje;


                    entities.Partido_Chat.Add(pch);
                    entities.SaveChanges();

                    return(Request.CreateResponse(HttpStatusCode.OK, "Mensaje creado"));
                }
            }
            catch (Exception ex)
            {
                //En caso de existir otro error, se envia estado de error y un mensaje
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
 //Funcion que elimina un tipo de cancha
 public HttpResponseMessage Delete(int id)
 {
     try
     {
         //Se obtienen los modelos de la BD
         using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
         {
             //Se crea una variable con el tipo de cancha correspondiente a la ID
             var entity = entities.Tipo_Cancha.FirstOrDefault(e => e.idTipoCancha == id);
             if (entity == null)
             {
                 //Se retorna el estado NotFound y un string que indica el error
                 return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Tipo de cancha con ID: " + id.ToString() + " no existe, no es posible actualizar"));
             }
             else
             {
                 //Se elimina de la BD el complejo deportivo
                 entities.Tipo_Cancha.Remove(entity);
                 entities.SaveChanges();
                 //Se retorna el estado OK
                 return(Request.CreateResponse(HttpStatusCode.OK));
             }
         }
     }
     catch (Exception ex)
     {
         //En caso de existir otro error, se envia estado de error y un mensaje
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
     }
 }
Beispiel #13
0
        public HttpResponseMessage GetJugadoresPartidoConf(int idPartido)
        {
            try
            {
                //Se obtienen los modelos de la BD
                using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
                {
                    //obtener de la tabla intermedia entre jugador y partido la fila donde se encuentra la id del jugador y la id del partido al mismo tiempo

                    var jugadores = entities.Partido_Jugador
                                    .Where(pj => pj.idPartido == idPartido)
                                    .Join(entities.Jugador,
                                          pj => pj.idJugador,
                                          j => j.idJugador,
                                          (inter, jug) => new
                    {
                        jugador = new
                        {
                            idJugador   = jug.idJugador,
                            jugApodo    = jug.jugApodo,
                            jugCelular  = jug.jugCelular,
                            jugCreacion = jug.jugCreacion,
                            jugEmail    = jug.jugEmail,
                            jugFono     = jug.jugFono,
                            jugFoto     = jug.jugFoto,
                            jugMaterno  = jug.jugMaterno,
                            jugNombre   = jug.jugNombre,
                            jugPassword = jug.jugPassword,
                            jugPaterno  = jug.jugPaterno,
                            jugRut      = jug.jugRut,
                            jugRutDv    = jug.jugRutDv,
                            jugUsername = jug.jugUsername,
                        },
                        fechaConfirmacion = inter.pjuCreacion,
                        asistencia        = inter.pjuEstado,
                        galletas          = inter.pjuGalleta
                    }
                                          ).ToList();

                    if (jugadores == null)
                    {
                        return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Ocurrio un error o el partido con ID: " + idPartido + " no existe tiene jugadores asociados"));
                    }
                    else
                    {
                        return(Request.CreateResponse(HttpStatusCode.OK, jugadores.OrderBy(j => j.fechaConfirmacion)));
                    }
                }
            }
            catch (Exception ex)
            {
                //En caso de existir otro error, se envia estado de error y un mensaje
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
        public HttpResponseMessage GetEquipoChat(int idEquipo, int idJugador)
        {
            try
            {
                //Se obtienen los modelos de la BD
                using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
                {
                    //comprobar si el partido esta vinculado al jugador
                    var comprobacion = entities.Equipo_Jugador.FirstOrDefault(ej => ej.idJugador == idJugador &&
                                                                              ej.idEquipo == idEquipo);


                    if (comprobacion == null)
                    {
                        return(Request.CreateErrorResponse(HttpStatusCode.Unauthorized, "El jugador no se encuentra en el equipo especificado"));
                    }

                    //se obtienen todos los registros de chat para el idPartido
                    var chat = entities.Equipo_Chat.Where(ech => ech.idEquipo == idEquipo)
                               .Join(entities.Jugador,
                                     pch => pch.idJugador,
                                     j => j.idJugador,
                                     (mensaje, jugador) => new
                    {
                        autor = new
                        {
                            idJugador   = jugador.idJugador,
                            jugUsername = jugador.jugUsername,
                            jugFoto     = jugador.jugFoto,
                            jugApodo    = jugador.jugApodo
                        },

                        contenidoMensaje = mensaje.echMensaje,
                        creacion         = mensaje.echaCreacion
                    }
                                     ).ToList();

                    if (chat != null && chat.Count() > 0)
                    {
                        return(Request.CreateResponse(HttpStatusCode.OK, chat));
                    }
                    else
                    {
                        return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Ha ocurrido un error al intentar obtener los mensajes asociados al partido"));
                    }
                }
            }
            catch (Exception ex)
            {
                //En caso de existir otro error, se envia estado de error y un mensaje
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
Beispiel #15
0
        public HttpResponseMessage PostSolicitarIngreso(int idEquipo, int idJugador)
        {
            try
            {
                //Se obtienen los modelos de la BD
                using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
                {
                    //verificar si existe una solicitud de ingreso
                    var comprobacion0 = entities.Equipo_Solicita_Ingreso.FirstOrDefault(esi => esi.idJugador == idJugador &&
                                                                                        esi.idEquipo == idEquipo &&
                                                                                        esi.esiEstado == 0
                                                                                        );

                    if (comprobacion0 != null)
                    {
                        return(Request.CreateErrorResponse(HttpStatusCode.NotModified, "Ya existe una solicitud pendiente"));
                    }

                    //verificar si existe el equipo
                    var comprobacion1 = entities.Equipo.FirstOrDefault(e => e.idEquipo == e.idEquipo);
                    if (comprobacion1 == null)
                    {
                        return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "El equipo de id: " + idEquipo.ToString() + "no existe"));
                    }

                    //verificar si eljugador existe
                    var comprobacion2 = entities.Jugador.FirstOrDefault(j => j.idJugador == j.idJugador);
                    if (comprobacion2 == null)
                    {
                        return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "El jugador de id: " + idEquipo.ToString() + "no existe"));
                    }

                    var solicitud = new Equipo_Solicita_Ingreso();
                    solicitud.esiCreacion = DateTime.Now;
                    solicitud.esiEstado   = 0;
                    solicitud.idEquipo    = idEquipo;
                    solicitud.idJugador   = idJugador;

                    entities.Equipo_Solicita_Ingreso.Add(solicitud);
                    entities.SaveChanges();

                    return(Request.CreateResponse(HttpStatusCode.Created, "Solicitud enviado al equipo: " + solicitud.idEquipo.ToString()));
                }
            }
            catch (Exception ex)
            {
                //En caso de existir otro error, se envia estado de error y un mensaje
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
Beispiel #16
0
        public HttpResponseMessage GetJugadoresPartidoNoConf(int idPartido)
        {
            try
            {
                //Se obtienen los modelos de la BD
                using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
                {
                    //obtener de la tabla intermedia entre jugador y partido la fila donde se encuentra la id del jugador y la id del partido al mismo tiempo

                    var intermedio = entities.Partido
                                     .Where(p => p.idPartido == idPartido)
                                     .Join(entities.Equipo_Jugador,
                                           p => p.idEquipo,
                                           ej => ej.idEquipo,
                                           (par, equijug) => equijug).ToList();

                    var jugadores = intermedio
                                    .Join(entities.Jugador,
                                          i => i.idJugador,
                                          j => j.idJugador,
                                          (inter, jug) => jug).ToList();

                    var jugadoresConf = entities.Partido_Jugador
                                        .Where(pj => pj.idPartido == idPartido)
                                        .Join(entities.Jugador,
                                              pj => pj.idJugador,
                                              j => j.idJugador,
                                              (inter, jug) => jug).ToList();

                    var jugadoresNOconfirmados = jugadores.Where(j => !jugadoresConf.
                                                                 Select(jc => jc.idJugador)
                                                                 .Contains(j.idJugador));


                    if (jugadoresNOconfirmados == null)
                    {
                        return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Ocurrio un error o el partido con ID: " + idPartido + " no existe tiene jugadores asociados"));
                    }
                    else
                    {
                        return(Request.CreateResponse(HttpStatusCode.OK, jugadoresNOconfirmados));
                    }
                }
            }
            catch (Exception ex)
            {
                //En caso de existir otro error, se envia estado de error y un mensaje
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
 public HttpResponseMessage PutConfirmacionGalletas(int idJugador, int idPartido, int confirmar, int galletas)
 {
     try
     {
         //Se obtienen los modelos de la BD
         using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
         {
             //Se crea una variable con el deporte correspondiente a la ID
             var entity = entities.
                          Partido_Jugador.
                          FirstOrDefault
                              (pj => pj.idJugador == idJugador &&
                              pj.idPartido == idPartido);
             if (entity == null)
             {
                 //Se retorna el estado NotFound y un string que indica el error
                 return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Ha ocurrido un error al buscar el partido o el jugador"));
             }
             else
             {
                 //Se modifica la confirmacion
                 entity.pjuEstado   = confirmar;
                 entity.pjuCreacion = DateTime.Now;
                 if (confirmar == 0)
                 {
                     entity.pjuGalleta = 0;
                     //Se guardan los cambios
                     entities.SaveChanges();
                     //Se retorna el estado OK y la entidad Partido_Jugador
                     return(Request.CreateResponse(HttpStatusCode.OK, entity));
                 }
                 else
                 {
                     entity.pjuGalleta = galletas;
                     //Se guardan los cambios
                     entities.SaveChanges();
                     //Se retorna el estado OK y la entidad Partido_Jugador
                     return(Request.CreateResponse(HttpStatusCode.OK, entity));
                 }
             }
         }
     }
     catch (Exception ex)
     {
         //En caso de existir otro error, se envia estado de error y un mensaje
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
     }
 }
        //Funcion que modifica un jugador
        public HttpResponseMessage Put(int id, [FromBody] Jugador jugador)
        {
            try
            {
                //Se obtienen los modelos de la BD
                using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
                {
                    //Se crea una variable con el jugador correspondiente a la ID
                    var entity = entities.Jugador.FirstOrDefault(e => e.idJugador == id);
                    if (entity == null)
                    {
                        //Se retorna el estado NotFound y un string que indica el error
                        return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Jugador con ID: " + id.ToString() + " no existe, no es posible actualizar"));
                    }
                    else
                    {
                        //Se modifican los campos del jugador
                        entity.jugApodo    = jugador.jugApodo;
                        entity.jugCelular  = jugador.jugCelular;
                        entity.jugCreacion = jugador.jugCreacion;
                        entity.jugEmail    = jugador.jugEmail;
                        entity.jugFono     = jugador.jugFono;
                        entity.jugFoto     = jugador.jugFoto;
                        entity.jugMaterno  = jugador.jugMaterno;
                        entity.jugNombre   = jugador.jugNombre;
                        entity.jugPassword = jugador.jugPassword;
                        entity.jugPaterno  = jugador.jugPaterno;
                        entity.jugRut      = jugador.jugRut;
                        entity.jugRutDv    = jugador.jugRutDv;
                        entity.jugUsername = jugador.jugUsername;

                        //Se guardan los cambios
                        entities.SaveChanges();
                        //Se retorna el estado OK y el jugador
                        return(Request.CreateResponse(HttpStatusCode.OK, entity));
                    }
                }
            }
            catch (Exception ex)
            {
                //En caso de existir otro error, se envia estado de error y un mensaje
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
Beispiel #19
0
        public HttpResponseMessage GetChat(int idEquipo)
        {
            try
            {
                //Se obtienen los modelos de la BD
                using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
                {
                    //se obtienen todos los registros de chat para el idPartido
                    var chat = entities.Equipo_Chat.Where(ech => ech.idEquipo == idEquipo)
                               .Join(entities.Jugador,
                                     pch => pch.idJugador,
                                     j => j.idJugador,
                                     (mensaje, jugador) => new
                    {
                        autor = new
                        {
                            idJugador   = jugador.idJugador,
                            jugUsername = jugador.jugUsername,
                            jugFoto     = jugador.jugFoto,
                            jugApodo    = jugador.jugApodo
                        },

                        contenidoMensaje = mensaje.echMensaje,
                        creacion         = mensaje.echaCreacion
                    }
                                     ).ToList();

                    if (chat != null && chat.Count() > 0)
                    {
                        return(Request.CreateResponse(HttpStatusCode.OK, chat));
                    }
                    else
                    {
                        return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Ha ocurrido un error al intentar obtener los mensajes, o quizas este equipo no tiene mensajes"));
                    }
                }
            }
            catch (Exception ex)
            {
                //En caso de existir otro error, se envia estado de error y un mensaje
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
Beispiel #20
0
        public HttpResponseMessage Get()
        {
            try
            {
                //Se obtienen los modelos de la BD
                using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
                {
                    //metodo 2 obtener el cruce de las tablas jugador, partido y partidoJugador

                    /*   var consulta = (from pj in entities.Partido_Jugador
                     *                 join p in entities.Partido on pj.idJugador == p. )*/

                    var consulta = entities.Partido.Join(entities.Equipo,
                                                         p => p.idEquipo,
                                                         e => e.idEquipo,
                                                         (partidoT, equipo)
                                                         => new
                    {
                        idPartido        = partidoT.idPartido,
                        equipo           = equipo,
                        tipoPartido      = entities.Tipo_Partido.FirstOrDefault(tp => tp.idTipoPartido == partidoT.idTipoPartido),
                        parCancha        = partidoT.parCancha,
                        parComplejo      = partidoT.parComplejo,
                        parCreacion      = partidoT.parCreacion,
                        parEstado        = partidoT.parEstado,
                        parFecha         = partidoT.parFecha,
                        parGeoReferencia = partidoT.parGeoReferencia,
                        parHora          = partidoT.parHora,
                        parRival         = partidoT.parRival,
                        parUbicacion     = partidoT.parUbicacion,
                        parIncidentes    = entities.Partido_Incidente.Where(pi => pi.idPartido == partidoT.idPartido)
                    }
                                                         ).ToList();

                    return(Request.CreateResponse(HttpStatusCode.OK, consulta));
                }
            }
            catch (Exception ex)
            {
                //En caso de existir otro error, se envia estado de error y un mensaje
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
Beispiel #21
0
        //Funcion que modifica un partido
        public HttpResponseMessage Put(int id, [FromBody] Partido partido)
        {
            try
            {
                //Se obtienen los modelos de la BD
                using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
                {
                    //Se crea una variable con el partido correspondiente a la ID
                    var partidoEntity = entities.Partido.FirstOrDefault(p => p.idPartido == id);
                    if (partidoEntity == null)
                    {
                        //Se retorna el estado NotFound y un string que indica el error
                        return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Partido con ID: " + id.ToString() + " no existe, no es posible actualizar"));
                    }
                    else
                    {
                        //Se modifican los campos del partido
                        partidoEntity.idTipoPartido    = partido.idTipoPartido;
                        partidoEntity.parCancha        = partido.parCancha;
                        partidoEntity.parComplejo      = partido.parComplejo;
                        partidoEntity.parCreacion      = partido.parCreacion;
                        partidoEntity.parEstado        = partido.parEstado;
                        partidoEntity.parFecha         = partido.parFecha;
                        partidoEntity.parGeoReferencia = partido.parGeoReferencia;
                        partidoEntity.parHora          = partido.parHora;
                        partidoEntity.parRival         = partido.parRival;
                        partidoEntity.parUbicacion     = partido.parUbicacion;

                        //Se guardan los cambios
                        entities.SaveChanges();
                        //Se retorna el estado OK y el partido
                        return(Request.CreateResponse(HttpStatusCode.OK, partidoEntity));
                    }
                }
            }
            catch (Exception ex)
            {
                //En caso de existir otro error, se envia estado de error y un mensaje
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
Beispiel #22
0
/* opcion sin procesamiento
 *      public HttpResponseMessage Get()
 *      {
 *          try
 *          {
 *              //Se obtienen los modelos de la BD
 *              using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
 *              {
 *                  //Se crea una lista con todos los partidos
 *                  var partidos = entities.Partido.ToList();
 *                  if (partidos != null)
 *                  {
 *
 *
 *                      //Se retorna el estado OK y la lista de partidos
 *                      return Request.CreateResponse(HttpStatusCode.OK, partidos);
 *                  }
 *                  else
 *                  {
 *                      //Se retorna el estado NotFound y un string que indica el error
 *                      return Request.CreateErrorResponse(HttpStatusCode.NotFound, "No existen Partidos");
 *                  }
 *              }
 *
 *          }
 *          catch (Exception ex)
 *          {
 *              //En caso de existir otro error, se envia estado de error y un mensaje
 *              return Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex);
 *          }
 *
 *      }
 */



        //Funcion que retorna un partido en base a su id
        public HttpResponseMessage Get(int id)
        {
            try
            {
                //Se obtienen los modelos de la BD
                using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
                {
                    //Se crea una variable con el partido correspondiente a la ID
                    var partido = entities.Partido.FirstOrDefault(p => p.idPartido == id);
                    if (partido != null)
                    {
                        PartidoCompuesto pc = new PartidoCompuesto();

                        pc.idPartido        = partido.idPartido;
                        pc.equipo           = entities.Equipo.FirstOrDefault(e => e.idEquipo == partido.idEquipo);
                        pc.Tipo_Partido     = entities.Tipo_Partido.FirstOrDefault(tp => tp.idTipoPartido == partido.idTipoPartido);
                        pc.parCancha        = partido.parCancha;
                        pc.parComplejo      = partido.parComplejo;
                        pc.parCreacion      = partido.parCreacion;
                        pc.parEstado        = partido.parEstado;
                        pc.parFecha         = partido.parFecha;
                        pc.parGeoReferencia = partido.parGeoReferencia;
                        pc.parHora          = partido.parHora;
                        pc.parRival         = partido.parRival;
                        pc.parUbicacion     = partido.parUbicacion;

                        return(Request.CreateResponse(HttpStatusCode.OK, pc));
                    }
                    else
                    {
                        //Se retorna el estado NotFound y un string que indica el error
                        return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Partido con ID: " + id.ToString() + " no existe"));
                    }
                }
            }
            catch (Exception ex)
            {
                //En caso de existir otro error, se envia estado de error y un mensaje
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
        //Funcion que modifica un complejo deportivo
        public HttpResponseMessage Put(int id, [FromBody] Complejo_Deportivo complejo)
        {
            try
            {
                //Se obtienen los modelos de la BD
                using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
                {
                    //Se crea una variable con el complejo correspondiente a la ID
                    var entity = entities.Complejo_Deportivo.FirstOrDefault(e => e.idComplejoDeportivo == id);
                    if (entity == null)
                    {
                        //Se retorna el estado NotFound y un string que indica el error
                        return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Complejo con ID: " + id.ToString() + " no existe, no es posible actualizar"));
                    }
                    else
                    {
                        //Se modifican los campos del complejo deportivo
                        entity.cmdCelular       = complejo.cmdCelular;
                        entity.cmdCreacion      = complejo.cmdCreacion;
                        entity.cmdDireccion     = complejo.cmdDireccion;
                        entity.cmdEmail         = complejo.cmdEmail;
                        entity.cmdFax           = complejo.cmdFax;
                        entity.cmdFono          = complejo.cmdFono;
                        entity.cmdGeoreferencia = complejo.cmdGeoreferencia;
                        entity.cmdNombre        = complejo.cmdNombre;
                        entity.cmdUrl           = complejo.cmdUrl;


                        //Se guardan los cambios
                        entities.SaveChanges();
                        //Se retorna el estado OK y el complejo
                        return(Request.CreateResponse(HttpStatusCode.OK, entity));
                    }
                }
            }
            catch (Exception ex)
            {
                //En caso de existir otro error, se envia estado de error y un mensaje
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
        public HttpResponseMessage GetEquipos(int idJugador)
        {
            try
            {
                //Se obtienen los modelos de la BD
                using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
                {
                    var consulta = entities.Equipo_Jugador.Where(ej => ej.idEquipoJugador == idJugador)
                                   .Join(entities.Equipo,
                                         ej => ej.idEquipo,
                                         e => e.idEquipo,
                                         (equipoJugador, equipo) => equipo)
                                   .ToList();


                    if (consulta != null)
                    {
                        if (consulta.Count > 0)
                        {
                            //Se retorna el estado OK y el jugador
                            return(Request.CreateResponse(HttpStatusCode.OK, consulta));
                        }
                        else
                        {
                            return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "El jugador no posee equipos asociados"));
                        }
                    }
                    else
                    {
                        //Se retorna el estado NotFound y un string que indica el error
                        return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Jugador con ID: " + idJugador + " no existe"));
                    }
                }
            }
            catch (Exception ex)
            {
                //En caso de existir otro error, se envia estado de error y un mensaje
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
Beispiel #25
0
        //Funcion que modifica un equipo
        public HttpResponseMessage Put(int id, [FromBody] Equipo equipo)
        {
            try
            {
                //Se obtienen los modelos de la BD
                using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
                {
                    //Se crea una variable con el jugador correspondiente a la ID
                    var entity = entities.Equipo.FirstOrDefault(e => e.idEquipo == id);
                    if (entity == null)
                    {
                        //Se retorna el estado NotFound y un string que indica el error
                        return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Equipo con ID: " + id.ToString() + " no existe, no es posible actualizar"));
                    }
                    else
                    {
                        //Se modifican los campos del jugador
                        entity.equContacto        = equipo.equContacto;
                        entity.equContactoCelular = equipo.equContactoCelular;
                        entity.equContactoEmail   = equipo.equContactoEmail;
                        entity.equContactoFono    = equipo.equContactoFono;
                        entity.equDescripcion     = equipo.equDescripcion;
                        entity.equEmail           = equipo.equEmail;
                        entity.equNombre          = equipo.equNombre;
                        entity.equUrl             = equipo.equUrl;

                        //Se guardan los cambios
                        entities.SaveChanges();
                        //Se retorna el estado OK y el jugador
                        return(Request.CreateResponse(HttpStatusCode.OK, entity));
                    }
                }
            }
            catch (Exception ex)
            {
                //En caso de existir otro error, se envia estado de error y un mensaje
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
 //Funcion que agrega un complejo deportivo
 public HttpResponseMessage Post([FromBody] Complejo_Deportivo complejo)
 {
     try
     {
         //Se obtienen los modelos de la BD
         using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
         {
             //Se agrega el complejo a las entidades
             entities.Complejo_Deportivo.Add(complejo);
             entities.SaveChanges();
             //Se crea un un mensaje con el codigo Created y con el complejo ingresado
             var message = Request.CreateResponse(HttpStatusCode.Created, complejo);
             //Se concatena la ID al complejo del mensaje
             message.Headers.Location = new Uri(Request.RequestUri + complejo.idComplejoDeportivo.ToString());
             return(message);
         }
     }
     catch (Exception ex)
     {
         //En caso de existir otro error, se envia estado de error y un mensaje
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
     }
 }
 //Funcion que agrega un tipo de cancha
 public HttpResponseMessage Post([FromBody] Tipo_Cancha tca)
 {
     try
     {
         //Se obtienen los modelos de la BD
         using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
         {
             //Se agrega el tipo de partido a las entidades
             entities.Tipo_Cancha.Add(tca);
             entities.SaveChanges();
             //Se crea un un mensaje con el codigo Created y con el tipo de cancha ingresado
             var message = Request.CreateResponse(HttpStatusCode.Created, tca);
             //Se concatena la ID al tipo de cancha del mensaje
             message.Headers.Location = new Uri(Request.RequestUri + tca.idTipoCancha.ToString());
             return(message);
         }
     }
     catch (Exception ex)
     {
         //En caso de existir otro error, se envia estado de error y un mensaje
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
     }
 }
 public HttpResponseMessage PostConfirmacionGalletas(int idJugador, int idPartido, int confirmar, int galletas)
 {
     try
     {
         //Se obtienen los modelos de la BD
         using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
         {
             Partido_Jugador pj = new Partido_Jugador();
             pj.idJugador   = idJugador;
             pj.idPartido   = idPartido;
             pj.pjuCreacion = DateTime.Now;
             pj.pjuEstado   = confirmar;
             if (confirmar == 0)
             {
                 pj.pjuGalleta = 0;
             }
             else
             {
                 pj.pjuGalleta = galletas;
             }
             //Se agrega el pj a las entidades
             entities.Partido_Jugador.Add(pj);
             entities.SaveChanges();
             //Se crea un un mensaje con el codigo Created y con el Partido_Jugador ingresado
             var message = Request.CreateResponse(HttpStatusCode.Created, pj);
             //Se concatena la ID al deporte del mensaje
             message.Headers.Location = new Uri(Request.RequestUri + pj.idPartidoJugador.ToString());
             return(message);
         }
     }
     catch (Exception ex)
     {
         //En caso de existir otro error, se envia estado de error y un mensaje
         return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
     }
 }
        public HttpResponseMessage GetPartidosNC(int idJugador)
        {
            try
            {
                //Se obtienen los modelos de la BD
                using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
                {
                    var partidos = entities.Equipo_Jugador
                                   .Where(ej => ej.idJugador == idJugador)              //se filtran con Where los elementos de Equipo_Jugador con la id del jugador buscado
                                   .Join(entities.Partido
                                         .Where(p => p.parFecha.Value >= DateTime.Now), //el resultado del Where se cruza con la tabla de Partido
                                         ej => ej.idEquipo,                             //se toma como elemento de comparacion el idEquipo de la tabla Equipo_Jugador
                                         p => p.idEquipo,                               //se toma como segundo elemento de comparacion el idEquipo de la tabla Partido
                                         (EquiJug, partidoT)                            //el join devuelve los elementos de Equipo_Jugador y partido coincidentes
                                         => partidoT).ToList();

                    var partidosConfirmados = entities.Partido_Jugador
                                              .Where(pj => pj.idJugador == idJugador)
                                              .ToList();

                    var partidosNOconfirmados = partidos.Where(p => !partidosConfirmados.
                                                               Select(pj => pj.idPartido)
                                                               .Contains(p.idPartido));

                    var PNC =
                        partidosNOconfirmados
                        .Join(partidosNOconfirmados,
                              pnc1 => pnc1.idPartido,
                              pnc2 => pnc2.idPartido,
                              (p1, p2) => new
                    {
                        partido = new
                        {
                            idPartido   = p2.idPartido,
                            equipo      = entities.Equipo.FirstOrDefault(e => e.idEquipo == p2.idEquipo),                   //para el equipo se aprovecha la idEquipo del partido y se agrega inmediatamente el equipo
                            tipoPartido = entities.Tipo_Partido.FirstOrDefault(tp => tp.idTipoPartido == p2.idTipoPartido), //se aplica lo mismo para el tipo_partido
                            parCancha   = p2.parCancha,
                            parComplejo = p2.parComplejo,
                            parCreacion = p2.parCreacion,
                            parEstado   = p2.parEstado,
                            parFecha    = new
                            {
                                Año = p2.parFecha.Value.Year,
                                Mes = p2.parFecha.Value.Month,
                                Dia = p2.parFecha.Value.Day
                            },
                            parGeoReferencia = p2.parGeoReferencia,
                            parHora          = new
                            {
                                Hora    = p2.parHora.Value.Hours,
                                Minutos = p2.parHora.Value.Minutes
                            },
                            parRival     = p2.parRival,
                            parUbicacion = p2.parUbicacion
                        }
                    }).ToList();

                    if (PNC != null)
                    {
                        return(Request.CreateResponse(HttpStatusCode.OK, PNC));
                    }
                    else
                    {
                        return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Ocurrio un error al buscar los partidos o el jugador no tiene partidos no confirmados asociados"));
                    }
                }
            }
            catch (Exception ex)
            {
                //En caso de existir otro error, se envia estado de error y un mensaje
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }
        public HttpResponseMessage GetPartidosC(int idJugador)
        {
            try
            {
                //Se obtienen los modelos de la BD
                using (PichangueaUsachEntities entities = new PichangueaUsachEntities())
                {
                    var partidosConfirmados =
                        entities.Partido_Jugador
                        .Where(pj => pj.idJugador == idJugador)
                        .Join(entities.Partido.Where(p => p.parFecha.Value >= DateTime.Now),
                              pj => pj.idPartido,
                              p => p.idPartido,
                              (ParJug, Par) => new
                    {
                        partido = new
                        {
                            idPartido   = Par.idPartido,
                            equipo      = entities.Equipo.FirstOrDefault(e => e.idEquipo == Par.idEquipo),                   //para el equipo se aprovecha la idEquipo del partido y se agrega inmediatamente el equipo
                            tipoPartido = entities.Tipo_Partido.FirstOrDefault(tp => tp.idTipoPartido == Par.idTipoPartido), //se aplica lo mismo para el tipo_partido
                            parCancha   = Par.parCancha,
                            parComplejo = Par.parComplejo,
                            parCreacion = Par.parCreacion,
                            parEstado   = Par.parEstado,
                            parFecha    = new
                            {
                                Año = Par.parFecha.Value.Year,
                                Mes = Par.parFecha.Value.Month,
                                Dia = Par.parFecha.Value.Day
                            },
                            parGeoReferencia = Par.parGeoReferencia,
                            parHora          = new
                            {
                                Hora    = Par.parHora.Value.Hours,
                                Minutos = Par.parHora.Value.Minutes
                            },
                            parRival     = Par.parRival,
                            parUbicacion = Par.parUbicacion
                        },
                        asistencia = ParJug.pjuEstado,
                        galletas   = ParJug.pjuGalleta
                    })
                        .ToList();



                    if (partidosConfirmados != null)
                    {
                        return(Request.CreateResponse(HttpStatusCode.OK, partidosConfirmados));
                    }
                    else
                    {
                        return(Request.CreateErrorResponse(HttpStatusCode.NotFound, "Ocurrio un error al buscar los partidos o el jugador no tiene partidos confirmados asociados"));
                    }
                }
            }
            catch (Exception ex)
            {
                //En caso de existir otro error, se envia estado de error y un mensaje
                return(Request.CreateErrorResponse(HttpStatusCode.BadRequest, ex));
            }
        }