public void TestCreate()
        {
            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);
        }
Ejemplo n.º 2
0
        public async Task <long> Create(PedidoInput pedidoInput, CancellationToken cancellationToken)
        {
            return(await Task.Run(() =>
            {
                pedidoInput.Validar();

                Pedido pedido = new Pedido();
                pedido.DataCriacao = DateTime.Now;
                //pedido.UsuarioCriacao = Thread.CurrentPrincipal.Identity;
                foreach (var itemInput in pedidoInput.Itens)
                {
                    ItemPedido item = new ItemPedido();
                    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);
                }

                PedidoRepository.Add(pedido);
                return pedido.Id;
            }, cancellationToken));
        }
Ejemplo n.º 3
0
        public void Infra_Pedido_Salvar_Deve_Salvar_Com_Sucesso()
        {
            //Cenário

            //Ação
            var Save = _repository.Add(pedido);

            //Saída
            Save.Should().NotBeNull();
        }
        public void Post(PedidoPostDto dto)
        {
            if (_repository.GetByIdCarrinho(dto.IdCarrinho).Any())
            {
                throw new Exception("Pedido já realizado");
            }

            var carrinho = _repositoryCarrinho.GetById(dto.IdCarrinho).FirstOrDefault();

            if (carrinho == null)
            {
                throw new Exception("Carrinho inválido.");
            }

            var listaItensCarrinho = _repositoryCarrinhoItens.GetByCarrinho(carrinho.Id).ToList();

            Pedido pedido = new Pedido
            {
                DataCadastro = DateTime.Now,
                IdCarrinho   = carrinho.Id,
                Valor        = carrinho.Total
            };

            List <PedidoItens> listaItensPedido = new List <PedidoItens>();

            foreach (var itemCarrinho in listaItensCarrinho)
            {
                PedidoItens itemPedido = new PedidoItens
                {
                    DataCadastro = DateTime.Now,
                    Quantidade   = itemCarrinho.Quantidade,
                    ValorTotal   = itemCarrinho.ValorTotalItem,
                    ValorUnidade = itemCarrinho.ValorUnitario,
                    IdProduto    = itemCarrinho.IdProduto,
                    Pedido       = pedido
                };

                listaItensPedido.Add(itemPedido);
            }

            pedido.PedidoItens = listaItensPedido;

            _repository.Add(pedido);
            _repository.Commit();
        }
Ejemplo n.º 5
0
        public void AddUser()
        {
            var    pedidos = _pedidoRepository.GetAll();
            Pedido pedido  = new Pedido
            {
                ID_USUARIO_PEDIDO = 2,
                TOTAL_PEDIDO      = 1,
                OBS_PEDIDO        = "nada",
                DATA_REG_PEDIDO   = DateTime.Now,
                ID_CLIENTE        = 1,
                FATURADO_PEDIDO   = true,
                ID_VENDEDOR       = 2,
            };

            _pedidoRepository.Add(pedido);
            var pedidodepois = _pedidoRepository.GetAll();

            Assert.IsTrue(pedidos.Count() < pedidodepois.Count());
        }
Ejemplo n.º 6
0
 public Pedido Add(Pedido obj)
 {
     return(_pedidoRepository.Add(obj));
 }
        public ActionResult Simulacao(string produto, string classe, string subclasse, string armazenagem, int idarmazem, int qtdarmazem,
            DateTime dtInicio, DateTime dtFim)
        {
            try
            {
                if (string.IsNullOrWhiteSpace(classe) || string.IsNullOrWhiteSpace(subclasse) || string.IsNullOrWhiteSpace(subclasse) || string.IsNullOrWhiteSpace(armazenagem) || string.IsNullOrWhiteSpace(produto))
                {
                    TempData["erro"] = "Nao deixe espacos em branco!";
                    return View();
                }
                if (DateTime.Now.Ticks > dtInicio.Ticks)
                {
                    TempData["erro"] = "A data de inicio nao pode ser menor que a data de hoje!";
                    return View();
                }
                if (dtFim.Ticks <= dtInicio.Ticks)
                {
                    TempData["erro"] = "A data de Fim nao pode ser menor ou igual a data de Inicio!";
                    return View();
                }
                if (qtdarmazem <= 0)
                {
                    TempData["erro"] = "Quantidade de espaco nao pode ser zero ou vazia!";
                    return View();
                }
                if (Negocio.armazemTemEspacoPraIsso(qtdarmazem, idarmazem))
                {
                    var dias = Negocio.retornaDiferencaEntreDuasDatas(dtFim, dtInicio);
                    decimal valorTotal = Convert.ToInt32(((dias * 10) * qtdarmazem) + 1000);

                    if (Session["User"] != null)
                    {
                        PedidoRepository pedidoRepository = new PedidoRepository();
                        ArmazemRepository armazemRepository = new ArmazemRepository();
                        Armazem armazem = new Armazem();

                        var nome = ((Cliente)(Session["User"])).nome;
                        var email = ((Cliente)(Session["User"])).email;
                        var clienteID = ((Cliente)(Session["User"])).clienteId;

                        armazem.clienteId = clienteID;
                        armazem.usadoArmazem = qtdarmazem;
                        armazem.tamanhoArmazemId = idarmazem;
                        //armazemRepository.Add(armazem);

                        Pedido pedido = new Pedido()
                        {
                            clienteId = clienteID,
                            classeId = Convert.ToInt32(classe),
                            subclasseId = Convert.ToInt32(subclasse),
                            armazenagemId = Convert.ToInt32(armazenagem),
                            produto = produto,
                            armazem = armazem,
                            dtInicio = dtInicio,
                            dtFim = dtFim,
                            valorTotal = valorTotal,
                            ckstatus = false
                        };

                        pedidoRepository.Add(pedido);

                        string msg = "Valor total a ser pago e: " + valorTotal + "\nOs dados do seu pedido, serao enviados para o seu e-mail.\nVerifique sua caixa de entrada.";
                        EnviarMensagem em = new EnviarMensagem("*****@*****.**", email, "Vindo do Sistema de Armazem", String.Format("Olá {0},\n\nObrigado por realizar o pedido em nosso sistema!\n\nOs dados do seu pedido são,\nCliente: {0}\nProduto: {8}\nClasse Prod: {1}\nSubClasse Prod: {2}\nID do Armazem: {3}\nData de Início: {4}\nData de Fim: {5}\nValor total a ser pago: {6}\nStatus do pedido: {7}", nome, classe, subclasse, idarmazem, dtInicio, dtFim, valorTotal, "Não pago",produto), "Daniel");
                        em.SubmeterEmail();
                        TempData["certo"] = msg;
                        return View("PaineldeControleUsuario");
                    }
                    else
                    {
                        dias = Negocio.retornaDiferencaEntreDuasDatas(dtFim, dtInicio);
                        valorTotal = Convert.ToInt32(((dias * 10) * qtdarmazem) + 1000);
                        string msg = "Valor total a ser pago e: " + valorTotal;
                        TempData["certo"] = msg;
                        return View();
                    }

                }
                else
                {
                    TempData["erro"] = "Falha na simulacao! Voce selecionou mais espaco que o disponivel.";
                    return View();
                }

            }
            catch (Exception ex)
            {
                TempData["erro"] = "Falha na simulação. Erro: " + ex.Message;
                return View();
            }
        }
Ejemplo n.º 8
0
 public void Add(Pedido pedido)
 {
     pedidoRepository.Add(pedido);
 }