Beispiel #1
0
        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);
            }
        }