コード例 #1
0
        public bool Emprestar(EmprestarJogoRequest request)
        {
            if (request == null)
            {
                throw new RequestInvalidoExcecao();
            }

            if (request.CodigoUsuarioEmprestimo <= 0)
            {
                throw new ParametroInvalidoExcecao("Favor informar um código de usuário para empréstimo válido");
            }

            if (request.CodigosJogos.Length == 0)
            {
                throw new ParametroInvalidoExcecao("Favor informar um código de jogo válido");
            }

            foreach (int codigoJogo in request.CodigosJogos)
            {
                Jogo jogo = this.jogoRepositorio.Recuperar(codigoJogo);

                if ((jogo != null) && (jogo.DataEmprestimo == null))
                {
                    this.jogoRepositorio.Emprestar(request.CodigoUsuarioEmprestimo, codigoJogo);
                }
            }

            return(true);
        }
コード例 #2
0
        public EmprestarJogoResponse Handle(EmprestarJogoRequest request)
        {
            var amigo = _context.Amigos
                        .Where(a => a.Id == request.AmigoId)
                        .FirstOrDefault();

            var jogo = _context.Jogos
                       .Where(j => j.Id == request.JogoId)
                       .FirstOrDefault();

            var emprestimo = new Emprestimo(amigo, jogo);

            _context.Emprestimos.Add(emprestimo);
            _context.SaveChanges();

            return(new EmprestarJogoResponse
            {
                Id = emprestimo.Id,
                Amigo = amigo,
                Jogo = jogo
            });
        }
コード例 #3
0
 public EmprestarJogoResponse EmprestarJogo([FromBody] EmprestarJogoRequest command)
 {
     return(_handler.Handle(command));
 }
コード例 #4
0
 public IHttpActionResult Emprestar([FromBody] EmprestarJogoRequest request)
 {
     return(Ok(this.jogoAppService.Emprestar(request)));
 }