コード例 #1
0
 public MensagemEntidade Insert(MensagemEntidade entidade)
 {
     return(base.Insert(entidade.TXT_TITULO, entidade.TXT_CORPO, entidade.DTA_MENSAGEM, entidade.DTA_EXPIRACAO, entidade.CD_FUNDACAO, entidade.CD_EMPRESA, entidade.CD_PLANO, entidade.CD_SIT_PLANO, entidade.COD_ENTID,
                        entidade.IND_MOBILE, entidade.IND_PORTAL, entidade.IND_EMAIL, entidade.IND_SMS));
 }
コード例 #2
0
        public IActionResult Criar([FromBody] MensagemEntidade mensagem)
        {
            try
            {
                var funcionarioProxy = new FuncionarioProxy();

                mensagem.CD_EMPRESA    = mensagem.CD_EMPRESA == string.Empty ? null : mensagem.CD_EMPRESA;
                mensagem.CD_PLANO      = mensagem.CD_PLANO == string.Empty ? null : mensagem.CD_PLANO;
                mensagem.CD_SIT_PLANO  = mensagem.CD_SIT_PLANO == string.Empty ? null : mensagem.CD_SIT_PLANO;
                mensagem.NUM_MATRICULA = mensagem.NUM_MATRICULA.Replace("_", "").PadLeft(9, '0');

                if (!mensagem.DTA_EXPIRACAO.HasValue)
                {
                    mensagem.DTA_EXPIRACAO = null;
                }
                else
                {
                    mensagem.DTA_EXPIRACAO = mensagem.DTA_EXPIRACAO;
                }

                if (string.IsNullOrEmpty(mensagem.NUM_MATRICULA))
                {
                    mensagem.COD_ENTID = null;
                }
                else
                {
                    mensagem.COD_ENTID = funcionarioProxy.BuscarPorMatricula(mensagem.NUM_MATRICULA).COD_ENTID;
                }

                mensagem.DTA_MENSAGEM = DateTime.Now;

                // Se opção de enviar e-mail for habilitada
                if (mensagem.IND_EMAIL == DMN_SIM_NAO.SIM)
                {
                    var listaDestinatarios = funcionarioProxy.BuscarPorPesquisa(mensagem.CD_FUNDACAO, mensagem.CD_EMPRESA, mensagem.CD_PLANO, mensagem.CD_SIT_PLANO, mensagem.NUM_MATRICULA, string.Empty, string.Empty);

                    foreach (var destinatario in listaDestinatarios)
                    {
                        var dadosDestinatario = funcionarioProxy.BuscarDadosPorCodEntid(destinatario.COD_ENTID.ToString());

                        if (string.IsNullOrEmpty(dadosDestinatario.DadosPessoais.EMAIL_AUX))
                        {
                            throw new Exception("Não existe email cadastrado para seu usuário contacte o administrador do sistema.");
                        }

                        try
                        {
                            var emailConfig = AppSettings.Get().Email;
                            EnvioEmail.Enviar(emailConfig, dadosDestinatario.DadosPessoais.EMAIL_AUX, mensagem.TXT_TITULO, mensagem.TXT_CORPO);
                        }
                        catch (Exception e)
                        {
                            throw new Exception("Erro ao enviar o token por email. Contacte o administrador do sistema." + e.Message);
                        }
                    }
                }

                new MensagemProxy().Insert(mensagem);

                return(Ok());
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }