Example #1
0
        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);
        }
Example #2
0
        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
                }));
            }
        }