示例#1
0
        public async Task <IActionResult> ActualizarTemporada(TemporadaViewModel model)
        {
            if (ModelState.IsValid)
            {
                Temporada temporada = new Temporada()
                {
                    Id          = model.Id,
                    FechaInicio = model.FechaInicio,
                    FechaFinal  = model.FechaFinal,
                    Tipo        = model.Tipo,
                    UpdateBy    = User.Identity.Name,
                    UpdateTime  = DateTime.Now
                };
                var resultado = await _temporadaService.ActualizarTemporada(temporada);

                if (resultado)
                {
                    TempData["mensaje"] = $"Se Actualizo Correctamente la Temporada";
                }
                else
                {
                    TempData["mensaje"] = $"Ocurrio un problema al tratar de actualizar la Temporada";
                }
                return(RedirectToAction("Index"));
            }
            return(View());
        }
示例#2
0
        public List <Jogo> ListarJogosPorTemporadaFase([FromBody] TemporadaViewModel temporada)
        {
            var jogos       = new List <Jogo>();
            var onde        = "{" + String.Format("_id : ObjectId('{0}')", temporada.Id) + "}";
            var temporadaBd = _temporadaRepositorio.Encontrar(onde);

            return(temporadaBd.Jogos.Where(x => x.Fase == temporada.Fase).ToList());
        }
示例#3
0
        public ActionResult Index()
        {
            var temporada            = _temporadaService.GetAllTemporada();
            TemporadaViewModel model = new TemporadaViewModel();

            model.ListTemporadas = temporada;
            return(View(model));
        }
示例#4
0
        public IActionResult ActualizarTemporada(Guid Id)
        {
            var temporada = _temporadaService.GetTemporadaById(Id);

            if (temporada == null)
            {
                TempData["mensaje"] = $"No se encuentra registrada el precio de la habitacion";
                return(RedirectToAction("Index"));
            }
            TemporadaViewModel model = new TemporadaViewModel()
            {
                Id          = temporada.Id,
                FechaInicio = temporada.FechaInicio,
                FechaFinal  = temporada.FechaFinal,
                Tipo        = temporada.Tipo
            };

            return(View(model));
        }
示例#5
0
        public Temporada InserirNovaTemporada([FromBody] TemporadaViewModel temporada)
        {
            var lista = GerarListaAnosPossiveis((Fase)temporada.Fase);

            var       quantidade   = QuantidadeTimes((Fase)temporada.Fase);
            Temporada temporadaAdd = new Temporada();

            temporadaAdd.FaseInicial     = temporada.Fase;
            temporadaAdd.TimesMesmaEpoca = temporada.TimesMesmaEpoca;
            temporadaAdd.DataInicial     = DateTime.Now;
            temporadaAdd.Nome            = temporada.Nome;
            if (temporada.TimesMesmaEpoca)
            {
                Random r   = new Random();
                var    ano = lista[r.Next(0, lista.Count)];

                var           onde    = "{" + String.Format(" 'Year' : {0}", ano) + "}";
                IList <Match> matches = _matchRepositorio.ListarOnde(onde);

                quantidade = QuantidadeTimes((Fase)temporada.Fase);
                var times = PegaSelecoesPorFaseRandomicamente(matches, quantidade);

                switch ((Fase)temporada.Fase)
                {
                case Fase.Oitavas:
                {
                    temporadaAdd.Jogos = GeraJogosPorFaseOitavas(times);
                    break;
                }

                case Fase.Quartas:
                {
                    temporadaAdd.Jogos = GeraJogosPorFaseQuarta(times);
                    break;
                }

                case Fase.SemiFinais:
                {
                    temporadaAdd.Jogos = GeraJogosPorFaseSemifinal(times);
                    break;
                }

                case Fase.Final:
                {
                    temporadaAdd.Jogos = GeraJogosPorFaseFinal(times);
                    break;
                }

                default:
                {
                    break;
                }
                }
            }
            else
            {
                var    times = new List <TimesmGolsViewModel>();
                Random r     = new Random();
                while (times.Count < quantidade)
                {
                    var ano = lista[r.Next(lista.Count)];

                    var           onde    = "{" + String.Format(" 'Year' : {0}", ano) + "}";
                    IList <Match> matches = _matchRepositorio.ListarOnde(onde);

                    times.AddRange(PegaSelecoesPorFaseRandomicamente(matches, 1, ano));
                }

                switch ((Fase)temporada.Fase)
                {
                case Fase.Oitavas:
                {
                    temporadaAdd.Jogos = GeraJogosPorFaseOitavas(times);
                    break;
                }

                case Fase.Quartas:
                {
                    temporadaAdd.Jogos = GeraJogosPorFaseQuarta(times);
                    break;
                }

                case Fase.SemiFinais:
                {
                    temporadaAdd.Jogos = GeraJogosPorFaseSemifinal(times);
                    break;
                }

                case Fase.Final:
                {
                    temporadaAdd.Jogos = GeraJogosPorFaseFinal(times);
                    break;
                }

                default:
                {
                    break;
                }
                }
            }
            _temporadaRepositorio.Insert(temporadaAdd);
            return(temporadaAdd);
        }