Ejemplo n.º 1
0
        public async Task <IHttpActionResult> PutPlayerRequestedGroup(int id, PlayerRequestedGroup playerRequestedGroup)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

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

            db.Entry(playerRequestedGroup).State = EntityState.Modified;

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

            return(StatusCode(HttpStatusCode.NoContent));
        }
Ejemplo n.º 2
0
        public async Task <IHttpActionResult> PutFilter(int id, Filter filter)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != filter.ID_Filter)
            {
                return(BadRequest());
            }

            db.Entry(filter).State = EntityState.Modified;

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

            return(StatusCode(HttpStatusCode.NoContent));
        }
Ejemplo n.º 3
0
        public async Task <IHttpActionResult> PutClassification_Game(int id, Classification_Player classification_Game)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

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

            db.Entry(classification_Game).State = EntityState.Modified;

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

            return(StatusCode(HttpStatusCode.NoContent));
        }
Ejemplo n.º 4
0
        public async Task <IHttpActionResult> PutMessageHall(int id, MessageHall messageHall)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

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

            db.Entry(messageHall).State = EntityState.Modified;

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

            return(StatusCode(HttpStatusCode.NoContent));
        }
Ejemplo n.º 5
0
        public async Task <Player> ConnectUser(int UserID, string ConnectionId)
        {
            Player player = await db.Gamers.FindAsync(UserID);

            if (player != null)
            {
                if (player.ChatConnections == null)
                {
                    player.ChatConnections = new List <ChatConnection>();
                }
                player.ChatConnections.Add(new ChatConnection {
                    Connected = true, ConnectionID = ConnectionId
                });
                await db.SaveChangesAsync();
            }
            return(player);
        }
Ejemplo n.º 6
0
        public async Task <IHttpActionResult> PutMatch(int id, Match match)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != match.ID)
            {
                return(BadRequest());
            }
            match.AlteredAt = DateTime.UtcNow;
            Player p1 = await db.Gamers.FindAsync(match.IdPlayer1);

            Player p2 = await db.Gamers.FindAsync(match.IdPlayer2);

            match.Weight          = (5.0f - Math.Abs(p1.MPoints - p2.MPoints));
            db.Entry(match).State = EntityState.Modified;

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

            return(Ok());
        }
Ejemplo n.º 7
0
        public async Task <IHttpActionResult> PostPlayerInOw([FromBody] PlayerGame playerGame, [FromUri] region Region)
        {
            if (OwAPI.GetPlayerProfile(playerGame.IdAPI, Region, playerGame.IDGamer) == null)
            {
                return(BadRequest($"{playerGame.IdAPI} não possui conta associada a overwatch ou conta não é publica"));
            }
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            playerGame.Game  = db.Games.Find(playerGame.IDGame);
            playerGame.Gamer = db.Gamers.Find(playerGame.IDGamer);
            db.PlayerGames.Add(playerGame);
            await db.SaveChangesAsync();

            return(Ok(playerGame));
        }
        public async Task <IHttpActionResult> PutRequestedGroup(int id, RequestedGroup requestedGroup)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            Group group = db.Groups.Find(requestedGroup.IdGroup);

            group.TotalComponentes++;
            if (group == null)
            {
                return(NotFound());
            }

            var integrantes = db.PlayerGroups.Where(x => x.IdGroup == requestedGroup.IdGroup).Select(x => x.Player).AsEnumerable().ToArray();

            // Checar se o grupo está em sua capacidade máxima
            if (integrantes.Length >= group.Capacity)
            {
                return(BadRequest(message: "O grupo está em sua capacidade máxima"));
            }

            // Checar se o player já está naquele grupo
            Player p1 = integrantes.FirstOrDefault(x => x.ID == requestedGroup.IdPlayer);

            if (p1 != null)
            {
                requestedGroup.Status          = "F";
                db.Entry(requestedGroup).State = EntityState.Modified;
                try
                {
                    await db.SaveChangesAsync();
                } catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
                return(BadRequest(message: "O jogador já se encontra nesse grupo. Removendo solicitação..."));
            }

            PlayerGroup pg = null;

            if (requestedGroup.Status == "T")
            {
                pg = new PlayerGroup()
                {
                    CreateAt  = DateTime.UtcNow,
                    AlteredAt = DateTime.UtcNow,
                    IdGroup   = group.ID,
                    IdPlayer  = requestedGroup.IdPlayer
                };
            }

            requestedGroup.Status = "F";

            db.PlayerGroups.Add(pg);
            try
            {
                await db.SaveChangesAsync();
            }
            catch (Exception e) { Console.Write(e.Message); }

            db.Entry(requestedGroup).State = EntityState.Modified;
            db.Entry(group).State          = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!RequestedGroupExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            } catch (Exception e)
            {
                Console.WriteLine(e.Message);
            }

            return(Ok(requestedGroup));
        }
        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());
        }