public void Assegurar_Insercao_ItemPedido_Duplicado_SomandoValor()
        {
            var p = new Pedido();
            var itemPedido = new ItemPedido(1, 2, 55.6, 10);

            p.AddItemPedido(itemPedido);
            p.AddItemPedido(itemPedido);

            var pedidoSumarizado = p.ItensPedido.Where(i => i.ProdutoID == 2).FirstOrDefault();
            Assert.Equal(pedidoSumarizado.Quantidade , 20);
        }
        public Pedido CriarPedido(Pedido pedido)
        {
            try
            {
                AssertionConcern.AssertArgumentNotNull(pedido, "Dados de pedido nulos");
                pedido.ValidaAtributos();

                pedido = _repositorio.Persistir(pedido);

                foreach (var item in pedido.ItensPedido)
                    _repositorioItens.Persistir(item);

                _repositorio.ConfirmarAlteracoes();
                _repositorioItens.ConfirmarAlteracoes();

                return pedido;
            }
            catch (Exception e)
            {
                throw new Exception($"Não foi possível criar o pedido: { e.Message }");
            }
        }