コード例 #1
0
        public void ListasRestUsu()
        {
            VotarController controller = new VotarController(GetService <IUsuarioServices>(), GetService <IVotacaoServices>(), GetService <IRestauranteServices>());

            var votoVm = new VotarViewModel();

            controller.CarregarListas(votoVm);

            var existeRestUsua = votoVm.RestaurantesViewModel.Restaurantes.Any() && votoVm.UsuariosViewModel.Usuarios.Any();

            Assert.IsTrue(existeRestUsua);
        }
コード例 #2
0
        public ActionResult Index()
        {
            var votarViewModel = new VotarViewModel
            {
                RestaurantesViewModel = new RestauranteViewModel
                {
                    Restaurantes = RestauranteServices.GetAllRestaurantes()
                }
            };

            return(View(votarViewModel));
        }
コード例 #3
0
        public ActionResult Create()
        {
            var votarViewModel = new VotarViewModel();

            votarViewModel.RestaurantesViewModel = new RestauranteViewModel
            {
                Restaurantes = RestauranteServices.GetAllRestaurantes()
            };

            votarViewModel.UsuariosViewModel = new UsuarioViewModel
            {
                Usuarios = UsuarioServices.GetAllUsuarios()
            };

            return(View(votarViewModel));
        }
コード例 #4
0
        public ActionResult Index()
        {
            var votarViewModel = new VotarViewModel();

            var resultadoVotacao = VotacaoServices.GetVotosDaSemana(DateTime.Today);

            votarViewModel.ResultadoVotacaoDataItem =
                (from votos in resultadoVotacao
                 group votos by new { votos.IdRestaurante, votos.Data }
                 into grouped
                 select new VotacaoDataItem
            {
                IdRestaurante = grouped.Key.IdRestaurante,
                NmRestaurante = grouped.ToList().First().NomeRestaurante,
                Data = grouped.Key.Data,
                QtdVotos = grouped.ToList().Count
            })
                .ToList();

            return(View(votarViewModel));
        }
コード例 #5
0
        public ActionResult Create(VotarViewModel votarViewModel)
        {
            CarregarListas(votarViewModel);

            if (ModelState.IsValid)
            {
                try
                {
                    var result = VotacaoServices.Votar(votarViewModel.IdUsuario.Value, votarViewModel.IdRestaurante.Value);

                    ViewBag.Result = result ? "Voto registrado com sucesso." : "Falha ao registrar o voto.";
                    ViewBag.Error  = false;
                }
                catch (Exception e)
                {
                    ViewBag.Result = $"Falha ao Votar. { e.Message}";
                    ViewBag.Error  = true;
                }
            }

            return(View(votarViewModel));
        }
コード例 #6
0
        public void VotarCreate()
        {
            VotarController controller = new VotarController(GetService <IUsuarioServices>(), GetService <IVotacaoServices>(), GetService <IRestauranteServices>());

            var votoVm = new VotarViewModel()
            {
                IdRestaurante = 1,
                IdUsuario     = 1
            };

            ViewResult result = controller.Create(votoVm) as ViewResult;

            var error = (bool)result.ViewData["Error"];

            if (DateTime.Now.TimeOfDay > TimeSpan.Parse("12:00"))
            {
                Assert.IsFalse(error);
            }
            else
            {
                Assert.IsTrue(error);
            }
        }
コード例 #7
0
        public void CarregarListas(VotarViewModel votarViewModel)
        {
            var votosDaSemana = VotacaoServices.GetVotosDaSemana(DateTime.Today);

            var restVencedores =
                (from votos in votosDaSemana
                 group votos by new { votos.IdRestaurante, votos.Data }
                 into grouped
                 select new VotacaoDataItem
            {
                IdRestaurante = grouped.Key.IdRestaurante,
                NmRestaurante = grouped.ToList().First().NomeRestaurante,
                Data = grouped.Key.Data,
                QtdVotos = grouped.ToList().Count
            })
                .GroupBy(votacao => votacao.Data)
                .Select(votacaoGrouped => votacaoGrouped.First(x => x.QtdVotos == votacaoGrouped.Max(y => y.QtdVotos)))
                .ToList();

            var restaurantes = RestauranteServices.GetAllRestaurantes();

            foreach (var venc in restVencedores)
            {
                restaurantes.Remove(venc.IdRestaurante);
            }


            votarViewModel.RestaurantesViewModel = new RestauranteViewModel
            {
                Restaurantes = restaurantes
            };

            votarViewModel.UsuariosViewModel = new UsuarioViewModel
            {
                Usuarios = UsuarioServices.GetAllUsuarios()
            };
        }