コード例 #1
0
        protected void enviarButton_Click(object sender, EventArgs e)
        {
            try
            {
                string numeroPedido = (pedidoDropDownList.SelectedValue).ToString();
                double totalPedido  = ItensDao.ListarItensPorPedido(numeroPedido).Sum(p => p.ValorTotalItem);
                string NumeroCartao = cartaoTextBox.Text;

                PagamentoContract pagamento = new PagamentoContract();
                pagamento.NumeroCartao = NumeroCartao;
                pagamento.NumeroPedido = numeroPedido;
                pagamento.Valor        = totalPedido;

                ServicePagamentosClient service = new ServicePagamentosClient();
                int resposta = service.EfetuarPagamento(pagamento);
                switch (resposta)
                {
                case 1:
                    break;

                case 2:
                    break;

                case 3:
                    break;

                default:
                    break;
                }
            }
            catch (Exception ex)
            {
            }
        }
コード例 #2
0
        public int EfetuarPagamento(PagamentoContract pagamento)
        {
            using (var context = new PagamentosEntities())
            {
                var cartao = context.Cartoes.FirstOrDefault(c => c.NumeroCartao == pagamento.NumeroCartao);
                if (cartao == null)
                {
                    return(1);
                }

                var pedido = context.Pagamentos.FirstOrDefault(p => p.NumeroPedido == pagamento.NumeroPedido);
                if (pedido != null)
                {
                    return(2);
                }

                double valorTotalPedidos    = pagamento.Valor;
                var    pagamentosRealizados = context.Pagamentos.Where(p => p.NumeroCartao == pagamento.NumeroCartao);
                if (pagamentosRealizados.Count() > 0)
                {
                    valorTotalPedidos += pagamentosRealizados.Sum(s => s.Valor);
                }
                if (valorTotalPedidos > cartao.Limite)
                {
                    return(3);
                }
                Pagamento pagto = new Pagamento();
                pagto.NumeroCartao = pagamento.NumeroCartao;
                pagto.NumeroPedido = pagamento.NumeroPedido;
                pagto.Valor        = pagamento.Valor;
                context.Pagamentos.Add(pagto);
                context.SaveChanges();
                return(0);
            }
        }
コード例 #3
0
        public int EfetuarPagamento(PagamentoContract pagamento)
        {
            /*
             * Valores de Retorno
             * 0- Pagamento ok
             * 1- Cartão Inexistente
             * 2- Pedido ja pago
             * 3- Limite indisponivel no cartão
             */
            using (var context = new DB_PAGAMENTOSEntities())
            {
                //Verificação de existencia do cartão

                var cartao = context.Cartoes.FirstOrDefault(c => c.NumeroCartao == pagamento.NumeroCartao);

                if (cartao == null)
                {
                    return(1);
                }

                //Verificação do pedido
                var pedido = context.Pagamentos.FirstOrDefault(p => p.NumeroPedido == pagamento.NumeroPedido);

                if (pedido != null)
                {
                    return(2);
                }

                //Verificação do limite disponivel
                double valorPedidos = pagamento.Valor;

                var pagamentosRealizados = context.Pagamentos.Where(p => p.NumeroCartao == pagamento.NumeroCartao);
                if (pagamentosRealizados.Count() > 0)
                {
                    valorPedidos += pagamentosRealizados.Sum(s => s.Valor);
                }

                if (valorPedidos > cartao.Limite)
                {
                    return(3);
                }

                //Pagamento realizado
                Pagamento pagto = new Pagamento();

                pagto.NumeroCartao = pagamento.NumeroCartao;
                pagto.NumeroPedido = pagamento.NumeroPedido;
                pagto.Valor        = pagamento.Valor;

                context.Pagamentos.Add(pagto);
                context.SaveChanges();
                return(0);
            }
        }