/// <summary>
        /// Gera XML contendo os dados do pedido e da cobranca
        /// </summary>
        /// <param name="ordemCobranca"></param>
        /// <returns></returns>
        public string GerarXml(OrdemCobranca ordemCobranca)
        {
            var xsSubmit = new XmlSerializer(typeof(OrdemCobranca));
            var sww = new StringWriter();
            var writer = XmlWriter.Create(sww);

            xsSubmit.Serialize(writer, ordemCobranca);

            var content = sww.ToString()
                .Replace(" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"", string.Empty)
                .Replace(" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"", string.Empty)
                .Replace("utf-16", "iso-8859-1");

            return content;
        }
        /// <summary>
        /// Gera o XML com os dados do carrinho
        /// </summary>
        /// <returns></returns>
        private String generateCartData(String numOrder)
        {
            System.Threading.Thread.CurrentThread.CurrentCulture = new CultureInfo("pt-BR");

            //Obtem dados da base local
            Boleto boleto = db.Boleto.FirstOrDefault();

            //Ordem de cobranca
            var ordemCobranca = new OrdemCobranca();

            //Dados do pedido
            var pedido = new Pedido();

            if (!String.IsNullOrEmpty(numOrder))
            {
                pedido.NumeroPedido = numOrder;
            }
            else
            {
                pedido.NumeroPedido = boleto.order_id;
            }

            //Itens do pedido
            pedido.Itens = new ItemPedido[boleto.BoletoItens.Count];
            int i = 0;

            foreach (var item in boleto.BoletoItens)
            {
                pedido.Itens[i] = new ItemPedido { Descritivo = item.descritivo, Quantidade = Convert.ToInt32(item.quantidade), Unidade = "un", Valor = Convert.ToDecimal(item.valor) };
            }

            /*
            {
                new ItemPedido { Descritivo = "Produto 01", Quantidade = 1, Unidade = "cm", Valor = 120 },
                new ItemPedido { Descritivo = "Produto 02", Quantidade = 1, Unidade = "cm", Valor = 120 },
                new ItemPedido { Descritivo = "Produto 03", Quantidade = 1, Unidade = "cm", Valor = 120 }
            };
            */

            //Itens adicionais do pedido
            //Melhorar!
            pedido.ItemAdicional = new[] {
                new ItemAdicionalPedido { Descricao = "Item adicional", Valor = 100 }
            };

            //Atribui o pedido a ordem de cobranca
            ordemCobranca.Pedido = pedido;

            //Dados do boleto
            var boletoBancario = new BoletoBancario
            {
                Banco = boleto.banco,                                               //FIXO
                NumeroAgencia = boleto.numero_agencia,                              //CONFIG. ADMIN    
                NumeroConta = boleto.numero_conta,                                  //CONFIG. ADMIN
                CIP = Convert.ToInt16(boleto.cip),                                  //FIXO
                AnoNossoNumero = Convert.ToInt16(boleto.ano_nosso_numero),          //FIXO
                NumeroDocumento = Convert.ToInt32(boleto.numero_documento),         //PEDIDO
                Carteira = boleto.carteira,                            //FIXO
                ShoppingId = Convert.ToInt16(boleto.shopping_id),                             //CONFIG. ADMIN    
                Assinatura = boleto.assinatura, //CONFIG. ADMIN    
                //Valor = String.Format("{0:C}", 460),        //PEDIDO
                Valor = boleto.valor_documento,        //PEDIDO
                NossoNumero = boleto.numero_pedido,          //PEDIDO
                Cedente = boleto.cedente,                   //CONFIG. ADMIN - Razao Social da loja
                EnderecoSacado = boleto.endereco_sacado, //PEDIDO
                CepSacado = boleto.cep_sacado,                     //PEDIDO
                CidadeSacado = boleto.cidade_sacado,                 //PEDIDO
                UfSacado = boleto.uf_sacado,                            //PEDIDO
                //DataEmissao = String.Format("{0:dd/MM/yyyy}", DateTime.Now),               //PEDIDO 
                //DataProcessamento = String.Format("{0:dd/MM/yyyy}", DateTime.Now),         //PEDIDO
                //DataVencimento = String.Format("{0:dd/MM/yyyy}", DateTime.Now.AddDays(5)), //PEDIDO + CONFIG. ADMIN (DIAS VENCIMENTO)

                DataEmissao = boleto.data_emissao,               //PEDIDO 
                DataProcessamento = boleto.data_processamento,         //PEDIDO
                DataVencimento = boleto.data_vencimento, //PEDIDO + CONFIG. ADMIN (DIAS VENCIMENTO)

                CpfSacado = boleto.cpf_sacado,                  //PEDIDO
                NomeSacado = boleto.nome_sacado,    //PEDIDO
                MensagemCabecalho = boleto.mensagem_header_lojista,                       //CONFIG. ADMIN
                UrlLogotipo = boleto.url_logo_lojista,              //CONFIG. ADMIN
                Descricao = new[] {
                    boleto.instrucao_01,
                    boleto.instrucao_02,
                    boleto.instrucao_03,
                    boleto.instrucao_04,
                    boleto.instrucao_05
                }
            };

            //Atribui os dados do boleto a ordem de cobranca
            ordemCobranca.Boleto = boletoBancario;

            return new PagamentoBradesco().GerarXml(ordemCobranca);
        }