示例#1
0
        public PactoViewModel CancelarAvaliacao(PactoViewModel pactoVM, AvaliacaoProdutoViewModel avaliacaoProdutoVM, UsuarioViewModel user, eAcaoPacto acao)
        {
            BeginTransaction();

            CriaHistoricoAcaoEmPacto(pactoVM, user.IsDirigente, user, acao);

            var pacto = Mapper.Map <PactoViewModel, Pacto>(pactoVM);
            var usr   = Mapper.Map <UsuarioViewModel, Usuario>(user);

            pacto.DataTerminoReal = null;
            pacto.EntregueNoPrazo = null;

            var produto          = pacto.Produtos.FirstOrDefault(p => p.IdProduto == avaliacaoProdutoVM.IdProduto);
            var avaliacaoProduto = produto.Avaliacoes.FirstOrDefault(ap => ap.IdAvaliacaoProduto == avaliacaoProdutoVM.IdAvaliacaoProduto);

            _avaliacaoProdutoService.Remover(avaliacaoProduto);

            produto.Avaliacoes.Remove(avaliacaoProduto);

            pacto = _pactoService.AtualizarStatus(pacto, usr, acao, user.IsDirigente);

            if (pacto.ValidationResult.IsValid)
            {
                _logService.Logar(pacto, user.CPF, Domain.Enums.Operacao.Alteração.ToString());
                Commit();
            }

            pactoVM = Mapper.Map <Pacto, PactoViewModel>(pacto);
            return(pactoVM);
        }
示例#2
0
        private void MontarEEnviarNotificacaoAvaliacaoParcialPactoPelaChefia(PactoViewModel p, UsuarioViewModel usuarioLogado, AvaliacaoProdutoViewModel apvm)
        {
            String assunto      = "";
            String mensagem     = "";
            String destinatario = "";

            String linkPacto = System.Configuration.ConfigurationManager.AppSettings["URL_PGD"].ToString() + "Pacto/Solicitar/" + p.IdPacto;

            var solicitante = Mapper.Map <UsuarioViewModel, Usuario>(_usuarioAppService.ObterPorCPF(p.CpfUsuario));

            bool montouMensagem = true;

            Usuario chefeQueAvaliou    = Mapper.Map <UsuarioViewModel, Usuario>(usuarioLogado);
            String  nomeServidor       = p.Nome;
            String  numeroPacto        = p.IdPacto.ToString();
            String  dataAvaliacaoPacto = DateTime.Now.ToString("dd/MM/yyyy");
            String  horaAvaliacaoPacto = DateTime.Now.ToString("hh:mm");

            try
            {
                mensagem = String.Format(PGD.Infra.CrossCutting.Util.Properties.Resources.CORPO_EMAIL_NOTIFICACAO_AVALIACAO_PARCIAL_PACTO_PELA_CHEFIA,
                                         "<a href='" + linkPacto + "'>" + numeroPacto + "</a>",
                                         nomeServidor,
                                         chefeQueAvaliou.Nome, chefeQueAvaliou.NomeUnidade,
                                         dataAvaliacaoPacto,
                                         horaAvaliacaoPacto,
                                         apvm.QuantidadeProdutosAvaliados, apvm.Produto.Atividade.NomAtividade,
                                         apvm.CargaHorariaAvaliadaFormatada, apvm.Avaliacao,
                                         "<a href='" + linkPacto + "'> aqui </a>"
                                         );

                assunto = String.Format(PGD.Infra.CrossCutting.Util.Properties.Resources.ASSUNTO_EMAIL_NOTIFICACAO_AVALIACAO_PARCIAL_PACTO_PELA_CHEFIA,
                                        numeroPacto,
                                        nomeServidor,
                                        chefeQueAvaliou.Nome
                                        );
                destinatario = solicitante.Email;
            }
            catch (Exception ex)
            {
                //LogManagerComum.LogarErro(ex, null, "Erro ao montar email de suspensão do pacto = " + numeroPacto);
                throw;
            }

            EnviarEmail(assunto, mensagem, destinatario, montouMensagem);
        }
示例#3
0
        public bool TratarNotificacaoPacto(PactoViewModel pactoBuscado,
                                           UsuarioViewModel usuarioLogado,
                                           string oper,
                                           AvaliacaoProdutoViewModel apvm = null)
        {
            try
            {
                if (oper.Equals(Domain.Enums.Operacao.Inclusão.ToString()))
                {
                    MontarEEnviarNotificacaoInclusaoPacto(pactoBuscado);
                }
                else if (oper.Equals(Domain.Enums.Operacao.Inclusão_Pela_Chefia.ToString()))
                {
                    MontarEEnviarNotificacaoInclusaoPelaChefiaPacto(pactoBuscado);
                }
                else if (oper.Equals(Domain.Enums.Operacao.Suspensão.ToString()))
                {
                    MontarEEnviarNotificacaoSuspensaoPacto(pactoBuscado, usuarioLogado);
                }
                else if (oper.Equals(Domain.Enums.Operacao.Interrupção.ToString()))
                {
                    MontarEEnviarNotificacaoInterrupcaoPacto(pactoBuscado, usuarioLogado);
                }
                else if (oper.Equals(Domain.Enums.Operacao.Alteração.ToString()))
                {
                    if (pactoBuscado.IdSituacaoPactoAnteriorAcao == (int)eSituacaoPacto.EmAndamento)
                    {
                        MontarEEnviarNotificacaoAlteracaoEmAndamentoPacto(pactoBuscado);
                    }
                    else
                    {
                        MontarEEnviarNotificacaoAlteracaoPacto(pactoBuscado);
                    }
                }
                else if (oper.Equals(Domain.Enums.Operacao.Assinatura.ToString()))
                {
                    if (pactoBuscado.IdSituacaoPactoAnteriorAcao == (int)eSituacaoPacto.EmAndamento)
                    {
                        MontarEEnviarNotificacaoAlteracaoEmAndamentoPacto(pactoBuscado);
                    }
                    else
                    {
                        MontarEEnviarNotificacaoAssinaturaPactoPelaChefia(pactoBuscado);
                    }
                }
                else if (oper.Equals(Domain.Enums.Operacao.Avaliacao.ToString()))
                {
                    MontarEEnviarNotificacaoAvaliacaoPactoPelaChefia(pactoBuscado, usuarioLogado);
                }
                else if (oper.Equals(Domain.Enums.Operacao.AvaliacaoParcial.ToString()))
                {
                    MontarEEnviarNotificacaoAvaliacaoParcialPactoPelaChefia(pactoBuscado, usuarioLogado, apvm);
                }
                else if (oper.Equals(Domain.Enums.Operacao.VoltandoSuspensão.ToString()))
                {
                    if (pactoBuscado.IdSituacaoPacto == (int)eSituacaoPacto.EmAndamento)
                    {
                        MontarEEnviarNotificacaoVoltandoSuspensao(pactoBuscado, usuarioLogado);
                    }
                    else if (pactoBuscado.IdSituacaoPacto == (int)eSituacaoPacto.PendenteDeAvaliacao)
                    {
                        EnviarEmailNotificacaoFinalizacaoPacto(pactoBuscado);
                    }
                }

                return(true);
            }
            catch (Exception ex)
            {
                //LogManagerComum.LogarErro(ex, null, " Erro ao enviar notificação da ação de " + oper + " de pacto aos interessados.");
                return(false);
            }
        }