private void btnSalvar_Click(object sender, EventArgs e) { EntradaPagamento entradaPagamento = new EntradaPagamento(); entradaPagamento.CodContaBanco = Convert.ToInt32(codContaBancoComboBox.SelectedValue.ToString()); entradaPagamento.CodEntrada = entrada.CodEntrada; entradaPagamento.CodFormaPagamento = Convert.ToInt32(codFormaPagamentoComboBox.SelectedValue.ToString()); entradaPagamento.Data = Convert.ToDateTime(dataDateTimePicker.Text); entradaPagamento.PagamentoDoFrete = pagamentoDoFreteCheckBox.Checked; entradaPagamento.Valor = Convert.ToDecimal(valorTextBox.Text); GerenciadorEntradaPagamento.GetInstance().Inserir(entradaPagamento); InicializaComponentes(); this.tb_entrada_forma_pagamentoTableAdapter.FillByCodEntrada(saceDataSet.tb_entrada_forma_pagamento, long.Parse(codEntradaTextBox.Text)); decimal totalPago = GerenciadorEntradaPagamento.GetInstance().ObterPorEntrada(entrada.CodEntrada).Sum(ep => ep.Valor); if (totalPago == (entrada.TotalNota + entrada.ValorFrete)) { btnEncerrar_Click(sender, e); } else { codFormaPagamentoComboBox.Focus(); } }
private static void Atribuir(EntradaPagamento entradaPagamento, tb_entrada_forma_pagamento _entradaFormaPagamentoE) { _entradaFormaPagamentoE.codContaBanco = entradaPagamento.CodContaBanco; _entradaFormaPagamentoE.codEntrada = entradaPagamento.CodEntrada; _entradaFormaPagamentoE.codFormaPagamento = entradaPagamento.CodFormaPagamento; _entradaFormaPagamentoE.data = entradaPagamento.Data; _entradaFormaPagamentoE.pagamentoDoFrete = entradaPagamento.PagamentoDoFrete; _entradaFormaPagamentoE.valor = entradaPagamento.Valor; }
/// <summary> /// Insere um novo pagamento numa entrada /// </summary> /// <param name="entradaPagamento"></param> /// <param name="entrada"></param> /// <returns></returns> public long Inserir(EntradaPagamento entradaPagamento) { try { if (entradaPagamento.Valor <= 0) { throw new NegocioException("O valor do pagamento deve ser maior que zero e não deve ultrapassar o valor total da entrada."); } decimal?totalPagamentos = ObterPorEntrada(entradaPagamento.CodEntrada).Sum(ep => ep.Valor); Entrada entrada = GerenciadorEntrada.GetInstance().Obter(entradaPagamento.CodEntrada).ElementAt(0); decimal totalRegistrado = 0; if (totalPagamentos != null) { totalRegistrado = (decimal)totalPagamentos; } if ((totalRegistrado + entradaPagamento.Valor) > (entrada.TotalNota + entrada.ValorFrete)) { throw new NegocioException("O valor dos pagamentos não pode ultrapassar o valor da nota mais o valor do frete"); } tb_entrada_forma_pagamento _entradaFormaPagamentoE = new tb_entrada_forma_pagamento(); Atribuir(entradaPagamento, _entradaFormaPagamentoE); var repEntradaPagamento = new RepositorioGenerico <tb_entrada_forma_pagamento>(); repEntradaPagamento.Inserir(_entradaFormaPagamentoE); repEntradaPagamento.SaveChanges(); return(_entradaFormaPagamentoE.codEntradaFormaPagamento); } catch (Exception e) { throw new DadosException("Pagamentos", e.Message, e); } }