示例#1
0
        public IActionResult Atualizar()
        {
            Models.Cliente cliente = _clienteRepository.ObterCliente(_loginCliente.GetCliente().Id);

            return(View(cliente));
        }
        public Transaction GerarBoleto(decimal valor, List <ProdutoItem> produtos, EnderecoEntrega enderecoEntrega, ValorPrazoFrete valorFrete)
        {
            Cliente cliente = _loginCliente.GetCliente();

            PagarMeService.DefaultApiKey        = _configuration.GetValue <String>("Pagamento:PagarMe:ApiKey");
            PagarMeService.DefaultEncryptionKey = _configuration.GetValue <String>("Pagamento:PagarMe:EncryptionKey");
            int DaysExpire = _configuration.GetValue <int>("Pagamento:PagarMe:BoletoDiaExpiracao");

            Transaction transaction = new Transaction();

            transaction.Amount               = Mascara.ConverterValorPagarMe(valor);
            transaction.PaymentMethod        = PaymentMethod.Boleto;
            transaction.BoletoExpirationDate = DateTime.Now.AddDays(DaysExpire);
            transaction.Customer             = new Customer
            {
                ExternalId = cliente.Id.ToString(),
                Name       = cliente.Nome,
                Type       = CustomerType.Individual,
                Country    = "br",
                Email      = cliente.Email,
                Documents  = new[] {
                    new Document {
                        Type   = DocumentType.Cpf,
                        Number = Mascara.Remover(cliente.CPF)
                    }
                },
                PhoneNumbers = new string[]
                {
                    "+55" + Mascara.Remover(cliente.Telefone)
                },
                Birthday = cliente.Nascimento.ToString("yyyy-MM-dd")
            };

            var Today = DateTime.Now;
            var fee   = Convert.ToDecimal(valorFrete.Valor);

            transaction.Shipping = new Shipping
            {
                Name         = enderecoEntrega.Nome,
                Fee          = Mascara.ConverterValorPagarMe(fee),
                DeliveryDate = Today.AddDays(_configuration.GetValue <int>("Frete:DiasNaEmpresa")).AddDays(valorFrete.Prazo).ToString("yyyy-MM-dd"),
                Expedited    = false,
                Address      = new Address()
                {
                    Country      = "br",
                    State        = enderecoEntrega.Estado,
                    City         = enderecoEntrega.Cidade,
                    Neighborhood = enderecoEntrega.Bairro,
                    Street       = enderecoEntrega.Endereco + " " + enderecoEntrega.Complemento,
                    StreetNumber = enderecoEntrega.Numero,
                    Zipcode      = Mascara.Remover(enderecoEntrega.CEP)
                }
            };

            Item[] itens = new Item[produtos.Count];

            for (var i = 0; i < produtos.Count; i++)
            {
                var item = produtos[i];

                var itemA = new Item()
                {
                    Id        = item.Id.ToString(),
                    Title     = item.Nome,
                    Quantity  = item.UnidadesPedidas,
                    Tangible  = true,
                    UnitPrice = Mascara.ConverterValorPagarMe(item.Valor)
                };


                itens[i] = itemA;
            }

            transaction.Item = itens;

            transaction.Save();

            transaction.Customer.Gender = (cliente.Sexo == "M") ? Gender.Male : Gender.Female;
            return(transaction);
        }