public void Infra_Pedido_Editar_Deve_Editar_Com_Sucesso()
        {
            //Cenário

            pedido.Responsavel = "asd";
            var novoPedido = _repository.Add(pedido);

            //Ação
            _repository.Update(pedido);

            //Saída
            var GetPedido = _repository.GetById(novoPedido.Id);

            GetPedido.Responsavel.Should().Be(pedido.Responsavel);
        }
        private PedidoDto GetPedidoDtoById(int id)
        {
            var pedido = _repository.GetById(id).Select(x => new PedidoDto
            {
                Id           = x.Id,
                Valor        = x.Valor,
                DataCadastro = x.DataCadastro
            }).FirstOrDefault();

            var listaItens = _repositoryPedidoItens.GetByIdPedido(id).ToList();
            List <PedidoItemDto> listaItensDto = new List <PedidoItemDto>();

            foreach (var item in listaItens)
            {
                var produto = _repositoryProduto.GetById(item.IdProduto).FirstOrDefault();

                PedidoItemDto dto = new PedidoItemDto
                {
                    Quantidade   = item.Quantidade,
                    ValorTotal   = item.ValorTotal,
                    ValorUnidade = item.ValorUnidade,
                    NomeProduto  = produto.Nome
                };

                listaItensDto.Add(dto);
            }

            pedido.Itens = listaItensDto;
            return(pedido);
        }
Exemple #3
0
 public async Task <PedidoOutput> Get(long id, CancellationToken cancellationToken)
 {
     return(await Task.Run(() =>
     {
         var pedido = PedidoRepository.GetById(id);
         return PedidoOutput.From(pedido);
     }, cancellationToken));
 }
Exemple #4
0
        public PedidoDTO GetById(int id)
        {
            Pedido entity = _repository.GetById(id);

            if (entity == null)
            {
                throw new Exception("Este Pedido nao existe!");
            }

            return(Mapper.Map <PedidoDTO>(entity));
        }
Exemple #5
0
        public async Task Delete(long id, CancellationToken cancellationToken)
        {
            await Task.Run(() =>
            {
                var pedido = PedidoRepository.GetById(id);
                if (pedido == null)
                {
                    throw new Exception("Pedido não encontrado");
                }

                PedidoRepository.Delete(pedido);
            }, cancellationToken);
        }
        public void TestDelete()
        {
            Comanda comanda = new Comanda(0, "MESA 1", DateTime.Now);

            comandaRepository.Add(comanda);
            Assert.NotEqual(0, comanda.Id);

            Pedido pedido = new Pedido(0, comanda.Id, "Pedido 1");

            pedidoRepository.Add(pedido);
            Assert.NotEqual(0, pedido.Id);

            pedidoRepository.Remove(pedido.Id);
            var consulta = pedidoRepository.GetById(pedido.Id);

            Assert.Null(consulta);
        }
Exemple #7
0
        public async Task <StatusOutput> AlterarStatus(StatusInput statusInput, CancellationToken cancellationToken)
        {
            return(await Task.Run(() =>
            {
                StatusOutput statusOutput = new StatusOutput();
                statusOutput.Pedido = statusInput.Pedido;

                Pedido pedido = PedidoRepository.GetById(statusInput.Pedido);
                if (pedido == null)
                {
                    pedido = new Pedido();
                }

                pedido.AlterarStatus(statusInput.Status, statusInput.ItensAprovados, statusInput.ValorAprovado);
                statusOutput.Status = pedido.GetStatusDetalhado();
                return statusOutput;
            }, cancellationToken));
        }
Exemple #8
0
        public async Task Edit(long pedidoId, PedidoInput pedidoInput, CancellationToken cancellationToken)
        {
            await Task.Run(() =>
            {
                pedidoInput.Validar();
                Pedido pedido      = PedidoRepository.GetById(pedidoId);
                var itensRemovidos = pedido.Itens.Where(i => !pedidoInput.Itens.Any(ii => ii.ProdutoId == i.Produto.Id));

                foreach (var item in itensRemovidos)
                {
                    pedido.Itens.Remove(item);
                }

                foreach (var itemInput in pedidoInput.Itens)
                {
                    var item = pedido.Itens.FirstOrDefault(i => i.Produto.Id == itemInput.ProdutoId);
                    if (item == null)
                    {
                        Produto produto = ProdutoRepository.GetById(itemInput.ProdutoId);
                        if (produto == null)
                        {
                            throw new Exception("Produto não encontrado");
                        }

                        item.Produto    = produto;
                        item.Quantidade = itemInput.Qtd;
                        pedido.Itens.Add(item);
                    }
                    else
                    {
                        item.Quantidade = itemInput.Qtd;
                    }
                }

                PedidoRepository.Update(pedido);
            }, cancellationToken);
        }
Exemple #9
0
 public Pedido GetById(int pedidoId)
 {
     return(_pedidoRepository.GetById(pedidoId));
 }