示例#1
0
        public Pedido Registrar(Pedido pedido)
        {
            contexto.Entry(pedido.Cliente).State = System.Data.Entity.EntityState.Unchanged;
            contexto.Entry(pedido.Produto).State = System.Data.Entity.EntityState.Unchanged;
            var     produtoRepositorio = new ProdutoRepositorio();
            Produto produto            = (Produto)produtoRepositorio.Obter(pedido.Produto.Id);

            produto = produtoRepositorio.RemoverEstoque(produto);
            if (pedido.Pacote != null)
            {
                contexto.Entry(pedido.Pacote).State = System.Data.Entity.EntityState.Unchanged;
                var    pacoteRepositorio = new PacoteRepositorio();
                Pacote pacote            = (Pacote)pacoteRepositorio.Obter(pedido.Pacote.Id);
                pacote = pacoteRepositorio.RemoverEstoque(pacote);
            }
            if (pedido.Opcionais != null)
            {
                foreach (var produtoOpcional in pedido.Opcionais)
                {
                    contexto.Entry(produtoOpcional).State = System.Data.Entity.EntityState.Unchanged;
                    var      opcionalRepositorio = new OpcionalRepositorio();
                    Opcional opcional            = (Opcional)opcionalRepositorio.Obter(produtoOpcional.Id);
                    opcional = opcionalRepositorio.RemoverEstoque(opcional);
                }
            }
            contexto.Pedido.Add(pedido);
            contexto.SaveChanges();
            return(pedido);
        }
示例#2
0
        public List <object> BuscarItens(int idCliente, int idProduto, int idPacote, int[] idOpcional)
        {
            var itens = new List <object>();
            var clienteRepositorio = new ClienteRepositorio();
            var cliente            = clienteRepositorio.Obter(idCliente);

            itens.Add(cliente);
            var produtoRepositorio = new ProdutoRepositorio();
            var produto            = produtoRepositorio.Obter(idProduto);

            itens.Add(produto);
            if (idPacote != null && idPacote != 0)
            {
                var pacoteRepositorio = new PacoteRepositorio();
                var pacote            = pacoteRepositorio.Obter(idPacote);
                itens.Add(pacote);
            }
            else
            {
                itens.Add(null);
            }
            if (idOpcional != null && idOpcional.Length != 0)
            {
                var listaOpcionais      = new List <Opcional>();
                var opcionalRepositorio = new OpcionalRepositorio();
                for (var i = 0; i < idOpcional.Length; i++)
                {
                    var opcional = opcionalRepositorio.Obter(idOpcional[i]);
                    listaOpcionais.Add((Opcional)opcional);
                }
                itens.Add(listaOpcionais);
            }
            else
            {
                itens.Add(null);
            }
            return(itens);
        }
示例#3
0
        public Pedido Validar(Pedido pedido)
        {
            pedido.Mensagens.Clear();
            var cliente = new ClienteRepositorio();

            if (cliente.Obter(pedido.Cliente.Id) == null)
            {
                pedido.Mensagens.Add("Cliente Inválido");
            }
            var produto = new ProdutoRepositorio();

            if (produto.Obter(pedido.Produto.Id) == null)
            {
                pedido.Mensagens.Add("Produto Inválido");
            }
            if (pedido.Pacote != null)
            {
                var pacote = new PacoteRepositorio();
                if (pacote.Obter(pedido.Pacote.Id) == null)
                {
                    pedido.Mensagens.Add("Pacote Inválido");
                }
            }
            if (pedido.Opcionais != null)
            {
                var opcional = new OpcionalRepositorio();
                foreach (var opc in pedido.Opcionais)
                {
                    if (opcional.Obter(opc.Id) == null)
                    {
                        pedido.Mensagens.Add("Opcionais Inválidos");
                    }
                }
            }
            return(pedido);
        }