public void Put(LancamentoDto lancamento) { _lancamentoRepository.OpenTransaction(); // caso seja conta conjunta aprovada AtualizaCategoriasContaConjunta(lancamento.IdConta, lancamento.IdCategoria); var conta = _contaFinanceiraRepository.Get(lancamento.IdConta); var msg = $"Editou o lançamento ({lancamento.Descricao}) da conta {conta.Nome.ToUpper()}"; if (lancamento.IdUsuarioUltimaAlteracao == null) { _notification.Add("Não foi passado o usuário que esta realizando a edição no lançamento"); return; } // Cadastra notificações para todos os usuarios (caso seja conta conjunta) _notificacaoService.Post((int)lancamento.IdUsuarioUltimaAlteracao, lancamento.IdConta, 5, msg); // 5: Edição de lançamento em conta conjunta if (!lancamento.IdCompromisso.HasValue || lancamento.IndicadorAcaoCompromisso == "S") { _lancamentoRepository.Put(lancamento); _lancamentoRepository.CommitTransaction(); return; } if (string.IsNullOrEmpty(lancamento.IndicadorAcaoCompromisso)) { _notification.Add("Não foi passado a forma que serão alterados os lançamentos fixo/parcelado que estão vínculados"); return; } if (!new List <string> { "P", "T" }.Contains(lancamento.IndicadorAcaoCompromisso)) { _notification.Add("Foi passado uma forma de alteração de lançamentos fixo/parcelado inválida, "); return; } // busca todos lançamentos vínvulados posteriores ao atual; var lancamentos = _compromissoRepository.GetCompromissoLancamentos((int)lancamento.IdCompromisso).ToList(); var dataAnteriorLancamento = lancamentos.First(x => x.IdLancamento == lancamento.Id).DataLancamento; var diferenciaDias = (lancamento.Data - dataAnteriorLancamento).TotalDays; // caso o IndicadorAcaoCompromisso == "P" altera somente este e os próximos lançamentos vínculados if (lancamento.IndicadorAcaoCompromisso == "P") { lancamentos = lancamentos.Where(x => x.IdLancamento >= lancamento.Id).ToList(); } foreach (var lanc in lancamentos) { lancamento.Data = lanc.DataLancamento.AddDays(diferenciaDias); lancamento.Id = lanc.IdLancamento; _lancamentoRepository.Put(lancamento); } _lancamentoRepository.CommitTransaction(); }
public ActionResult Post(LancamentoDto lancamento) { lancamento.IdUsuarioCadastro = UsuarioLogado.Id; var response = _lancamentoAppService.Post(lancamento); return(response.IsSuccessStatusCode ? Ok("Lançamento cadastrado com sucesso") : Error(response)); }
public ActionResult Put(LancamentoDto lancamento) { lancamento.IdUsuarioUltimaAlteracao = UsuarioLogado.Id; var response = _lancamentoAppService.Put(lancamento); return(response.IsSuccessStatusCode ? Ok("Lançamento editado com sucesso") : Error(response)); }
public ActionResult PutIndicadorPagoRecebido(LancamentoDto lancamento) { lancamento.IdUsuarioUltimaAlteracao = UsuarioLogado.Id; var response = _lancamentoAppService.PutIndicadorPagoRecebido(lancamento); return(response.IsSuccessStatusCode ? Ok() : Error(response)); }
public async Task DeveEnviarLacamentoParaContaCorrente() { const string recurso = "/api/lacamentos"; var lancamento = new LancamentoDto() { IdCliente = Guid.NewGuid(), ContaDestino = "050058454", ContaOrigem = "050050527", Data = DateTime.Now, Tipo = 1, Valor = DateTime.Now.Minute + 500 }; var conteudo = new StringContent(JsonConvert.SerializeObject(lancamento), Encoding.UTF8, "application/json"); var resultado = await _contextoDeTeste.Client.PostAsync(recurso, conteudo); var lancamento2 = new LancamentoDto() { IdCliente = Guid.NewGuid(), ContaDestino = "050058454", ContaOrigem = "050050527", Data = DateTime.Now, Tipo = 1, Valor = DateTime.Now.Minute + 500 }; var conteudo2 = new StringContent(JsonConvert.SerializeObject(lancamento2), Encoding.UTF8, "application/json"); var resultado2 = await _contextoDeTeste.Client.PostAsync(recurso, conteudo2); resultado.StatusCode.Should().Be(HttpStatusCode.OK); }
public void NaoDeveMapearLacamentoQuandoDTOForNulo() { LancamentoDto lacamentoDto = null; var lacamentoObtido = Extrato.Aplicacao.Mapeadores.MapeadorDeLancamento.MapearParaEntidade(lacamentoDto); Assert.Null(lacamentoObtido); }
public void PutIndicadorPagoRecebido(LancamentoDto lancamento) { ExecuteProcedure(Procedures.SP_UpdLancamentoIndicadorPagoRecebido); AddParameter("IdLancamento", lancamento.Id); AddParameter("IndicadorPagoRecebido", lancamento.IndicadorPagoRecebido); AddParameter("IdUsuario", lancamento.IdUsuarioUltimaAlteracao); ExecuteNonQuery(); }
public void RealizaLancamento() { var Lista = new List <LancamentoDto>(); var dados1 = new LancamentoDto(0, 10, DateTime.Now, new TipoLancamentoDto(), new ContaDto(), new ContaDto()); var dados2 = new LancamentoDto(0, 10, DateTime.Now, new TipoLancamentoDto(), new ContaDto(), new ContaDto()); Lista.Add(dados1); Lista.Add(dados2); var Json = JsonConvert.SerializeObject(Lista); }
public IHttpActionResult PutIndicadorPagoRecebido(LancamentoDto lancamento) { _lancamentoRepository.PutIndicadorPagoRecebido(lancamento); if (!_notification.Any) { return(Ok()); } return(Content(HttpStatusCode.BadRequest, _notification.Get)); }
public IHttpActionResult Put(LancamentoDto lancamento) { _lancamentoService.Put(lancamento); if (!_notification.Any) { return(Ok()); } return(Content(HttpStatusCode.BadRequest, _notification.Get)); }
public static Lancamento Mapear(LancamentoDto lancamentoDto) { var descricao = lancamentoDto.Tipo == 1 ? "TRANSFERENCIA ENTRE CONTAS" : "TRANSFERENCIA DOC/TED"; return(new Lancamento( lancamentoDto.IdCliente, lancamentoDto.ContaOrigem, lancamentoDto.ContaDestino, lancamentoDto.Tipo, descricao, lancamentoDto.Valor)); }
public int Post(LancamentoDto lancamento) { ExecuteProcedure(Procedures.SP_InsLancamento); AddParameter("IndicadorReceitaDespesa", lancamento.IndicadorReceitaDespesa); AddParameter("Descricao", lancamento.Descricao); AddParameter("Valor", lancamento.Valor); AddParameter("DataLancamento", lancamento.Data); AddParameter("IdConta", lancamento.IdConta); AddParameter("IdCategoria", lancamento.IdCategoria); AddParameter("IndicadorPagoRecebido", lancamento.IndicadorPagoRecebido); AddParameter("IdUsuario", lancamento.IdUsuarioCadastro); return(ExecuteNonQueryWithReturn()); }
public void Put(LancamentoDto lancamento) { ExecuteProcedure(Procedures.SP_UpdLancamento); AddParameter("IndicadorReceitaDespesa", lancamento.IndicadorReceitaDespesa); AddParameter("Descricao", lancamento.Descricao); AddParameter("Valor", lancamento.Valor); AddParameter("DataLancamento", lancamento.Data); AddParameter("IdConta", lancamento.IdConta); AddParameter("IdCategoria", lancamento.IdCategoria); AddParameter("IndicadorPagoRecebido", lancamento.IndicadorPagoRecebido); AddParameter("IdUsuario", lancamento.IdUsuarioUltimaAlteracao); AddParameter("IdLancamento", lancamento.Id); ExecuteNonQuery(); }
public LancamentoTestes() { Id = Guid.NewGuid(); ContaId = Guid.NewGuid(); Description = "Lançamento de crédito"; Value = Faker.RandomNumber.Next(1, 1000); for (int i = 0; i < 10; i++) { var dto = new LancamentoDto() { Id = Guid.NewGuid(), ContaId = Guid.NewGuid(), Description = "Lançamento de crédito", Value = Faker.RandomNumber.Next(1, 1000) }; listaLancamentoDto.Add(dto); } lancamentoDto = new LancamentoDto { Id = Id, ContaId = ContaId, Description = Description, Value = Value }; lancamentoDtoCreate = new LancamentoDtoCreate { ContaId = ContaId, Description = Description, Value = Value }; lancamentoDtoCreateResult = new LancamentoDtoCreateResult { Id = Id, ContaId = ContaId, Description = Description, Value = Value, CreateAt = DateTime.UtcNow }; }
public static Lancamento MapearParaEntidade(LancamentoDto lacamentoDto) { if (lacamentoDto == null) { return(null); } var lacamento = new Lancamento() { ContaDestino = lacamentoDto.ContaDestino, ContaOrigem = lacamentoDto.ContaOrigem, Data = lacamentoDto.Data, Descricao = lacamentoDto.Descricao, Tipo = lacamentoDto.Tipo, Valor = lacamentoDto.Valor }; return(lacamento); }
public LancamentoViewModel(LancamentoDto model) { Id = model.Id; IndicadorReceitaDespesa = model.IndicadorReceitaDespesa; Descricao = model.Descricao; Valor = model.Valor; Data = model.Data; IdConta = model.IdConta; IdContaDestino = model.IdContaDestino; NomeContaOrigem = model.NomeContaOrigem; NomeContaDestino = model.NomeContaDestino; IdCategoria = model.IdCategoria; NomeCategoria = model.NomeCategoria; CorCategoria = model.CorCategoria; IndicadorPagoRecebido = model.IndicadorPagoRecebido; IdCompromisso = model.IdCompromisso; IdUsuarioCadastro = model.IdUsuarioCadastro; NomeUsuarioCadastro = model.NomeUsuarioCadastro; DataCadastro = model.DataCadastro; IdUsuarioUltimaAlteracao = model.IdUsuarioUltimaAlteracao; NomeUsuarioUltimaAlteracao = model.NomeUsuarioUltimaAlteracao; DataUltimaAlteracao = model.DataUltimaAlteracao; }
public void DeveMapearLancamento() { var dataLacamento = DateTime.Now; var lacamentoDto = new LancamentoDto { ContaOrigem = "001234", ContaDestino = "002256", Data = dataLacamento, Descricao = "Tranferência entre contas", Tipo = TipoDeLancamento.TRANSFERENCIA }; var lacamentoEsperado = new Lancamento { ContaOrigem = "001234", ContaDestino = "002256", Data = dataLacamento, Descricao = "Tranferência entre contas", Tipo = TipoDeLancamento.TRANSFERENCIA }.ToExpectedObject(); var lacamentoObtido = Extrato.Aplicacao.Mapeadores.MapeadorDeLancamento.MapearParaEntidade(lacamentoDto); lacamentoEsperado.ShouldMatch(lacamentoObtido); }
public HttpResponseMessage Put(LancamentoDto lancamento) { return(PutRequest("Put", lancamento)); }
public async Task Post([FromBody] LancamentoDto lancamento) { await _envioDeLacamento.Enviar(lancamento); }
public void Post(LancamentoDto lancamento) { _lancamentoRepository.OpenTransaction(); // caso seja conta conjunta aprovada AtualizaCategoriasContaConjunta(lancamento.IdConta, lancamento.IdCategoria); var conta = _contaFinanceiraRepository.Get(lancamento.IdConta); var msg = $"Cadastrou uma nova {(lancamento.IndicadorReceitaDespesa == "R" ? "receita" : "despesa")} ({lancamento.Descricao}) na conta {conta.Nome.ToUpper()}"; // Cadastra notificações para todos os usuarios (caso seja conta conjunta) _notificacaoService.Post(lancamento.IdUsuarioCadastro, lancamento.IdConta, 4, msg); // 4: Cadastro de lançamento em conta conjunta if (string.IsNullOrEmpty(lancamento.IndicadorFixoParcelado)) { _lancamentoRepository.Post(lancamento); _lancamentoRepository.CommitTransaction(); return; } // get periodos if (!lancamento.IdPeriodo.HasValue) { _notification.Add("Favor informar o periodo para lançamentos fixo/parcelado"); return; } var periodo = _lancamentoRepository.GetPeriodo((byte)lancamento.IdPeriodo); if (periodo == null) { _notification.Add("Os dados do periodo informado não foram encontrados"); return; } var idCompromisso = _compromissoRepository.Post(new CompromissoDto { Descricao = lancamento.Descricao, IdPeriodo = (byte)lancamento.IdPeriodo, DataInicio = lancamento.Data, TotalParcelasOriginal = lancamento.TotalParcelasOriginal, IdUsuarioCadastro = lancamento.IdUsuarioCadastro, DataCadastro = DateTime.Now, IdConta = lancamento.IdConta }); if (_notification.Any) { return; } var cont = 1; if (lancamento.IndicadorFixoParcelado == "F") { var dataLimite = DateTime.Today.AddYears(2); while (lancamento.Data <= dataLimite) { var idLancamento = _lancamentoRepository.Post(lancamento); _compromissoRepository.PostCompromissoLancamento(idCompromisso, idLancamento, cont++); lancamento.Data = AddDate(lancamento.Data, periodo); } _lancamentoRepository.CommitTransaction(); return; } // lançamentos parcelados if (!lancamento.TotalParcelasOriginal.HasValue || lancamento.TotalParcelasOriginal < 2) { _notification.Add("Favor informar mais que 1(uma) parcela"); return; } for (; cont <= lancamento.TotalParcelasOriginal; cont++) { var idLancamento = _lancamentoRepository.Post(lancamento); _compromissoRepository.PostCompromissoLancamento(idCompromisso, idLancamento, cont); lancamento.Data = AddDate(lancamento.Data, periodo); } _lancamentoRepository.CommitTransaction(); }
public HttpResponseMessage PutIndicadorPagoRecebido(LancamentoDto lancamento) { return(PutRequest("PutIndicadorPagoRecebido", lancamento)); }
public async Task Enviar(LancamentoDto lancamentoDto) { var lancamento = MapeadorDeLancamento.Mapear(lancamentoDto); await _mensageria.EnviarMensagem(lancamento); }