private static bool RealizarPersistenciaLancamentosFinanceiros(Repasse repasse) { var lancamentos = GerarLancamentosFinanceiros(repasse); var client = new HttpClient(); client.Timeout = TimeSpan.FromHours(3); var _microservicoUrls = RecuperarMicroServicosUrls(); client.BaseAddress = new Uri(_microservicoUrls.UrlApiLancamentoFinanceiro); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Add("usuario", "EPM"); var content = new StringContent(JsonConvert.SerializeObject(lancamentos), Encoding.UTF8, "application/json"); var response = client.PostAsync("api/LancamentoFinanceiro/gerar-credito-debito", content).Result; var responseString = response.Content.ReadAsStringAsync().Result; if (response.StatusCode != System.Net.HttpStatusCode.OK) { AdicionarLogGenerico("Erro ao gerar lançamentos financeiros.", response.Content.ReadAsStringAsync().Result); return(false); } else { AdicionarLogGenerico("Realizado a geração de lançamentos de crédito e débito."); return(true); } }
public async Task <IActionResult> Edit(long?id, Repasse repasse) { if (id != repasse.Id) { return(NotFound()); } if (id != null) { try { if (ModelState.IsValid) { repasse.IdUser = userManager.GetUserAsync(User).Result.Id; await repasseDAL.GravarRepasse(repasse); } } catch (DbUpdateConcurrencyException) { ModelState.AddModelError("", "Valor informado não é um numero válido."); } return(RedirectToAction("Index")); } return(View(repasse)); }
private void RealizarConscistenciaRepasseRemocao(Repasse repasse, string statusAnterior) { if (!RealizarRemocaoLancamentosFinanceiros(repasse.Id)) { repasse.FlStatus = statusAnterior; AtualizarRepasse(repasse); _notificationHandler.AddMensagem("Error!", "Ocorreu um erro durante a remoção dos lançamentos financeiros"); } }
private Repasse PersistirRepasseAtual(Repasse repasseAtual) { //DESCOMENTAR PARA POPULAR COM AS INFORMAÇÕES DE DESPESA //var repasseDb = _repasseRepository.Buscar(x => x.IdRepasseEacesso == repasseAtual.IdRepasseEacesso).FirstOrDefault(); //if (repasseDb != null) //{ // repasseDb.VlInc = repasseAtual.VlInc; // repasseDb.VlDesc = repasseAtual.VlDesc; // repasseDb.IdTipoDespesa = repasseAtual.IdTipoDespesa; // return repasseDb; //} var servicosEacessoService = new ClienteServicoEacessoService(_connectionStrings.Value.EacessoConnection); try { repasseAtual.IdRepasseMae = null; repasseAtual.DtRepasseMae = null; var idOrigem = _deParaServicoService.BuscarIdServicoContratadoPorIdServicoEacesso(repasseAtual.IdServicoContratadoOrigem); var idDestino = _deParaServicoService.BuscarIdServicoContratadoPorIdServicoEacesso(repasseAtual.IdServicoContratadoDestino); if (idOrigem != 0 && idDestino != 0 && (idOrigem != 2233 || idDestino != 2233)) { if (idOrigem != 0) { repasseAtual.IdServicoContratadoOrigem = idOrigem; } else { var servicoEacesso = ObterServicoEacesso(repasseAtual.IdServicoContratadoOrigem, servicosEacessoService); var servico = ViewServicoVmParaServicoContratado(servicoEacesso); repasseAtual.IdServicoContratadoOrigem = _servicoContratadoService.PersistirServicoEacesso(servico, servicoEacesso.IdServico, servicoEacesso.NomeServico, servicoEacesso.IdCliente, servicoEacesso.Markup, servicoEacesso.IdContrato, servicoEacesso.SiglaTipoServico, servicoEacesso.DescEscopo, servicoEacesso.SubTipo); } if (idDestino != 0) { repasseAtual.IdServicoContratadoDestino = idDestino; } else { var servicoEacesso = ObterServicoEacesso(repasseAtual.IdServicoContratadoDestino, servicosEacessoService); var servico = ViewServicoVmParaServicoContratado(servicoEacesso); repasseAtual.IdServicoContratadoDestino = _servicoContratadoService.PersistirServicoEacesso(servico, servicoEacesso.IdServico, servicoEacesso.NomeServico, servicoEacesso.IdCliente, servicoEacesso.Markup, servicoEacesso.IdContrato, servicoEacesso.SiglaTipoServico, servicoEacesso.DescEscopo, servicoEacesso.SubTipo); } return(repasseAtual); } else { return(null); } } catch (Exception e) { AdicionarLogGenerico(string.Format("Ocorreu um erro na migracao do repasse eacesso {0}", JsonConvert.SerializeObject(repasseAtual)), e.StackTrace); return(null); } }
public void AtualizarRepassesFuturos(Repasse repasse) { var result = _repasseRepository.ObterRepassesPorIdRelacionados(repasse.Id); foreach (var repasseDB in result) { AtualizarValores(repasse, repasseDB); repasseDB.DtRepasse = repasseDB.DtRepasse.Date; _repasseRepository.UpdateCompose(repasseDB, new object[] { repasseDB.Id, repasseDB.DtRepasse }); } _unitOfWork.Commit(); }
private void AdicionarParcelasDoRepasseEAcesso(Repasse repasse) { Repasse cloneRepasse = repasse.Clone(); for (int i = 1; i < repasse.QtdVezesRepetir; i++) { cloneRepasse.Id = 0; cloneRepasse.DataRepasse = cloneRepasse.DataRepasse.AddMonths(1); _repasseRepository.Adicionar(cloneRepasse); cloneRepasse = cloneRepasse.Clone(); } }
private void AdicionarRepasseEacesso(Repasse repasse) { repasse.Status = DefinirStatusRepasseEAcesso(repasse); var descricaoOriginal = repasse.DescricaoProjeto; repasse.DescricaoProjeto = repasse.QtdVezesRepetir > 1 ? repasse.DescricaoProjeto + $" - 1/{repasse.QtdVezesRepetir.ToString()}" : repasse.DescricaoProjeto; _repasseRepository.Adicionar(repasse); _unitOfWork.CommitLegado(); repasse.DescricaoProjeto = descricaoOriginal; }
private string DefinirStatusRepasseEAcesso(Repasse repasse) { if (repasse.Id == 0) { return(StatusRepasseEacesso.NAO_ANALISADO.GetDescription()); } else { return(repasse.Status == StatusRepasseEacesso.NEGADO.GetDescription() ? StatusRepasseEacesso.NAO_ANALISADO.GetDescription() : repasse.Status); } }
public async Task <Repasse> GravarRepasse(Repasse repasse) { if (repasse.Id == null) { context.Repasses.Add(repasse); } else { context.Update(repasse); } await context.SaveChangesAsync(); return(repasse); }
private void AdicionarRepasseStfCorp(RepasseNivelUm repasseStfCorp, Repasse repasseEAcesso, int idDominioRepasseCadastrado) { var periodoVigente = _periodoRepasseRepository.BuscarPeriodoVigente(); repasseStfCorp.Status = DefinirStatusRepasseStfCorp(repasseStfCorp); repasseStfCorp.IdRepasseEacesso = repasseEAcesso.Id; repasseStfCorp.DataLancamento = periodoVigente.DtLancamento; repasseStfCorp.ParcelaRepasse = $"1/{repasseEAcesso.QtdVezesRepetir.ToString()}"; _repasseNivelUmRepository.Adicionar(repasseStfCorp); AdicionarLogRepasse(repasseStfCorp.Id, idDominioRepasseCadastrado, string.Empty); _unitOfWork.Commit(); }
private void AdicionarParcelasDeRepasseNoStfcorpENoEacesso( RepasseNivelUm repasseStfCorp, Repasse repasseEAcesso, int repasseCadastradoLogIdDominio ) { int idDominioAprovadoNivelUm = _dominioRepository.Buscar((int)StatusRepasseEacesso.APROVADO_NIVEL_UM, StatusRepasseEacesso.VL_TIPO_DOMINIO.GetDescription()).Id; Repasse cloneRepasseEacesso = repasseEAcesso.Clone(); cloneRepasseEacesso.IdRepasseMae = repasseEAcesso.Id; RepasseNivelUm cloneRepasseStfCorp = repasseStfCorp.Clone(); cloneRepasseStfCorp.IdRepasseMae = repasseStfCorp.Id; cloneRepasseStfCorp.IdRepasseMaeEAcesso = repasseEAcesso.Id; for (int i = 1; i < repasseEAcesso.QtdVezesRepetir; i++) { cloneRepasseEacesso.Id = 0; cloneRepasseEacesso.DescricaoProjeto = $"{repasseEAcesso.DescricaoProjeto} - {i + 1}/{repasseEAcesso.QtdVezesRepetir.ToString()}"; cloneRepasseEacesso.DataRepasse = cloneRepasseEacesso.DataRepasse.AddMonths(1); _repasseRepository.Adicionar(cloneRepasseEacesso); _unitOfWork.CommitLegado(); cloneRepasseEacesso = cloneRepasseEacesso.Clone(); cloneRepasseStfCorp.Id = 0; cloneRepasseStfCorp.DataRepasse = cloneRepasseStfCorp.DataRepasse.AddMonths(1); cloneRepasseStfCorp.DataLancamento = cloneRepasseStfCorp.DataLancamento.AddMonths(1); cloneRepasseStfCorp.IdRepasseEacesso = cloneRepasseEacesso.Id; cloneRepasseStfCorp.LogsRepasse = null; cloneRepasseStfCorp.ParcelaRepasse = $"{i + 1}/{repasseEAcesso.QtdVezesRepetir.ToString()}"; //cloneRepasseStfCorp.DescricaoProjeto = $"{repasseEAcesso.DescricaoProjeto} - {i + 1}/{repasseEAcesso.QtdVezesRepetir.ToString()}"; _repasseNivelUmRepository.Adicionar(cloneRepasseStfCorp); _unitOfWork.Commit(); _repasseNivelUmRepository.DetachEntity(cloneRepasseStfCorp); AdicionarLogRepasse(cloneRepasseStfCorp.Id, repasseCadastradoLogIdDominio, String.Empty); if (cloneRepasseStfCorp.IdCelulaOrigem == cloneRepasseStfCorp.IdCelulaDestino) { AdicionarLogRepasse(cloneRepasseStfCorp.Id, idDominioAprovadoNivelUm, String.Empty); } _unitOfWork.Commit(); cloneRepasseStfCorp = cloneRepasseStfCorp.Clone(); } }
public async Task <IActionResult> Create(Repasse repasse) { try { if (ModelState.IsValid) { repasse.IdUser = userManager.GetUserAsync(User).Result.Id; await repasseDAL.GravarRepasse(repasse); } return(RedirectToAction(nameof(Index))); } catch (DbUpdateException) { ModelState.AddModelError("", "Não foi possível inserir os dados."); } return(RedirectToAction(nameof(Index))); }
public void PersistirRepasse(Repasse repasse, int vezesRepetidas) { var clonado = (Repasse)repasse.Clone(); repasse.DtRepasse = repasse.DtRepasse.Date; if (vezesRepetidas > 1) { repasse.NrParcela = 1; repasse.DescProjeto = repasse.DescProjeto + " - PARCELA 1" + " / " + vezesRepetidas; _repasseRepository.Adicionar(repasse); for (int i = 1; i < vezesRepetidas; i++) { var parcela = (Repasse)clonado.Clone(); parcela.NrParcela = i + 1; parcela.IdRepasseMae = repasse.Id; parcela.DtRepasse = repasse.DtRepasse.AddMonths(i).Date; parcela.DtRepasseMae = repasse.DtRepasse.Date; parcela.DescProjeto = parcela.DescProjeto + " - PARCELA " + (i + 1) + " / " + vezesRepetidas; if (_repasseRepository.BuscarPorId(repasse.Id) != null) { _repasseRepository.Update(parcela); } else { _repasseRepository.Adicionar(parcela); } } } else { repasse.NrParcela = null; if (_repasseRepository.BuscarPorId(repasse.Id) != null) { _repasseRepository.Update(repasse); } else { _repasseRepository.Adicionar(repasse); } } _unitOfWork.Commit(); }
public void Persistir(RepasseNivelUm repasseStfCorp, Repasse repasseEAcesso) { using (var stfCorpTran = _unitOfWork.BeginTranStfCorp()) using (var eacessoTran = _unitOfWork.BeginTranEAcesso()) { try { if (repasseStfCorp.Id == 0) { AdicionarRepasseEacesso(repasseEAcesso); int idDominioRepasseCadastradoLog = _dominioRepository.Buscar((int)StatusRepasseEacesso.REPASSE_CADASTRADO, StatusRepasseEacesso.VL_TIPO_DOMINIO.GetDescription()).Id; AdicionarRepasseStfCorp(repasseStfCorp, repasseEAcesso, idDominioRepasseCadastradoLog); if (repasseStfCorp.QtdVezesRepetir > 1) { AdicionarParcelasDeRepasseNoStfcorpENoEacesso(repasseStfCorp, repasseEAcesso, idDominioRepasseCadastradoLog); } } else { ValidarSeRepassePodeSerEditado(repasseStfCorp); AtualizarRepasseStfCorp(repasseStfCorp); _unitOfWork.Commit(); repasseEAcesso.Id = (int)repasseStfCorp.IdRepasseEacesso; AtualizarRepasseEacesso(repasseEAcesso); _unitOfWork.CommitLegado(); } stfCorpTran.Commit(); eacessoTran.Commit(); } catch (Exception ex) { stfCorpTran.Rollback(); eacessoTran.Rollback(); throw ex; } } AprovarRepasseSeTemFuncionalidade(repasseStfCorp); }
private bool RealizarPersistenciaLancamentosFinanceiros(Repasse repasse) { var lancamentos = GerarLancamentosFinanceiros(repasse); var client = new HttpClient(); client.BaseAddress = new Uri(_microServicosUrls.UrlApiLancamentoFinanceiro); client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Add("usuario", _variables.UserName); var content = new StringContent(JsonConvert.SerializeObject(lancamentos), Encoding.UTF8, "application/json"); var response = client.PostAsync("api/LancamentoFinanceiro/gerar-credito-debito", content).Result; var responseString = response.Content.ReadAsStringAsync().Result; if (response.StatusCode != System.Net.HttpStatusCode.OK) { return(false); } else { return(true); } }
private void AtualizarValores(Repasse repasse, Repasse repasseDB) { repasseDB.VlUnitario = repasse.VlUnitario; repasseDB.VlTotal = repasse.VlTotal; repasseDB.VlCustoProfissional = repasse.VlCustoProfissional; repasseDB.QtdRepasse = repasse.QtdRepasse; repasseDB.IdServicoContratadoOrigem = repasse.IdServicoContratadoOrigem; repasseDB.IdServicoContratadoDestino = repasse.IdServicoContratadoDestino; repasseDB.IdProfissional = repasse.IdProfissional; repasseDB.IdMoeda = repasse.IdMoeda; if (repasse.Id == repasseDB.Id) { repasseDB.DtRepasse = repasse.DtRepasse; repasseDB.DescProjeto = repasse.DescProjeto; } repasseDB.IdEpm = repasse.IdEpm; repasseDB.DescJustificativa = repasse.DescJustificativa; repasseDB.DescMotivoNegacao = repasse.DescMotivoNegacao; if (repasse.IdRepasseMae == null) { repasseDB.DtRepasseMae = repasse.DtRepasse; } repasseDB.IdTipoDespesa = repasse.IdTipoDespesa; }
public void AtualizarRepasse(Repasse repasse) { repasse.DtRepasse = repasse.DtRepasse.Date; _repasseRepository.UpdateCompose(repasse, new object[] { repasse.Id, repasse.DtRepasse }); _unitOfWork.Commit(); }
private static List <LancamentoFinanceiroRepasseDto> GerarLancamentosFinanceiros(Repasse repasse) { var lancamentoBase = new LancamentoFinanceiroRepasseDto { DtBaixa = DateTime.Now.Date, DtLancamento = DateTime.Now.Date, CodigoColigada = null, DescricaoOrigemLancamento = "RP", IdLan = null, IdTipoDespesa = 13 }; var lancamentoCredito = (LancamentoFinanceiroRepasseDto)lancamentoBase.Clone(); var lancamentoDebito = (LancamentoFinanceiroRepasseDto)lancamentoBase.Clone(); lancamentoCredito.ItensLancamentoFinanceiro = new List <ItemLancamentoFinanceiroRepasseDto> { new ItemLancamentoFinanceiroRepasseDto { DtRepasse = repasse.DtRepasse, IdRepasse = repasse.Id, //verificar VlLancamento = repasse.VlTotal.HasValue ? repasse.VlTotal.Value : 0, IdServicoContratado = repasse.IdServicoContratadoDestino } }; lancamentoCredito.DescricaoTipoLancamento = "C"; lancamentoDebito.ItensLancamentoFinanceiro = new List <ItemLancamentoFinanceiroRepasseDto> { new ItemLancamentoFinanceiroRepasseDto { DtRepasse = repasse.DtRepasse, IdRepasse = repasse.Id, //verificar VlLancamento = repasse.VlTotal.HasValue ? repasse.VlTotal.Value : 0, IdServicoContratado = repasse.IdServicoContratadoOrigem } }; lancamentoDebito.DescricaoTipoLancamento = "D"; return(new List <LancamentoFinanceiroRepasseDto> { lancamentoDebito, lancamentoCredito }); }
public void RemoverRepasse(Repasse repasse) { _repasseRepository.Remover(repasse); _unitOfWork.Commit(); }
private void AtualizarRepasseEacesso(Repasse repasse) { repasse.Status = DefinirStatusRepasseEAcesso(repasse); _repasseRepository.Update(repasse); }