Beispiel #1
0
        private void inicializarAlertar(EmailRegistroDominio objEmailRegistro, MarkdownDominio objMd, List <MarkdownDominio> lstMdAlterado)
        {
            if (objEmailRegistro == null)
            {
                return;
            }

            if (objMd == null)
            {
                return;
            }

            if (string.IsNullOrEmpty(objMd.dir))
            {
                return;
            }

            if (!objMd.dir.StartsWith(objEmailRegistro.dirDocumentacao))
            {
                return;
            }

            if (objMd.dttAlteracao <= objEmailRegistro.dttAtualizacao)
            {
                return;
            }

            lstMdAlterado.Add(objMd);
        }
Beispiel #2
0
        private bool cancelarEmail(Interlocutor objInterlocutor, EmailRegistroDominio objEmailRegistro, EmailRegistroDominio objEmailRegistroLocal)
        {
            if (objEmailRegistroLocal == null)
            {
                return(false);
            }

            if (string.IsNullOrEmpty(objEmailRegistroLocal.strEmail))
            {
                return(false);
            }

            if (string.IsNullOrEmpty(objEmailRegistroLocal.dirDocumentacao))
            {
                return(false);
            }

            if (!objEmailRegistro.strEmail.ToLower().Equals(objEmailRegistroLocal.strEmail.ToLower()))
            {
                return(false);
            }

            if (!objEmailRegistro.dirDocumentacao.ToLower().Equals(objEmailRegistroLocal.dirDocumentacao.ToLower()))
            {
                return(false);
            }

            this.lstObjEmailRegistro.Remove(objEmailRegistroLocal);

            this.salvarArquivo();

            objInterlocutor.objData = string.Format("O email \"{0}\" não irá mais receber atualizações da documentação \"{1}\".", objEmailRegistroLocal.strEmail, objEmailRegistroLocal.strDocumentacaoTitulo);

            return(true);
        }
Beispiel #3
0
        private void alertar(EmailRegistroDominio objEmailRegistro, MarkdownDominio objMdAlterado, StringBuilder stbBodyItem)
        {
            var strBodyItem = Properties.Resource.documentacao_email_item;

            strBodyItem = strBodyItem.Replace("_artigo_link", (objEmailRegistro.urlDocumentacao + URL_MARKDOWN_FOLDER + "/" + objMdAlterado.dir.Replace("\\", "/")));
            strBodyItem = strBodyItem.Replace("_artigo_nome", objMdAlterado.strNome);
            strBodyItem = strBodyItem.Replace("_tipo_alteracao", (objMdAlterado.dttCadastro > objEmailRegistro.dttAtualizacao) ? "adicionado" : "alterado");

            stbBodyItem.Append(strBodyItem);
        }
Beispiel #4
0
        private bool registrarEmailValidar(Interlocutor objInterlocutor, EmailRegistroDominio objEmailRegistro, EmailRegistroDominio objEmailRegistroLocal)
        {
            if (!objEmailRegistro.strEmail.ToLower().Equals(objEmailRegistroLocal.strEmail.ToLower()))
            {
                return(true);
            }

            if (!objEmailRegistro.dirDocumentacao.ToLower().Equals(objEmailRegistroLocal.dirDocumentacao.ToLower()))
            {
                return(true);
            }

            objInterlocutor.strErro = string.Format("O email \"{0}\" já está cadastrado para receber as atualizações da documentação \"{1}\".", objEmailRegistro.strEmail, objEmailRegistro.strDocumentacaoTitulo);

            return(false);
        }
Beispiel #5
0
        private void inicializarAlertar(EmailRegistroDominio objEmailRegistro)
        {
            List <MarkdownDominio> lstMdAlterado = new List <MarkdownDominio>();

            foreach (var objMd in this.lstObjMd)
            {
                this.inicializarAlertar(objEmailRegistro, objMd, lstMdAlterado);
            }

            if (lstMdAlterado.Count < 1)
            {
                return;
            }

            this.alertar(objEmailRegistro, lstMdAlterado);
        }
Beispiel #6
0
        private void alertar(EmailRegistroDominio objEmailRegistro, List <MarkdownDominio> lstMdAlterado)
        {
            if (lstMdAlterado == null)
            {
                return;
            }

            var stbBodyItem = new StringBuilder();

            foreach (var objMdAlterado in lstMdAlterado)
            {
                this.alertar(objEmailRegistro, objMdAlterado, stbBodyItem);
            }

            var stbBody = new StringBuilder(Properties.Resource.documentacao_email);

            stbBody.Replace("_doc_nome", objEmailRegistro.strDocumentacaoTitulo);
            stbBody.Replace("_url_documentacao", objEmailRegistro.urlDocumentacao);
            stbBody.Replace("_email_conteudo", stbBodyItem.ToString());
            stbBody.Replace("_link_cancelar", string.Format("{0}?acao=desinscrever&email={1}", objEmailRegistro.urlDocumentacao, objEmailRegistro.strEmail));

            if (lstMdAlterado.Count < 2)
            {
                stbBody.Replace("_email_descricao", "Existe novo conteúdo no seguinte artigo:");
            }
            else
            {
                stbBody.Replace("_email_descricao", "Existem novos conteúdos nos seguintes artigos:");
            }

            var objEmail = new MailMessage();

            objEmail.Body       = stbBody.ToString();
            objEmail.From       = new MailAddress(AppWebBase.i.strEmail, AppWebBase.i.strNome);
            objEmail.IsBodyHtml = true;
            objEmail.Subject    = string.Format("Atualização da documentação \"{0}\"", objEmailRegistro.strDocumentacaoTitulo);
            objEmail.To.Add(new MailAddress(objEmailRegistro.strEmail));

            AppWebBase.i.objSmtpClient.Send(objEmail);

            objEmailRegistro.dttAtualizacao = DateTime.Now;

            this.salvarArquivo();
        }