示例#1
0
        private JogoViewModel VerificaJogos(JogoCreateEditViewModel jogo2, List <JogoViewModel> jogos, string chave)
        {
            var jogo1 = new JogoViewModel();

            if (jogo2.NumPartida % 2 == 0)
            {
                jogo1 = jogos.Find(j => j.Chave.ToUpper().Equals(chave.ToUpper()) && j.NumPartida == jogo2.NumPartida - 1);

                return(jogo1);
            }
            else
            {
                jogo1 = jogos.Find(j => j.Chave.ToUpper().Equals(chave.ToUpper()) && j.NumPartida == jogo2.NumPartida + 1);

                return(jogo1);
            }
        }
示例#2
0
 private bool VerificaTimeVencedor(JogoCreateEditViewModel jogo)
 {
     if (jogo.GolsTimeId1 > jogo.GolsTimeId2)
     {
         jogo.TimeVencedor = jogo.TimeId1;
         return(true);
     }
     else if (jogo.GolsTimeId1 < jogo.GolsTimeId2)
     {
         jogo.TimeVencedor = jogo.TimeId2;
         return(true);
     }
     else
     {
         return(false);
     }
 }
示例#3
0
        public async Task <ActionResult> Create(JogoCreateEditViewModel jogo)
        {
            try
            {
                var response = await connectionApi.GetAllJogos();

                var jogos = (List <JogoViewModel>) await response.Content.ReadAsAsync <IEnumerable <JogoViewModel> >();

                var numPartidas = jogos.Where(j => j.Chave.ToUpper().Equals(Chaves.OITAVAS.ToUpper())).Count();
                jogo.NumPartida    = numPartidas + 1;
                jogo.DataDaPartida = Convert.ToDateTime(DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss", new CultureInfo("pt-BR")));

                await connectionApi.InsertJogo(jogo);

                return(RedirectToAction("Index"));
            }
            catch
            {
                return(View());
            }
        }
示例#4
0
        // GET: Jogo/Edit/5
        public async Task <ActionResult> Edit(int id)
        {
            var responseTimes = await connectionApi.GetAllTimes();

            var response = await connectionApi.GetJogoById(id);

            if (response.IsSuccessStatusCode && responseTimes.IsSuccessStatusCode)
            {
                var modelTimes = await responseTimes.Content.ReadAsAsync <IEnumerable <TimeViewModel> >();

                var modelJogoView = await response.Content.ReadAsAsync <JogoViewModel>();

                var model = new JogoCreateEditViewModel()
                {
                    NumPartida    = modelJogoView.NumPartida,
                    DataDaPartida = modelJogoView.DataDaPartida,
                    Chave         = modelJogoView.Chave,
                    TimeId1       = modelJogoView.TimeId1,
                    TimeId2       = modelJogoView.TimeId2,
                    GolsTimeId1   = modelJogoView.GolsTimeId1,
                    GolsTimeId2   = modelJogoView.GolsTimeId2,
                    TimeVencedor  = modelJogoView.TimeVencedor,
                    Terminou      = modelJogoView.Terminou
                };
                var selectListChaves = new List <SelectListItem>();

                var select = new SelectListItem
                {
                    Value    = model.Chave.ToString(),
                    Text     = model.Chave.ToString(),
                    Selected = model.Chave.ToString() == model.Chave
                };
                selectListChaves.Add(select);
                model.Chaves = selectListChaves;

                return(View(model));
            }

            return(View());
        }
示例#5
0
        public async Task <ActionResult> Edit(int id, JogoCreateEditViewModel jogo)
        {
            try
            {
                if (jogo.Terminou.Equals(true) && VerificaTimeVencedor(jogo))
                {
                    await ProximaFase(jogo);

                    await connectionApi.UpdateJogo(id, jogo);

                    return(RedirectToAction("Index"));
                }
                else
                {
                    return(View());
                }
            }
            catch
            {
                return(View());
            }
        }
 public async Task <HttpResponseMessage> InsertJogo(JogoCreateEditViewModel model)
 {
     return(await httpClient.PostAsJsonAsync("api/Jogo", model));
 }
 public async Task <HttpResponseMessage> UpdateJogo(int id, JogoCreateEditViewModel model)
 {
     return(await httpClient.PutAsJsonAsync($"api/Jogo/{id}", model));
 }
示例#8
0
        public async Task ProximaFase(JogoCreateEditViewModel jogo2)
        {
            var response = await connectionApi.GetAllJogos();

            var jogos = (List <JogoViewModel>) await response.Content.ReadAsAsync <IEnumerable <JogoViewModel> >();

            var jogo1 = new JogoViewModel();

            if (jogo2.Chave.ToUpper().Equals(Chaves.OITAVAS.ToUpper()))
            {
                jogo1 = VerificaJogos(jogo2, jogos, Chaves.OITAVAS);

                if (jogo1.Terminou.Equals(true))
                {
                    var numPartidasQuartas = jogos.Where(j => j.Chave.ToUpper().Equals(Chaves.QUARTAS.ToUpper())).Count();

                    var novoJogo = new JogoCreateEditViewModel()
                    {
                        DataDaPartida = Convert.ToDateTime(DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss", new CultureInfo("pt-BR"))),
                        NumPartida    = numPartidasQuartas + 1,
                        Chave         = Chaves.QUARTAS,
                        TimeId1       = jogo1.TimeVencedor,
                        TimeId2       = jogo2.TimeVencedor
                    };

                    await connectionApi.InsertJogo(novoJogo);

                    return;
                }
            }
            else if (jogo2.Chave.ToUpper().Equals(Chaves.QUARTAS.ToUpper()))
            {
                jogo1 = VerificaJogos(jogo2, jogos, Chaves.QUARTAS);

                if (jogo1.Terminou.Equals(true))
                {
                    var numPartidasQuartas = jogos.Where(j => j.Chave.ToUpper().Equals(Chaves.SEMINIFINAL.ToUpper())).Count();

                    var novoJogo = new JogoCreateEditViewModel()
                    {
                        DataDaPartida = Convert.ToDateTime(DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss", new CultureInfo("pt-BR"))),
                        NumPartida    = numPartidasQuartas + 1,
                        Chave         = Chaves.SEMINIFINAL,
                        TimeId1       = jogo1.TimeVencedor,
                        TimeId2       = jogo2.TimeVencedor
                    };

                    await connectionApi.InsertJogo(novoJogo);

                    return;
                }
            }
            else if (jogo2.Chave.ToUpper().Equals(Chaves.SEMINIFINAL.ToUpper()))
            {
                jogo1 = VerificaJogos(jogo2, jogos, Chaves.SEMINIFINAL);

                if (jogo1.Terminou.Equals(true))
                {
                    var numPartidasQuartas = jogos.Where(j => j.Chave.ToUpper().Equals(Chaves.FINAL.ToUpper())).Count();

                    var novoJogo = new JogoCreateEditViewModel()
                    {
                        DataDaPartida = Convert.ToDateTime(DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss", new CultureInfo("pt-BR"))),
                        NumPartida    = numPartidasQuartas + 1,
                        Chave         = Chaves.FINAL,
                        TimeId1       = jogo1.TimeVencedor,
                        TimeId2       = jogo2.TimeVencedor
                    };

                    await connectionApi.InsertJogo(novoJogo);

                    return;
                }
            }
            else if (jogo2.Chave.ToUpper().Equals(Chaves.FINAL.ToUpper()))
            {
            }
            else
            {
                return;
            }
        }
示例#9
0
        // GET: Jogo/Create
        public async Task <ActionResult> Create()
        {
            var responseJogos = await connectionApi.GetAllJogos();

            var jogos = await responseJogos.Content.ReadAsAsync <IEnumerable <JogoViewModel> >();

            jogos.Where(j => j.Chave.ToUpper() == Chaves.OITAVAS.ToUpper());

            if (jogos.Where(j => j.Chave.ToUpper() == Chaves.OITAVAS.ToUpper()).Count() == 8)
            {
                return(View("Error"));
            }
            else
            {
                var response = await connectionApi.GetAllTimes();

                if (response.IsSuccessStatusCode)
                {
                    var modelTimes = await response.Content.ReadAsAsync <IEnumerable <TimeViewModel> >();

                    var model            = new JogoCreateEditViewModel();
                    var selectList1      = new List <SelectListItem>();
                    var selectList2      = new List <SelectListItem>();
                    var selectListChaves = new List <SelectListItem>();

                    foreach (var ch in Chaves.ChavesList)
                    {
                        if (ch.ToString().Equals(Chaves.OITAVAS))
                        {
                            var select = new SelectListItem
                            {
                                Value    = ch.ToString(),
                                Text     = ch.ToString(),
                                Selected = ch.ToString() == model.Chave
                            };
                            selectListChaves.Add(select);
                        }
                    }
                    model.Chaves = selectListChaves;

                    foreach (var t in modelTimes)
                    {
                        var time1 = new SelectListItem
                        {
                            Value    = ((int)t.Id).ToString(),
                            Text     = t.Nome,
                            Selected = t.Id == model.TimeId1
                        };
                        var time2 = new SelectListItem
                        {
                            Value    = ((int)t.Id).ToString(),
                            Text     = t.Nome,
                            Selected = t.Id == model.TimeId2
                        };
                        selectList1.Add(time1);
                        selectList2.Add(time2);
                    }
                    model.NameTimeId1 = selectList1;
                    model.NameTimeId2 = selectList2;

                    return(View(model));
                }

                return(View());
            }
        }