示例#1
0
        public async Task <JogoViewModel> InsertGame(JogoInputModel jogo)
        {
            var entidadeJogo = await _jogoRepository.GetByName(jogo.Nome, jogo.Produtora);

            if (entidadeJogo.Count > 0)
            {
                throw new JogoJaCadastradoException();
            }

            var novoJogo = new Jogo()
            {
                Id        = Guid.NewGuid(),
                Nome      = jogo.Nome,
                Produtora = jogo.Produtora,
                Preco     = jogo.Preco
            };

            await _jogoRepository.Insert(novoJogo);

            return(new JogoViewModel()
            {
                Id = novoJogo.Id,
                Nome = novoJogo.Nome,
                Produtora = novoJogo.Produtora,
                Preco = novoJogo.Preco
            });
        }
示例#2
0
        public async Task <JogoViewModel> Inserir(JogoInputModel jogo)
        {
            var entidadeJogo = await _jogoRepository.Obter(jogo.Nome, jogo.Produtora);

            if (entidadeJogo.Count > 0)
            {
                throw new JogoJaCadastradoException();
            }

            var jogoInsert = new Jogo
            {
                Id        = Guid.NewGuid(),
                Nome      = jogo.Nome,
                Produtora = jogo.Produtora,
                Preco     = jogo.Preco
            };
            await _jogoRepository.inserir(jogoInsert);

            return(new JogoViewModel
            {
                Id = jogoInsert.Id,
                Nome = jogo.Nome,
                Produtora = jogo.Produtora,
                Preco = jogo.Preco
            });
        }
示例#3
0
        public async Task <ActionResult> AtualizarJogo([FromRoute] Guid idJogo, [FromBody] JogoInputModel jogoInputModel)
        {
            try
            {
                await _jogoService.Atualizar(idJogo, jogoInputModel);

                return(Ok());
            }
            catch (JogoNaoCadastradoException ex)
            {
                return(NotFound("Este jogo não Existe em nossa base"));
            }
        }
示例#4
0
        public async Task <ActionResult <JogoViewModel> > InserirJogo([FromBody] JogoInputModel jogoInputModel)
        {
            try
            {
                var jogo = await _jogoService.Inserir(jogoInputModel);

                return(Ok(jogo));
            }
            catch (JogoJaCadastradoException ex)
            {
                return(UnprocessableEntity("Este jogo já existe para esta produtora"));
            }
        }
示例#5
0
        public async Task <ActionResult <JogoViewModel> > AdicionarJogo([FromBody] JogoInputModel jogo)
        {
            try
            {
                var viewModel = await _jogoService.Adicionar(jogo);

                return(Ok(viewModel));
            }
            catch (JogoJaCadastradoException ex)
            {
                return(UnprocessableEntity(ex.Message));
            }
        }
示例#6
0
        public async Task <ActionResult> AtualizarJogo([FromRoute] Guid id, [FromBody] JogoInputModel jogo)
        {
            try
            {
                await _jogoService.Atualizar(id, jogo);

                return(Ok());
            }
            catch (JogoNaoCadastradoException ex)
            {
                return(NotFound(ex.Message));
            }
        }
示例#7
0
        public async Task <ActionResult <JogoViewModel> > InserirJogo([FromBody] JogoInputModel JogoInputModel)
        {
            try
            {
                var jogo = await _jogoService.Inserir(JogoInputModel);

                return(Ok());
            }
            catch (JogoJaCadastradoException ex)
            {
                return(UnprocessableEntity("Já existe um jogo com esse nome"));
            }
        }
        public async Task <ActionResult> UpdateGame([FromRoute] Guid idJogo, [FromBody] JogoInputModel jogo)
        {
            try
            {
                await _jogoService.UpdateGame(idJogo, jogo);

                return(Ok());
            }
            catch (Exception)
            {
                return(NotFound("O jogo não existe"));
            }
        }
        public async Task <ActionResult <JogoViewModel> > InsertGame([FromBody] JogoInputModel novoJogo)
        {
            try
            {
                var jogo = await _jogoService.InsertGame(novoJogo);

                return(Ok(jogo));
            }
            catch (Exception)
            {
                return(UnprocessableEntity("Já exite um jogo com esse nome para esta produtora"));
            }
        }
示例#10
0
        public async Task Atualizar(Guid id, JogoInputModel jogo)
        {
            var entidadeJogo = await _jogoRepository.Obter(id);

            if (entidadeJogo == null)
            {
                throw new JogoNaoCadastradoException();
            }

            entidadeJogo.Nome      = jogo.Nome;
            entidadeJogo.Produtora = jogo.Produtora;
            entidadeJogo.Preco     = jogo.Preco;

            await _jogoRepository.Atualizar(entidadeJogo);
        }
示例#11
0
        public async Task UpdateGame(Guid idJogo, JogoInputModel jogo)
        {
            var entidadeJogo = await _jogoRepository.GetById(idJogo);

            if (entidadeJogo == null)
            {
                throw new JogoNaoCadastradoException();
            }

            entidadeJogo.Nome      = jogo.Nome;
            entidadeJogo.Preco     = jogo.Preco;
            entidadeJogo.Produtora = jogo.Produtora;

            await _jogoRepository.Update(entidadeJogo);
        }