public async Task <DividasFiltroModel> MontaRetornoDividas(DividasModel dividas) { var dividasRetorno = new DividasFiltroModel(); await Task.Factory.StartNew(() => { var parcelas = new HashSet <ParcelasFiltroModel>(); foreach (var item in dividas.parcelas.ToHashSet()) { parcelas.Add(new ParcelasFiltroModel() { num_parcela = item.num_parcela, vencimento = item.vencimento, valor = Math.Round(item.valor, 2), valor_juros = Math.Round((dividas.perc_juros / 30) * (int)(DateTime.Today.Subtract(item.vencimento).TotalDays) * item.valor, 2) }); } dividasRetorno.numero_titulo = dividas.numero_titulo; dividasRetorno.nome = dividas.nome; dividasRetorno.qtd_parcelas = dividas.parcelas.Count(); dividasRetorno.valor_original = Math.Round(dividas.parcelas.Sum(p => p.valor), 2); dividasRetorno.dias_atraso = (int)(DateTime.Today.Subtract(dividas.parcelas.Min(p => p.vencimento)).TotalDays); dividasRetorno.valor_atualizado = Math.Round((parcelas.Sum(p => p.valor_juros) + dividasRetorno.valor_original) + (dividasRetorno.valor_original *dividas.perc_multa), 2); dividasRetorno.parcelas = parcelas; }); return(dividasRetorno); }
public bool inDivida(int idEmp, DividasModel divida) { ParcelasDividaServices parcelasDividaServices = new ParcelasDividaServices(); string comandoSql1 = "insert into TB_CA_Dividas_div (" + "div_Empresa_int_FK, " + "div_Divida_chr, " + "div_Pago_int, " + "div_Observacao_chr, " + "div_Tipo_int, " + "div_Total_mon, " + "div_DataCriacao_dtm ) " + "VALUES (" + idEmp.ToString() + ",'" + divida.divida + "'," + divida.pago + ",'" + divida.observacao + "'," + divida.tipoDivida + ",'" + divida.valorTotal + "','" + divida.dataCriacao + "') "; string comandoSql2 = "SELECT @@IDENTITY;"; OleDbCommand cmd = new OleDbCommand(comandoSql1, DBService.conexao); OleDbCommand cmd2 = new OleDbCommand(comandoSql2, DBService.conexao); try { //Abertura da conexão DBService.conexao.Open(); //Executar o comando e ler os dados retornados int succ = cmd.ExecuteNonQuery(); if (succ == 0) { return(false); } else { int id = (int)cmd2.ExecuteScalar(); foreach (var item in divida.parcelaDividas) { bool succItem = parcelasDividaServices.inParcelaDivida(idEmp, id, item); if (!succItem) { //fazer o rotina de excluir o pedido, pois se caiu aqui, deu erro return(false); } } return(true); } } catch (Exception exc) { throw new Exception(exc.Message); } finally { DBService.conexao.Close(); } }
private void btnSalvar_Click(object sender, EventArgs e) { DividaService dividaService = new DividaService(); DividasModel dividas = new DividasModel(); dividas.divida = txtParcela.Text; dividas.pago = 0; dividas.observacao = txtObservacao.Text; dividas.tipoDivida = cbTipoDivida.SelectedIndex; dividas.valorTotal = txtValorTotal.Text == "" ? 0 :decimal.Parse(txtValorTotal.Text); dividas.dataCriacao = DateTime.Now; dividas.parcelaDividas = parcelas; string validacao = validarDados(dividas); if (validacao != "") { MessageBox.Show(validacao); return; } bool success = dividaService.inDivida(idEmpresa, dividas); if (success) { MessageBox.Show("Pedido Gravado com Sucesso"); voltar(); } else { MessageBox.Show("Erro ao Gravar Pedido"); } }
public async Task <ActionResult <DividasModel> > PostDividasModel(DividasModel dividasModel) { _context.Dividas.Add(dividasModel); await _context.SaveChangesAsync(); return(CreatedAtAction("GetDividasModel", new { id = dividasModel.id_dividas }, dividasModel)); }
public async Task <IActionResult> PutDividasModel(long id, DividasModel dividasModel) { if (id != dividasModel.id_dividas) { return(BadRequest()); } _context.Entry(dividasModel).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!DividasModelExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }
public string validarDados(DividasModel dividas) { string mensagem = ""; if (dividas.divida is null) { mensagem += "***Nome da Divida não Escolhidos***\r\n\r\n"; } if (dividas.valorTotal == 0) { mensagem += "***Valor Total igual a 0***\r\n\r\n"; } return(mensagem); }
private void buscaDivida() { DividaService dividaService = new DividaService(); ParcelasDividaServices parcelasDividaServices = new ParcelasDividaServices(); DividasModel divida = new DividasModel(); ParcelaDividasModel parcelas = new ParcelaDividasModel(); divida = dividaService.seDivida(idEmpresa, idDivida); if (divida.pago == 1) { txtTotalmentePago.Text = "Sim"; } else { txtTotalmentePago.Text = "Não"; } divida.parcelaDividas = parcelasDividaServices.lsParcelasDividas(idEmpresa, idDivida); txtParcela.Text = divida.divida; txtValorTotal.Text = divida.valorTotal.ToString(); dtPriParcela.Value = divida.dataCriacao; qtdParc.Value = divida.parcelaDividas.Count(); cbTipoDivida.SelectedIndex = divida.tipoDivida; foreach (var parcela in divida.parcelaDividas) { String[] row = { parcela.parcela, parcela.valorParcela.ToString("C"), parcela.dataParcela.ToString("dd/MM/yyyy"), parcela.pago == 0? "Não": "Sim", parcela.dataPagamento.ToString("dd/MM/yyyy") }; ListViewItem item = new ListViewItem(row); lstParcelas.Items.Add(item); } lstParcelas.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent); lstParcelas.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize); }
public DividasModel seDivida(int idEmp, int idDiv) { string comandoSql = "select " + "div_Divida_int_PK, " + "div_Empresa_int_FK, " + "div_Divida_chr, " + "div_Pago_int, " + "div_Observacao_chr, " + "div_Tipo_int, " + "div_Total_mon, " + "div_DataCriacao_dtm " + "from TB_CA_Dividas_div " + "where div_Empresa_int_FK = " + idEmp + " and " + "div_Divida_int_PK = " + idDiv; OleDbCommand commando = new OleDbCommand(comandoSql, DBService.conexao); try { //Abertura da conexão DBService.conexao.Open(); //Executar o comando e ler os dados retornados OleDbDataReader dados = commando.ExecuteReader(); DividasModel divida = new DividasModel(); while (dados.Read()) { if ((int)dados["div_Divida_int_PK"] != -1) { DateTime dataCriacao; DateTime.TryParse(dados["div_DataCriacao_dtm"].ToString(), out dataCriacao); divida.idDivida = (int)dados["div_Divida_int_PK"]; divida.idEmpresa = (int)dados["div_Empresa_int_FK"]; divida.divida = dados["div_Divida_chr"].ToString(); divida.pago = (int)dados["div_Pago_int"]; divida.observacao = dados["div_Observacao_chr"].ToString(); divida.tipoDivida = (int)dados["div_Tipo_int"]; divida.valorTotal = (decimal)dados["div_Total_mon"]; divida.dataCriacao = dataCriacao; } else { return(null); } } //buscar as parcelas aqui return(divida); } catch (Exception exc) { throw new Exception(exc.Message); } finally { DBService.conexao.Close(); } }