public void testar_extrato() { var conta = new ContaCorrente(); conta.Credita(1000); conta.Numero = 123; var extrato = new Extrato(conta); extrato.Executa(); RepositorioTransacaoBancaria.LimparRepositorio(); RepositorioTransacaoBancaria.Adicionar(extrato); Assert.Contains(extrato, RepositorioTransacaoBancaria.Listar()); Extrato recuperado = RepositorioTransacaoBancaria.Listar().Cast <Extrato>().FirstOrDefault(); List <Extrato> extratos = RepositorioTransacaoBancaria.Listar() .Where(t => t.GetType().Name == typeof(Extrato).Name) .Cast <Extrato>() .ToList(); Assert.AreEqual(extrato, recuperado); }
/// <summary> /// Imprimir o extrato de cancelamento do CFe. /// </summary> /// <param name="cfe">The cfe.</param> /// <param name="cFeCanc">The c fe canc.</param> public void ImprimirExtratoCancelamento(CFe cfe, CFeCanc cFeCanc) { Guard.Against <ACBrException>(!Ativo, "Componente não está ativo."); Guard.Against <ArgumentNullException>(Extrato == null, "Componente de Impressão não definido !"); Extrato.ImprimirExtratoCancelamento(cfe, cFeCanc); }
public Task Handle(CadastrarExtratoCommand notification, CancellationToken cancellationToken) { if (!_usuarioQueryRepository.UsuarioExistente(notification.Email)) { NotificarErro(notification.MessageType, $"O usuario {notification.Email} não está cadastrado"); return(Task.CompletedTask); } var extrato = new Extrato(notification.Pontos, notification.Email, notification.Estabelecimento, DateTime.Now); _extratoCommandRepository.Adicionar(extrato); if (!HasNotificationsError()) { _mediator.PublicarEvento(new ExtratoCadastradoEvent(extrato)); } var saldo = AtualizarSaldo(notification.Email, notification.Pontos, notification.MessageType); if (!HasNotificationsError()) { _mediator.PublicarEvento(new SaldoAtualizadoEvent(saldo)); } return(Task.CompletedTask); }
public async Task <IActionResult> PostMovimentacao(IFormFile file) { try { if (file != null) { var filePath = UploadFiles.Upload(file); Importacao importacao = new Importacao(); importacao.Id = Guid.NewGuid(); importacao.DataImportacao = DateTime.Now; importacao.NomeArquivo = filePath; importacao.Movimentacoes = Extrato.MontaExtrato(await _movimentacaoRepository.GetSaldo(), importacao); _importacaoRepository.Add(importacao); if (await _importacaoRepository.SaveChangesAsync()) { return(Ok(await _movimentacaoRepository.Get())); } } return(BadRequest()); } catch (Exception) { return(this.StatusCode(StatusCodes.Status500InternalServerError, "Falha no upload do arquivo.")); } }
private void ClassificaItens(IEnumerable <Regra> regras) { if (!Extrato.Any()) { return; } var minData = Extrato.Min(p => p.Data); var maxData = Extrato.Max(p => p.Data); var existing = Balance .Where(bi => bi.Data >= minData && bi.Data <= maxData) .ToList(); foreach (var regra in regras) { regra.Initialize(); } foreach (var item in Extrato) { foreach (var regra in regras) { if (regra.MatchAndUpdate(item)) { break; } } item.AfetaSaldo = !item.Historico.Contains("Depósito bloq") && item.AfetaSaldo; item.AddToDB = item.AddToDB && !existing.Any(d => d.Similar(item)); } }
public void Execute(IPluginExecutionContext context) { try { DynamicEntity entity = null; if (context.PostEntityImages.Properties.Contains("Target") && context.PostEntityImages.Properties["Target"] is DynamicEntity) { entity = (DynamicEntity)context.PostEntityImages.Properties["Target"]; } if (entity == null) { return; } if (!entity.Properties.Contains("new_extratoid")) { return; } Guid extratoId = ((Lookup)entity.Properties["new_extratoid"]).Value; Extrato extrato = new Extrato(DomainService.Organizacao) { Id = extratoId }; extrato.AtualizarValor(); DomainService.RepositoryExtrato.Update(extrato); } catch (Exception ex) { LogService.GravaLog(ex, TipoDeLog.PluginNew_lancamento_avulso, "PostUpdate"); } }
/// <summary> /// Imprime o extrato resumido do CFe. /// </summary> /// <param name="cfe">The cfe.</param> public void ImprimirExtratoResumido(CFe cfe) { Guard.Against <ACBrException>(!Ativo, "Componente não está ativo."); Guard.Against <ArgumentNullException>(Extrato.IsNull(), "Componente de Impressão não definido !"); Extrato.ImprimirExtratoResumido(cfe); }
public static void InserirSaldo(decimal valor, string origem, string destino, int natureza, int tipo, string descricao, LoginViewModel usuario, string emailEmpresa) { IList <Extrato> extratos = new List <Extrato>(); var extrato = new Extrato(valor, natureza, tipo, origem, destino, null, Status.Aprovado) { Ativo = true, DataCriacao = DateTime.UtcNow, DataEdicao = DateTime.UtcNow, Descricao = descricao, IdCliente = usuario.idCliente, Nome = "Saldo", Status = 1, UsuarioCriacao = usuario.IdUsuario, UsuarioEdicao = usuario.IdUsuario, TipoOrigem = 2, TipoDestino = 3, EmailEmpresa = emailEmpresa, }; extratos.Add(extrato); var keyUrl = ConfigurationManager.AppSettings["UrlAPI"].ToString(); var url = keyUrl + "/Seguranca/WpFinanceiro/InserirCredito/" + usuario.idCliente + "/" + usuario.IdUsuario; var envio = new { extratos, }; var helper = new ServiceHelper(); var result = helper.Post <object>(url, envio); }
private void LerMeses() { for (int i = 0; i < 3; i++) { var extrato = new Extrato() { CartaoCredito = true, }; var elementos = driver.FindElements(By.XPath("//a[contains(@onclick, '_fatura')]")); if (i >= elementos.Count) { return; } Actions builder = new Actions(driver); var elemento = elementos[i]; var texto = elemento.Text; builder.MoveToElement(elemento).Click().Perform(); LerInfo(extrato, texto, i); LerMovimentacoes(extrato); if (extrato.Transacoes.Any()) { _extratos.Add(extrato); } } }
private void LerTabelaCartao(string nome) { var cotacaoDolar = BuscaCotacaoDolar(); var trs = driver.FindElements(By.XPath("//div[@class = 'tabla_datos']/table/tbody/tr[not(contains(@class, 'cabecera2'))]")); var labelVencimento = driver.FindElement(By.XPath("//span[contains(@class, 'left') and text() = 'Data de vencimento:']")); var vencimento = labelVencimento.FindElement(By.XPath("../span[contains(@class, 'right')]")); if (!DateTime.TryParse(vencimento.Text.Trim(), out var dataVencimento)) { dataVencimento = DateTime.MinValue; } var extrato = new Extrato { CartaoCredito = true, Descricao = $"Final {nome}", Referencia = dataVencimento }; foreach (var tr in trs) { var colunas = tr.FindElements(By.TagName("td")); if (colunas.Count < 4) { continue; } var transacao = new Transacao { Descricao = colunas[1].Text.Trim() }; if (!DateTime.TryParse(colunas[0].Text.Trim(), out var data)) { continue; } transacao.Data = data; var strValor = colunas[3].Text.Trim(); var multiplicador = 1.0; if (string.IsNullOrWhiteSpace(strValor)) { multiplicador = cotacaoDolar; strValor = colunas[2].Text.Trim(); } if (!Double.TryParse(strValor, out var valor)) { continue; } transacao.Valor = valor * multiplicador; extrato.AdicionaTransacao(transacao); } if (extrato.Transacoes.Any()) { _extratos.Add(extrato); } }
public void Saldo_Suficiente_Para_Retirada_Pagamento() { var extrato = new Extrato(); var resultado = extrato.SaldoInsuficiente(10, 5); Assert.False(resultado); }
private void MnuExtrato_Click(object sender, EventArgs e) { bool bAllow = gtiCore.GetBinaryAccess((int)TAcesso.ExtratoContribuinte); if (bAllow) { gtiCore.Ocupado(this); var formToShow = Application.OpenForms.Cast <Form>().FirstOrDefault(c => c is Forms.Extrato); if (formToShow != null) { formToShow.Show(); } else { Extrato f1 = new Extrato { Tag = "Menu", MdiParent = this }; f1.Show(); } gtiCore.Liberado(this); } else { MessageBox.Show("Acesso não permitido.", "Erro", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
private static void ReadTable(IWebDriver driver, string conta, ref List <Extrato> extratos) { try { var cultureBR = new CultureInfo("pt-BR"); IList <IWebElement> tabelas = driver.FindElements(By.XPath("//*[@id='TRNcontainer01']/table")); foreach (var tabela in tabelas) { foreach (var tr in tabela.FindElements(By.TagName("tr"))) { IList <IWebElement> tds = tr.FindElements(By.TagName("td")); if (tds.Count > 0 && tr.FindElement(By.TagName("td")).Text.Contains("/")) { var extrato = new Extrato(); extrato.conta = conta; // Bug virada do ano var ano = DateTime.Now.Year; int n; bool isNumeric = int.TryParse(tds[0].Text.Substring(3), out n); if (isNumeric) { var mes = Convert.ToInt32(tds[0].Text.Substring(3)); if (mes > DateTime.Now.Month) // virou o ano { ano -= 1; } extrato.data = DateTime.ParseExact(tds[0].Text + "/" + ano.ToString(), "dd/MM/yyyy", CultureInfo.InvariantCulture); extrato.descricao = ExtratoHelper.GetDescricao(tds[1].Text); if (extrato.descricao != null) { if (tds[2].Text.Contains("-")) { extrato.credito = (decimal?)decimal.Parse(tds[2].Text.Replace("-", ""), NumberStyles.Currency, cultureBR); } else { extrato.debito = -1 * (decimal?)decimal.Parse(tds[2].Text.Replace("-", ""), NumberStyles.Currency, cultureBR); } ExtratoHelper.AddExtrato(ref extratos, extrato); } } } } } } catch (Exception ex) { throw ex; } }
public static void AddExtrato(ref List <Extrato> extratos, Extrato extrato) { if (!extrato.credito.HasValue && !extrato.debito.HasValue && !extrato.saldo.HasValue) { return; } extratos.Add(extrato); }
public Extrato GerarExtrato(long contaId) { Conta contaBuscadaDoBanco = _contaRepositorio.Buscar(contaId); Extrato extrato = contaBuscadaDoBanco.GerarExtrato(); return(extrato); }
private static Extrato CriarExtrato() { var participanteId = Guid.NewGuid(); var extratoId = Guid.NewGuid(); var extrato = new Extrato(extratoId, participanteId); return(extrato); }
public static void LancaTransacoes(OportunidadeViewModel vaga, LoginViewModel usuario) { IList <Extrato> extratos = new List <Extrato>(); for (int i = 0; i < vaga.Quantidade; i++) { var valor1 = (vaga.Valor) * -1; var extrato1 = new Extrato(valor1, 2, 1, vaga.IdEmpresa.ToString(), vaga.IdEmpresa.ToString(), vaga.ID, Status.Aprovado) { Ativo = true, DataCriacao = DateTime.UtcNow, DataEdicao = DateTime.UtcNow, Descricao = "Debitando valor da vaga.", IdCliente = usuario.idCliente, Nome = "Débito", Status = 1, UsuarioCriacao = usuario.IdUsuario, UsuarioEdicao = usuario.IdUsuario, TipoOrigem = 3, TipoDestino = 3, }; var valor2 = vaga.Valor; var extrato2 = new Extrato(valor2, 2, 1, vaga.IdEmpresa.ToString(), "52", vaga.ID, Status.Bloqueado) { Ativo = true, DataCriacao = DateTime.UtcNow, DataEdicao = DateTime.UtcNow, Descricao = "Disponibilizando valor da vaga.", IdCliente = usuario.idCliente, Nome = "Pagamento", Status = 1, UsuarioCriacao = usuario.IdUsuario, UsuarioEdicao = usuario.IdUsuario, TipoOrigem = 3, TipoDestino = 2, }; extratos.Add(extrato1); extratos.Add(extrato2); } var keyUrl = ConfigurationManager.AppSettings["UrlAPI"].ToString(); var url = keyUrl + "/Seguranca/WpFinanceiro/AlocarCredito/" + usuario.idCliente + "/" + usuario.IdUsuario; var envio = new { extratos, }; var helper = new ServiceHelper(); var result = helper.Post <object>(url, envio); }
public void Post([FromBody] Extrato extrato) { _extratoRepositorio.Adicionar(new Extrato() { Email = extrato.Email, CompraId = extrato.CompraId, Pontos = extrato.Pontos }); }
public void ExtratoParaBalance() { foreach (var bal in Extrato.Where(i => i.AddToDB) .OrderBy(i => i.Data).ThenBy(i => i.Valor)) { Balance.Add(bal); } Extrato.Clear(); }
private Extrato CriaRetorno(string cssPath, bool tipoCartao, int colData, int colDescricao, int colValor) { var trs = driver.FindElements(By.CssSelector(cssPath)); var retorno = new Extrato { CartaoCredito = tipoCartao }; AdicionaItens(retorno, trs, colData, colDescricao, colValor); return(retorno); }
public List <T> ListarPor(Extrato extrato, Domain.Model.Conta assistenciaTecnica = null) { var query = GetQueryExpression <T>(true); query.Criteria.Conditions.Add(new ConditionExpression("new_extrato_pagamentoid", ConditionOperator.Equal, extrato.Id)); if (assistenciaTecnica != null) { query.Criteria.Conditions.Add(new ConditionExpression("new_autorizadaid", ConditionOperator.Equal, assistenciaTecnica.Id)); } return((List <T>) this.RetrieveMultiple(query).List); }
public async Task Adicionar(Extrato extrato) { try { await _context.Extratos.InsertOneAsync(extrato); } catch (Exception ex) { throw ex; } }
public void Conta_dominio_GerarExtrato_deve_passar() { var valorEsperado = 0; _conta = ObjectMother.ObtemContaValida(); var result = Extrato.GerarExtrato(_conta); result.Should().NotBeNull(); result.Limite.Should().BeGreaterThan(valorEsperado); }
private static void BuscaSaldo(Extrato extrato) { var tr = extrato.Transacoes.FirstOrDefault(); if (tr == null) { return; } extrato.SaldoAnterior = tr.Saldo - tr.Valor; }
public Extrato GerarExtrato(int id) { if (id < 1) { throw new NaoEncontradoException(); } Conta conta = _repositorioConta.PegarPorId(id) ?? throw new NaoEncontradoException(); return(Extrato.GerarExtrato(conta)); }
public static Extrato ObterExtratoValido() { Extrato extrato = new Extrato(); extrato.DataEmissao = DateTime.Now; extrato.Limite = 500; extrato.Saldo = 100; extrato.NumeroConta = "12345"; extrato.NomeCliente = "cliente"; return(extrato); }
public void CriarExtrato(Guid extratoId, Guid participanteId) { if (extratoRepository.ExisteExtratoParticipante(participanteId)) { throw new DomainException("O participante já possui extrato."); } var extrato = new Extrato(extratoId, participanteId); eventStoreService.SaveAggregate(extrato); }
public void Imprimir_Extrato_Conta_Inativa() { ContaCorrente conta = new ContaCorrente(); RepositorioTransacaoBancaria.Adicionar(new Deposito(conta, 1000)); RepositorioTransacaoBancaria.Adicionar(new Saque(conta, 200)); ServicoConta.Bloquear(conta); Extrato extrato = new Extrato(conta, DateTime.Now.AddDays(-1), DateTime.Now); Assert.Throws<InvalidOperationException>(() => extrato.Executa()); Assert.IsNotNull(extrato.Comprovante.Descricao); }
static Transacao ObterInformacaoTransacao(StreamReader streamReader, Extrato extrato) { Transacao transacao = new Transacao(); transacao.Status = new Status(); extrato.InstituicaoFinanceira.Conta = new InstituicaoFinanceiraConta(); var linha = streamReader.ReadLine().Trim(); while (!FimInformacaoTransacao(linha)) { switch (ObterDescricaoItemExtrato(linha)) { case ("TRNUID"): transacao.Codigo = ObterNumeroInteiroLinha(linha, "<TRNUID>", "</TRNUID>"); break; case ("CODE"): transacao.Status.Codigo = ObterNumeroInteiroLinha(linha, "<CODE>", "</CODE>"); break; case ("SEVERITY"): transacao.Status.Categoria = ObterTextoLinha(linha, "<SEVERITY>", "</SEVERITY>"); break; case ("CURDEF"): transacao.Moeda = ObterTextoLinha(linha, "<CURDEF>", "</CURDEF>"); break; case ("ACCTID"): extrato.InstituicaoFinanceira.Conta.Conta = ObterTextoLinha(linha, "<ACCTID>", "</ACCTID>"); break; case ("ACCTTYPE"): extrato.InstituicaoFinanceira.Conta.Tipo = ObterTextoLinha(linha, "<ACCTTYPE>", "</ACCTTYPE>"); break; case ("DTSTART"): transacao.DataInicial = ObterDataHoraLinha(linha, "<DTSTART>", "</DTSTART>"); break; case ("DTEND"): transacao.DataFinal = ObterDataHoraLinha(linha, "<DTEND>", "</DTEND>"); break; } linha = streamReader.ReadLine().Trim(); } return(transacao); }
public void LimparCampoExtratoLogisticaReversa(Extrato extrato) { var queryHelper = GetQueryExpression <T>(true); queryHelper.Criteria.Conditions.Add(new ConditionExpression("new_extrato_logistica_reversaid", ConditionOperator.Equal, extrato.Id)); var bec = base.Provider.RetrieveMultiple(queryHelper); foreach (Entity item in bec.Entities) { item["new_extrato_logistica_reversaid"] = null; base.Provider.Update(item); } }
public void Imprimir_Extrato() { ContaCorrente conta = new ContaCorrente(); RepositorioTransacaoBancaria.Adicionar(new Deposito(conta, 1000)); RepositorioTransacaoBancaria.Adicionar(new Saque(conta, 200)); Extrato extrato = new Extrato(conta, DateTime.Now.AddDays(-1), DateTime.Now); extrato.Executa(); Assert.AreEqual(2, extrato.TransacoesBancarias.Count()); }
public void Imprimir_Extrato() { ContaCorrente conta = new ContaCorrente(); RepositorioTransacaoBancaria.Adicionar(new Deposito(conta, 1000)); RepositorioTransacaoBancaria.Adicionar(new Saque(conta, 200)); Extrato extrato = new Extrato(conta, DateTime.Now.AddDays(-1), DateTime.Now); extrato.Executa(); Assert.AreEqual(2, extrato.TransacoesBancarias.Count()); }
public List<Extrato> ListarExtrato(string mes, string ano, Int32 conta) { query = @"SELECT tb_transacao.trans_id, tb_transacao.trans_dia, tb_transacao.trans_mes, tb_transacao.trans_ano, tb_tipo.tip_nome, tb_categoria.cat_nome, tb_transacao.trans_descricao, tb_transacao.trans_valor, tb_conta.cont_nome, tb_conta.cont_saldo FROM tb_conta INNER JOIN tb_transacao ON tb_conta.cont_id = tb_transacao.fk_cont_id INNER JOIN tb_categoria ON tb_transacao.fk_cat_id = tb_categoria.cat_id INNER JOIN tb_tipo ON tb_transacao.fk_tip_id = tb_tipo.tip_id WHERE tb_transacao.fk_tip_id <> 4 AND tb_transacao.trans_mes = @mes AND tb_transacao.trans_ano = @ano AND tb_transacao.fk_cont_id = @conta ORDER BY tb_transacao.trans_dia ASC"; try { conn.Open(); cmd.Connection = conn; cmd.CommandType = CommandType.Text; cmd.CommandText = query; cmd.Parameters.AddWithValue("@mes", mes); cmd.Parameters.AddWithValue("@ano", ano); cmd.Parameters.AddWithValue("@conta", conta); SqlDataReader dr = cmd.ExecuteReader(); List<Extrato> extratos = new List<Extrato>(); while (dr.Read()) { Extrato extrato = new Extrato(); extrato.Id = Convert.ToInt32(dr[0]); extrato.Data = dr[1].ToString() + "/" + dr[2].ToString() + "/" + dr[3].ToString(); extrato.Tipo = dr[4].ToString(); extrato.Categoria = dr[5].ToString(); extrato.Descricao = dr[6].ToString(); extrato.Valor = "R$ " + dr[7].ToString().Replace(".", ","); extratos.Add(extrato); } return extratos; } catch { return null; } finally { conn.Close(); } }