public async Task <IHttpActionResult> GetRequestedMatch(int id)
        {
            RequestedMatch requestedMatch = await db.RequestedMatchs.FindAsync(id);

            if (requestedMatch == null)
            {
                return(NotFound());
            }

            return(Ok(requestedMatch));
        }
        public async Task <IHttpActionResult> DeleteRequestedMatch(int id)
        {
            RequestedMatch requestedMatch = await db.RequestedMatchs.FindAsync(id);

            if (requestedMatch == null)
            {
                return(NotFound());
            }

            db.RequestedMatchs.Remove(requestedMatch);
            await db.SaveChangesAsync();

            return(Ok(requestedMatch));
        }
Example #3
0
        public List <PlayerRecomendation> RandomPlayers(Player gamerL)
        {
            List <PlayerRecomendation> gamers = new List <PlayerRecomendation>();
            List <Match> matches = db.Matches
                                   .Where(ma => ma.IdPlayer1 == gamerL.ID || ma.IdPlayer2 == gamerL.ID)
                                   .AsEnumerable().ToList();
            List <RequestedMatch> reqMatches = db.RequestedMatchs
                                               .Where(ma => ma.IdPlayer1 == gamerL.ID || ma.IdPlayer2 == gamerL.ID)
                                               .AsEnumerable().ToList();

            foreach (Player gMatch in db.Gamers)
            {
                if (gMatch.ID != gamerL.ID)
                {
                    Match found = matches.FirstOrDefault(x =>
                                                         x.IdPlayer2 == gMatch.ID || x.IdPlayer1 == gMatch.ID);

                    RequestedMatch Requested = reqMatches.FirstOrDefault(x =>
                                                                         x.IdPlayer2 == gMatch.ID || x.IdPlayer1 == gMatch.ID);

                    if (found == null && Requested == null)
                    {
                        gamers.Add(new PlayerRecomendation()
                        {
                            playerFound = new Player()
                            {
                                ID        = gMatch.ID,
                                Nickname  = gMatch.Nickname,
                                Name      = gMatch.Name,
                                LastName  = gMatch.LastName,
                                Email     = gMatch.Email,
                                ImagePath = gMatch.ImagePath,
                                Bio       = gMatch.Bio,
                                Slogan    = gMatch.Slogan,
                                Sex       = gMatch.Sex,
                            },
                            PlayerRecName = "pessoas aleatórias.",
                            aproximity    = 0f,
                        });
                    }
                }
            }

            return(gamers);
        }
        public async Task <IHttpActionResult> PutRequestedMatch(RequestedMatch requestedMatch)
        {
            int id;

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            var req2 = db.Set <RequestedMatch>().FirstOrDefault(req => req.IdPlayer1 == requestedMatch.IdPlayer1 &&
                                                                req.IdPlayer2 == requestedMatch.IdPlayer2);

            if (req2 == null)
            {
                return(BadRequest());
            }
            id = req2.ID;
            requestedMatch.ID = id;

            if (id != requestedMatch.ID)
            {
                return(BadRequest());
            }

            if (requestedMatch.Status != "A")
            {
                bool  deuMatch = requestedMatch.Status == "M" ? true : false;
                Match match    = new Match()
                {
                    ID        = 0,
                    IdPlayer1 = requestedMatch.IdPlayer1,
                    IdPlayer2 = requestedMatch.IdPlayer2,
                    Status    = deuMatch,
                    Weight    = 0,
                    CreateAt  = DateTime.UtcNow,
                    AlteredAt = DateTime.UtcNow
                };
                db.Matches.Add(match);
            }

            db.Entry(req2).State           = EntityState.Detached;
            db.Entry(requestedMatch).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!RequestedMatchExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(Ok());
        }