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) { } }
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); } }
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); } }