コード例 #1
0
        public ApostaViewModel IncluirAposta(ApostaViewModel model)
        {
            int id = _apostaRepository.GetNextId();

            var aposta = new Aposta(id, model.Dezenas);

            return(_mapper.Map <ApostaViewModel>(_apostaRepository.Add(aposta)));
        }
コード例 #2
0
        public void IncluirApostaSucesso()
        {
            var model = new ApostaViewModel();

            var result = _apostaService.IncluirAposta(model);

            Assert.NotNull(result);
        }
コード例 #3
0
        public ApostaViewModel InserirAposta([FromBody] int[] dezenas)
        {
            var aposta = new ApostaViewModel
            {
                Dezenas = dezenas
            };

            return(_apostaService.IncluirAposta(aposta));
        }
コード例 #4
0
        public ApostaViewModel GerarDezenas()
        {
            var aposta = new ApostaViewModel
            {
                Dezenas = GeradorDezenas.GerarDezenas(1, 60, 6)
            };

            return(aposta);
        }
コード例 #5
0
ファイル: ApostaController.cs プロジェクト: fmrone/Aposta
        public ActionResult ApostarNumeros(ApostaViewModel model)
        {
            if (TempData["numerosSorteados"] == null)
            {
                TempData.Remove("numerosSorteados");
            }

            if (TempData["apostas"] == null)
            {
                TempData["apostas"] = new List <Aposta>();
            }

            TempData.Keep("apostas");

            if (!ModelState.IsValid)
            {
                return(View("Index", model));
            }

            //valida os números postados
            var _numero = long.MinValue;

            if (!long.TryParse(model.Numeros.Replace(" ", ""), out _numero))
            {
                ModelState.AddModelError("Numeros", "Foram informados valores inválidos para a aposta");
            }

            if (!ModelState.IsValid)
            {
                return(View("Index", model));
            }

            var numeros = new List <byte>();

            try
            {
                foreach (var numero in model.Numeros.Trim().Split(' ').ToList())
                {
                    numeros.Add(byte.Parse(numero));
                }
            }
            catch
            {
                ModelState.AddModelError("Numeros", "Foram informados valores inválidos para a aposta");
            }

            if (!ModelState.IsValid)
            {
                return(View("Index", model));
            }

            var aposta = Apostar(numeros);

            if (aposta.Numeros.Count > 0)
            {
                var apostas = TempData["apostas"] as List <Aposta>;
                apostas.Add(aposta);

                TempData["apostas"] = apostas;
            }
            else
            {
                foreach (var notificacao in aposta.Notificacoes)
                {
                    ModelState.AddModelError("", notificacao);
                }
            }

            if (!ModelState.IsValid)
            {
                return(View("Index", model));
            }

            return(View("Index", new ApostaViewModel()));
        }