private void NotificarFechamento(ViewModelFechamento fechamento) { var user = _prothuesService.ObterUsuarioNome(matricula); var coordenador = _prothuesService.ObterCoordenadorPorCentroDeCusto(User.GetDados("Centro de Custo")); var mensagem = $"{user.Nome}, realizou o fechamento da marcação: {fechamento.CodigoMarcacao}." + "\r\n" + $"Matrícula : { matricula} "; _Notificacao.EnviarEmail(coordenador.Email, mensagem); }
public IActionResult Fechamento(ViewModelFechamento viewModelfechamento) { try { List <Fechamento> listaCalculadaFechamentoPorProjeto = new List <Fechamento>(); List <Fechamento> listaCalculadaFechamentoPorDia = new List <Fechamento>(); List <Fechamento> listaDeDiasSemLancamento = new List <Fechamento>(); Marcacao marcacao = new Marcacao(); var Usuario = _fluigAppService.ObterUserCodFluig(User.GetClaim(ClaimTypes.Email)); _fluigAppService.ValidarUserFluig(Usuario); marcacao = _marcacao.ObterMarcacao(viewModelfechamento.CodigoMarcacao); filial = marcacao.Filial; matricula = marcacao.MatUsuario; centrocusto = User.GetDados("Centro de Custo"); marcacao.ValidaMarcacaoFoiFechada(_marcacaoServiceRepository.ObterMarcacao(viewModelfechamento.CodigoMarcacao)); marcacao = _marcacaoServiceRepository.ObterMarcacao(viewModelfechamento.CodigoMarcacao); marcacao.Lancamentolist = _lancamentoerviceRepository.ObterListaLancamentoPorCodMarcacoEMatricula(viewModelfechamento.CodigoMarcacao, matricula); var jornadaTrabalho = _jornadaTrbServiceRepository.ObterJornadaPorCodigo(marcacao.codigojornada); var configuracao = _configuracao.ObterConfiguracao(); string DataFechamento = String.Format("{0:MM/dd/yyyy}", DateTime.Now.ToString()); listaCalculadaFechamentoPorProjeto = _fechamentoNegocio.CalcularLancamentoPorProjeto(marcacao.Lancamentolist, jornadaTrabalho, configuracao, matricula, filial, viewModelfechamento.CodigoMarcacao); _fechamentoServiceRepository.SalvarFechamentoPorProjeto(listaCalculadaFechamentoPorProjeto, filial, DataFechamento.ToDateProtheusConvert(), User.GetDados("Matricula"), centrocusto, "2"); var listmacarcao = _lancamentoerviceRepository.ObterListaLancamentoPorCodMarcacoEMatricula(viewModelfechamento.CodigoMarcacao, matricula).Distinct(new LancamentoComparer()); listaCalculadaFechamentoPorDia = _fechamentoNegocio.CalcularTotalHoraExedenteETrabalhadaEabonoeFaltaPorDia(listmacarcao.ToList(), configuracao, jornadaTrabalho, matricula, filial, viewModelfechamento.CodigoMarcacao); _fechamentoServiceRepository.SalvarFechamentoPorDia(listaCalculadaFechamentoPorDia, filial, DataFechamento.ToDateProtheusConvert(), User.GetDados("Matricula"), centrocusto, "2"); _marcacaoServiceRepository.UpdateStatusFechamento(viewModelfechamento.CodigoMarcacao); NotificarFechamento(viewModelfechamento); StartProcessoFluig(matricula, filial, viewModelfechamento.CodigoMarcacao); return(Json(new { sucesso = "Fechamento realizado com sucesso! Processo do fluig foi aberto com sucesso! " })); } catch (Exception e) { return(Json(new { msg = e.Message, erro = true })); } }