Princípios que nos levam a Cristo, aplicados no Lar

Princípios que nos levam a Cristo, aplicados no Lar

Este artigo é o texto usado em discurso de 10 minutos, em 14/08/2016, intitulado Princípios que nos levam a Cristo, aplicados no Lar, e discute alguns pontos que podem ajudar nossas famílias a tornarem o lar mais centrado em Jesus Cristo, em espiritualidade e amor.

Preparação desde crianças

A preparação para chegar à Cristo é um ciclo sem fim, assim como o evangelho. Quando crianças, recebemos certas programações dos nossos pais, do ambiente, da sociedade, do planeta. Algumas dessas programações já vem pelo DNA, geneticamente, através de atributos físicos simples ou doenças crônicas. Temos feição parecida aos nossos pais, herdamos sinusite, rinite, asma, lordose, escoliose, nossa esperteza, raciocínio rápido. Em alguns casos mais raros e dramáticos, herdamos deficiências físicas que variam entre dificuldades locomotoras até paralisias completas. O ambiente no ensina, na escola, nos desenhos animados que assistimos na Carrossel, Chiquititas, Cartoon Network, Gloob, Discovery Kids sobre amar ou rejeitar aqueles que são diferentes. Sobre “trolar” os mais fracos, sobre incitar ou lutar contra o bullying.

A sociedade nos ensina o idioma, as gírias, os hábitos, esportes, ou mesmo tendências de conhecimento que, muitas vezes, seguimos sem qualquer questionamento. Nosso planeta usa veículos que queimam combustíveis fósseis e, na maioria das vezes, nem questionamos como funcionam ou mesmo nos importamos com os danos que causamos.

Quando chegamos à vida adulta, todas essas “programações” se solidificam e repetimos o mesmo processo ensinando nossos filhos e netos a perpetuarem essas programações.

Princípios que nos levam a Cristo, aplicados no LarIgnorando a programação que recebemos no passado, vamos questionar “O que temos ensinado nossos filhos e Como temos usado nosso tempo no lar”?

Estamos perpetuando hábitos negativos, perniciosos e destrutivos, ou estamos questionando o negativo, transformando em positivo? Estamos potencializando o que é bom, ou estamos deixando que caiam no esquecimento?

O que fazemos hoje, determina o futuro dos nossos filhos e muitas gerações futuras. O que ensinamos nossos filhos e o modo como agimos em nosso lar determina a sociedade, país e planeta em que vivemos.

Pai é o cabeça do lar e é sua responsabilidade

Neste dia especial, dia dos pais, em que comemoramos o honrado papel que os homens recebem ao constituírem famílias, é vital relembrarmos algumas das responsabilidades que temos e herdamos de nosso pai Celestial e nosso primeiro pai físico Adão.

Embora deva ser meta de todo homem honrado, de escolher uma mulher honrada, especial, com testemunho do amor de Deus e do Evangelho – uma mulher que seja preparada para gerenciar um lar e uma família – o homem jamais deve esquecer que é dele a maior responsabilidade: De ser o cabeça da família. Cabeça da família não significa a liberdade de escolher arbitrariamente conforme lhe seja conveniente. Ser cabeça da família significa entender o peso da responsabilidade em ter vidas que dependem dele. Saber que cada decisão pode influenciar para o bem ou para o mal, a esposa e os filhos, possivelmente por várias gerações. É saber que seus filhos vão se espelhar em suas ações, vão almejar ou repudiar serem como ele. Tudo dependendo de como se comportam no lar e, principalmente, quando pensam que ninguém mais está vendo.

Sim, esse papel é de tamanha importância que chamamos Deus de Pai!

Deus senta na sua poltrona celestial e fica somente assistindo seus filhos aqui na terra?Princípios que nos levam a Cristo, aplicados no Lar

Nosso pai trabalha incessantemente, com auxílio de seus filhos para “Levar a efeito a imortalidade e vida eterna do homem.” (Moisés 1:39)

Ele jamais fica na zona de conforto, culpando qualquer outra pessoa por nada. Jesus Cristo, seu filho, é exemplo do Pai em todas as coisas e afirma:

“Em verdade vos digo que devereis ser como eu sou.” (3 Nefi 27:27)

E, em Mateus 5:48 afirmou:

“Sede vós pois perfeitos, como é perfeito o vosso Pai que está nos céus.” Mateus 5:48

É responsabilidade do pai em guiar a família, em lembra das orações em família, de abençoar o alimento, de ler as escrituras em família, de fazerem noite familiar, de cuidar da casa e auxiliar a esposa a ensinar a luz aos filhos. O Pai jamais espera que a esposa faça, nem culpa ninguém por deixar de fazer. O Pai assume responsabilidade pelas coisas e ruins que acontecem à sua família.

Honrar o Sarcerdócio

O Presidente Howard W. Hunter teve uma única oportunidade de discursar em uma reunião geral do sacerdócio enquanto Presidente da Igreja. Naquela ocasião, em outubro de 1994, seu discurso intitulou-se “Sede Pais e Maridos Justos”. Nesse sermão magistral, ele enumerou vários padrões e expectativas para todos os portadores do Sacerdócio de Melquisedeque. […] “O portador do sacerdócio respeita a família”, disse o Presidente Hunter, “como Deus ordenou. Liderá-la é nossa responsabilidade mais sagrada e mais importante. A família é a unidade mais valiosa desta vida e da eternidade e, como tal, transcende todos os outros interesses”. (“Sede Pais e Maridos Justos”, A Liahona, janeiro de 1995, pp. 53­55)

O Presidente Harold B. Lee disse: “O mais importante trabalho do Senhor que poderemos realizar é o efetuado entre as paredes do próprio lar”. (Stand Ye in Holy Places, [1974], p. 255). Precisamos fazer uma auto-avaliação honesta e profunda. Será que estamos ensinando e guiando nossa família no evangelho ou estaríamos deixando essa responsabilidade para outras pessoas? A fim de conduzir a família, precisamos reordenar nossas prioridades de modo a encontrar o tempo necessário. Tempo em quantidade e de qualidade são essenciais.

O Presidente Hunter também nos lembrou: “O portador do sacerdócio lidera o envolvimento da família na Igreja para que aprendam o evangelho e estejam sob a proteção dos convênios e ordenanças”. (“Sede Pais e Maridos Justos”, A Liahona, janeiro de 1995, p. 55) Para conseguirmos, não podemos deixar de pôr certas coisas em ordem em nossa vida pessoal. A hipocrisia jamais rendeu frutos, tampouco o fará hoje. Espera-se que lideremos em retidão e incentivemos nossa família a seguir nosso exemplo. Dirijam a noite familiar e o estudo das escrituras. Dêem bênçãos do sacerdócio. Dirijam a oração familiar e pessoal. O Presidente Monson declarou: “Lembrem que um homem nunca fica tão alto como quando está de joelhos”. (in Conference Report, abril de 1964, p. 130)

Mencionado por H. David Burton na Conferência Geral de Abril 2000

Saber repreender e demonstrar amor

Ensinar nossos filhos é parte vital do propósito das famílias um privilégio dos pais. O pai, portador do sacerdócio deve lembrar-se sempre dos conselhos de Deus em Doutrina e Convênios 121:41-45

Nenhum poder ou influência pode ou deve ser mantido em virtude do sacerdócio, a não ser com persuasão, com longanimidade, com brandura e mansidão e com amor não fingido;

Princípios que nos levam a Cristo, aplicados no LarCom bondade e conhecimento puro, que grandemente expandirão a alma, sem hipocrisia e sem dolo —

Reprovando prontamente com firmeza, quando movido pelo Espírito Santo e depois, mostrando então um amor maior por aquele que repreendeste, para que ele não te julgue seu inimigo;

Para que ele saiba que tua fidelidade é mais forte que os laços da morte.

Que tuas entranhas também sejam cheias de caridade para com todos os homens e para com a família da fé; e que a virtude adorne teus pensamentos incessantemente; então tua confiança se fortalecerá na presença de Deus; e a doutrina do sacerdócio destilar-se-á sobre tua alma como o orvalho do céu.

E a promessa do Senhor é clara aos que seguirem esses conselhos:

O Espírito Santo será teu companheiro constante, e teu cetro, um cetro imutável de retidão e verdade; e teu domínio será um domínio eterno e, sem ser compelido, fluirá para ti eternamente. (D&C 121:46)

Feminismo e obediência

Se estivermos fazendo nossa parte como homens, honrando o sacerdócio e nos preparando para esse chamado eterno de pais, podemos confiar que o Senhor nos irá abençoar com uma companheira que também seja honrada e preparada. Existem exceções e situações em que um isso não ocorra. Mas indiferente disso, a companheira no lar é mais do que uma pessoa do sexo oposto.

O primeiro convênio que aprendemos e fazemos convenio de seguir é Obediência, com Eva, e consequentemente todas as mulheres, fazendo convênio de ouvir o conselho de seu esposo, assim como ele ouve o conselho do Pai.

Princípios que nos levam a Cristo, aplicados no LarMoisés 7:35 afirma:

Eis que eu sou Deus; Homem de Santidade é o meu nome; Homem de Conselho é o meu nome; e Infinito e Eterno é o meu nome também.

Ouvir o conselho não significa simplesmente escutar, significa ponderar, aceitar, e obedecer ao conselho de daquele Pai que nos criou. Se o homem aprende a “ouvir” (significando obedecer) ao conselho do Pai, em nada esse homem terá transgredido, mesmo que as dificuldades e intempéries da vida assolem e sejam provações. Ao final, o prêmio de estar no reino Celestial, no maior grau de glória, pelo resto da eternidade, vale o esforço de ouvir o conselho!

Um homem honrado que ouve os conselhos do Pai sempre é um feminista, sempre deseja felicidade para sua companheira, sempre apoia a esposa a se desenvolver e a crescer junto com ele, para JUNTOS estarem com Deus, na gloria sem fim. A esposa nunca é uma serva, assim como Deus nunca nos enxerga meramente como servos. E se nós somos filhos, somos, logo, herdeiros também, herdeiros de Deus e co-herdeiros com Cristo; se porventura com ele padecemos, para que também com ele sejamos glorificados. (Romanos 8:17)

No entanto, o homem, cabeça do lar, deve pôr de lado o homem natural e torne-se como uma criança, submisso, manso, humilde, paciente, cheio de amor, disposto a submeter-se a tudo quanto o Senhor achar que lhe deva infligir, assim como uma criança se submete a seu pai. (Mosias 3:19)

Da mesma forma, a esposa deve tornar-se submissa ao marido, não de forma pejorativa nem como o opositor tenta convencer, usando palavras bajuladoras de feminismo extremista. A esposa deve ser submissa a um homem que é submisso à Deus. Como em uma trilha de dominós, se o esposo é um homem justo que se submete ao seu Pai, ele jamais irá abusar do seu privilégio de ter uma esposa que também é submissa a ele.

O mundo tem pregado que as mulheres têm que ter direitos iguais aos homens. Satanás usou uma verdade sagrada para disfarçar uma mentira mortal: de que a mulher sozinha, ou o homem sozinho, tem felicidade. De que o direito da mulher de ser coadjutora com seu esposo virou seu falso direito de não querer mais ter o homem e lutar para ver “quem é o melhor”.

Eu gostaria de poder engravidar e ter filhos, se eu quisesse ser extremista exigindo justiça, poderia usar esse ou outros argumentos para odiar o mundo e me rebelar contra o que é de Deus. No entanto, o privilégio da maternidade é um dom de Deus que, se visto com os olhos espirituais, serve como amostra do grande amor que Ele tem por nós. O homo sapiens sapiens (nós) são a única espécie em que seus recém nascidos são completamente e totalmente dependentes dos seus genitores. Mais uma forma que Deus mostra que, nas coisas simples, estão os maiores simbolismos do evangelho.

E eis que todas as coisas têm sua semelhança e todas as coisas são criadas e feitas para prestar testemunho de mim, tanto as coisas materiais como as coisas que são espirituais; coisas que estão acima nos céus e coisas que estão na Terra e coisas que estão dentro da terra e coisas que estão embaixo da terra, tanto acima como abaixo: todas as coisas prestam testemunho de mim.(Moisés 6:63)

Não podemos deixar que nosso lar seja impregnado pela doutrina dos que ao mal chamam bem, e ao bem, mal; que fazem das trevas luz, e da luz, trevas; e fazem do amargo doce, e do doce, amargo! (Isaías 5:20 e 2 Néfi 15:20)

Eventos e atividades do lar

O Lar jamais é um lugar entediante. Seja por causa das atividades planejadas, mas principalmente por causa dos constantes imprevistos que SEMPRE aparecem. Seja um dente quebrado ou osso fraturado, ou mesmo pela festa de aniversário, a festa do pijama, o baile, a reunião de trabalho, o churrasco com os amigos, o lar está sempre em constante movimento.

Princípios que nos levam a Cristo, aplicados no LarÉ primordial que façamos oração em família e também em segredo. Que a leitura das escrituras seja um evento diário, seja de manhã, ou antes de dormir. Que noites familiares façam parte da agenda semanal. Que a noite com a esposa seja sagrada. Que a música faça parte dos divertimentos em família. A vida é feita de momentos. A maioria desses momentos são cotidianos e, em longo prazo são esquecidos. Mas as lembranças do amor, do carinho, da diversão nesses momentos cotidianos moldam o caráter de todos, principalmente das crianças.

Aqueles eventos raros e mais especiais, como festas de aniversário, brincadeiras no parque, ou viagens divertidas, se tornam somente pontos pequenos se o resto da vida não for feliz.

Não há tempo para se desejar calmaria. Calmaria é sinônimo de Zona de Conforto.

Despertar e sair da zona de conforto

Da psicologia definimos o que é Zona de Conforto:

Zona de conforto é uma série de ações, pensamentos e comportamentos que uma pessoa está acostumada a ter e que não a causam nenhum tipo de medo, ansiedade ou risco.

Princípios que nos levam a Cristo, aplicados no LarNa zona de conforto, as pessoas realizam sempre um determinado tipo de comportamento que lhe dá um desempenho constante, porém limitado e com uma sensação de segurança. Essa segurança é uma falsa segurança, uma vez que, quando ocorre uma grande mudança, quem está muito confortável leva um choque maior, e estará menos preparado para sobreviver do que os outros.

Os indivíduos em geral, necessitam saber operar fora de sua zona de conforto para realizar avanços, melhorar seu desempenho seja ele no trabalho, na vida pessoal etc. A zona de conforto é um tema sempre muito debatido na psicologia.

fonte: http://www.significados.com.br/zona-de-conforto/

Enquanto na zona de conforto, o lar fica inerte, perdido.

Para que não sejamos mais meninos inconstantes, levados em roda por todo vento de doutrina, pelo engodo dos homens que com astúcia enganam fraudulosamente. (Efésios 4:14)

Constantemente o Senhor grita:

Desperta, desperta outra vez, veste-te da tua fortaleza, ó Sião; veste-te dos teus vestidos formosos, ó Jerusalém, cidade santa; (3 Néfi 20:36 e Isaías 52:1)

Aqueles que estão na Zona de Conforto estão adormecidos!

Temos que despertar e começar a questionar as programações que recebemos no passado e começar a trabalhar nas programações celestiais, e ensina-las a nossos filhos.

Conclusão

O lar é um local de aprendizado, de esforço, de trabalho, de amor dedicado. O mundo celestial é como o lar. Como podemos esperar irmos morar no Lar de Deus, se não damos valor para o lar que temos hoje?!

Cada momento, cada ação, pode ser uma demonstração de amor, pode ser um aprendizado e mais um passo que fortaleça a família e ajude todos a caminharem juntos de volta ao seu primeiro lar.

Henry B. Eyring, primeiro conselheiro da primeira presidência, e um apóstolo do senhor Jesus Cristo, afirmou:

Assim como Jesus, em Seu ministério mortal, usou uma criança como exemplo do puro amor que as pessoas precisavam e podiam ter para tornarem-se semelhantes a Ele, Cristo deu-nos a família como exemplo de um ambiente ideal no qual podemos aprender a amar como Ele ama.

Isso acontece por que é no relacionamento familiar que encontramos nossas maiores alegrias e nossas maiores tristezas. As alegrias advêm de colocarmos o bem dos outros acima do nosso próprio bem (isso é que é o amor), e as tristezas advêm principalmente do egoísmo, que é a ausência de amor. O ideal que Deus estabeleceu para nós é o de formar uma família da maneira mais acertada para conduzir-nos à felicidade e de afastar-nos das tristezas. O homem e a mulher devem fazer o convênio sagrado de colocar o bem-estar e a felicidade do outro no centro de sua vida. Os filhos deveriam nascer em uma família na qual os pais consideram as necessidades dos filhos tão importantes quanto as próprias necessidades; e os filhos devem amar os pais e amarem-se uns aos outros.

Princípios que nos levam a Cristo, aplicados no LarEsse é o ideal de família amorosa. Em muitos lares há estas palavras: “Nossa Família Pode Ser Eterna”. Perto da minha casa, há um túmulo de uma mulher que foi mãe e avó. Ela e o marido foram selados um ao outro e a sua posteridade no templo de Deus por esta vida e por toda a eternidade. A inscrição na lápide diz: “Peço que não fique faltando ninguém”. Ela pediu que essa inscrição fosse gravada porque sabia que as escolhas de cada membro da família determinariam se a família voltaria a estar toda reunida. A palavra “peço” está ali porque nem Deus nem ela poderiam compelir ninguém a escolher a felicidade. Além disso, há Satanás, que quer a miséria e não a felicidade da família nesta vida e na eternidade.

(Conferência Geral de Outubro 2009 – Nosso Exemplo Perfeito)

Criando um sistema básico de Short Url (parte 2)

Criando um sistema básico de Short Url (parte 2)

Criando um sistema básico de Short Url (parte 2)

Depois de vários meses usando o sistema e tendo que atualizar a lista de links manualmente no XML via FTP, decidi que era hora de melhorar o sistema para que incluísse um banco de dados e um meio de incluir, editar e remover links online.

Portanto, melhorei o sistema e hoje está disponível em http://puul.ga

 

O código fonte (open source) está disponível no Github

Foram feitas várias melhorias no sistema, de forma a ser responsivo e fácil de usar. Mas seu visual e utilidades continuam simples. Cria-se um short link (mesmo conceito que bit.ly) que pode ser compartilhado em qualquer lugar, deixando o link curto e fácil de ser digitado.

O projeto continua sendo em C#, MVC, Entity Framework, Html5, Css3 e jQuery (Bootstrap)

Primeiramente, é necessário criar o objeto/classe que irá conter os dados do Link gerado:

using System;
using System.ComponentModel.DataAnnotations;

namespace Shorten_Urls.Models
{
    public class Url
    {
        public int Id { get; set; }
        [RegularExpression(@"^.{8,}$", ErrorMessage = "Minimum 8 characters required")]
        [Required(ErrorMessage = "Required")]
        [StringLength(30, MinimumLength = 8, ErrorMessage = "Invalid")]
        [Display(Name ="Shareable Url")]
        public string Src { get; set; }
        [Url]
        [Display(Name = "Redirects To")]
        public string Redirect { get; set; }
        public string UserId { get; set; }
        [Display(Name = "Created By")]
        public string Username { get; set; }
        //[DataType(DataType.Date)]
        //[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]
        [Display(Name = "Created On")]
        public DateTime CreatedOn { get; set; }
        //[DataType(DataType.Date)]
        //[DisplayFormat(DataFormatString = "{0:MM/dd/yyyy}", ApplyFormatInEditMode = true)]
        [Display(Name = "Expires")]
        public DateTime? Expires { get; set; }
    }
}

Também é necessário criar o Repositório (ou Data Layer). Esse repositório permite o uso tanto de XML quanto SQL, sendo configurada a opção no

web.config
using System;
using System.Collections.Generic;
using System.Linq;
using System.Xml.Linq;
using Microsoft.AspNet.Identity;
using System.Configuration;
using System.Data.Entity;

namespace Shorten_Urls.Models
{
    public class UrlRepository : IRepository<Url>
    {
        private XDocument _urls;
        private List<Url> urls;
        ApplicationDbContext _context;
        private readonly string DbProvider = ConfigurationManager.AppSettings["DbProvider"];
        private const string SQL = "Sql";
        private const string XML = "Xml";
        public bool needLastId { get { return DbProvider.Equals(XML); } }

        public List<Url> Urls { get { return urls; } }
        public int LastId
        { get { return urls.Last().Id; } }

        public UrlRepository()
        {
            urls = new List<Url>();

            if (DbProvider == XML)
            {
                _urls = MvcApplication.IO.Forwards;

                IEnumerable<XElement> rootDescendants = _urls.Descendants("url");
                foreach (XElement e in rootDescendants)
                    urls.Add(MapXElement(e));
            }
            else if (DbProvider == SQL)
            {
                _context = new ApplicationDbContext();
                urls = _context.Forwarders.ToList();
            }
        }

        public bool Exists(string src)
        {
            var yes = from y in urls where y.Src == src select y;
            if (yes.Count() > 0) return true;
            else return false;
        }

        public IEnumerable<Url> GetAll()
        {
            return urls;
        }

        public void Add(Url url)
        {
            urls.Add(url);
            if (DbProvider == XML)
                MvcApplication.IO.AddForward(url);
            else if (DbProvider == SQL)
            {
                _context.Forwarders.Add(url);
                _context.SaveChanges();
            }
        }
        public Url GetById(int Id)
        {
            Url e = (from url in urls where url.Id == Id select url).Single();
            if (DbProvider == SQL)
            {
                PopulateUsername(e);
            }
            return e;
        }
        public List<Url> GetByUserId(string userId)
        {
            List<Url> list = (from urlList in urls where urlList.UserId == userId select urlList).ToList();
            if (DbProvider == SQL)
            {
                foreach (Url url in list) PopulateUsername(url);
            }
            return list;
        }
        public Url GetBySrc(string src)
        {
            var e = (from url in urls where url.Src.Equals(src) select url);
            if (e.Count() == 0) return null;
            else {
                if (DbProvider == SQL)
                {
                    PopulateUsername(e.Single());
                }
                return e.Single();
            }
        }

        public void Remove(int id)
        {
            Url remove = (from url in urls where url.Id == id select url).Single();
            urls.Remove(remove);
            Remove(remove);
        }

        public void Remove(Url url)
        {
            urls.Remove(url);
            if (DbProvider == XML)
                MvcApplication.IO.RemoveForward(url);
            else if (DbProvider == SQL)
            {
                _context.Forwarders.Remove(url);
                _context.SaveChanges();
            }
        }

        public void Remove(string src)
        {
            Url remove = (from url in urls where url.Src == src select url).Single();
            urls.Remove(remove);
            Remove(remove);
        }

        public void RemoveAll()
        {
            urls.Clear();
        }

        public void RemoveByUserId(string userId)
        {
            Url remove = (from url in urls where url.UserId == userId select url).Single();
            urls.Remove(remove);
            Remove(remove);
        }

        public void Update(Url url)
        {
            Url old = (from urlE in urls where urlE.Id == url.Id select urlE).Single();
            urls.Remove(old);
            urls.Add(url);
            if (DbProvider == XML)
            {

                MvcApplication.IO.RemoveForward(old);
                MvcApplication.IO.AddForward(url);
            }
            else if (DbProvider == SQL)
            {
                _context.Entry(url).State = EntityState.Modified;
                _context.SaveChanges();
            }
        }


        private Url PopulateUsername(int id)
        {
            Url url = (from u in urls where u.Id == id select u).Single();
            string userId = url.UserId == null ? "" : url.UserId;
            UserRepository userRepo = new UserRepository();
            url.Username = userRepo.GetUsername(userId);
            return url;
        }
        private Url PopulateUsername(Url url)
        {
            UserRepository userRepo = new UserRepository();
            string userId = url.UserId == null ? "" : url.UserId;
            url.Username = userRepo.GetUsername(userId);
            return url;
        }
        private Url MapXElement(XElement element)
        {
            DateTime expires = element.Attribute("expires").Value == "" ? new DateTime(2999, 12, 31) : DateTime.Parse(element.Attribute("expires").Value);
            DateTime createdOn = element.Attribute("created").Value == "" ? DateTime.Now : DateTime.Parse(element.Attribute("created").Value);
            string userId = element.Attribute("userid").Value;
            int id = int.Parse(element.Attribute("id").Value);
            Url url = new Url
            {
                Id = id,
                CreatedOn = createdOn,
                Expires = expires,
                UserId = userId,
                Redirect = element.Value.Trim(),
                Src = element.Attribute("src").Value
            };
            return PopulateUsername(url);
        }
    }
}

A parte mais importante do projeto é o Controller que vai servir os Links, e as rotas de leitura dos links. Portanto, o

RouteConfig.cs

também tem que estar correto:

ForwardsController.cs
using Shorten_Urls.Models;
using System;
using System.Collections.Generic;
using System.Web.Mvc;
using System.Web.Script.Serialization;
using Microsoft.AspNet.Identity;
using Microsoft.AspNet.Identity.EntityFramework;

namespace Shorten_Urls.Controllers
{
    public class ForwardsController : Controller
    {
        private UrlRepository _repo;
        private UserRepository _usersRepo;
        private ApplicationUser user;

        public ForwardsController()
        {
            _repo = new UrlRepository();
            _usersRepo = new UserRepository();
        }
        //
        // GET: /Forwards/

        public ActionResult SendToSrc(string src)
        {
            string error404 = "404.html";
            string redirect = "/Home/Index";

            Url url = _repo.GetBySrc(src);
            if (url != null)
            {

                if (!url.Redirect.Equals(string.Empty) && (url.Expires > DateTime.Now || url.Expires == null))
                    redirect = url.Redirect;
                else
                    redirect = error404;
            }
            return Redirect(redirect);
        }
        [Authorize]
        public ActionResult List()
        {

            List<Url> urls;
            if (User != null)
                user = _usersRepo.GetById(User.Identity.GetUserId());

            if (user.UserType == UserTypes.Administrator)
                urls = _repo.Urls;
            else urls = _repo.GetByUserId(user.Id);

            return View(urls);
        }

        //
        // GET: /Forwards/Details/5
        [Authorize]

        public ActionResult Details(int id)
        {
            if (User != null)
                user = _usersRepo.GetById(User.Identity.GetUserId());

            if (id == 0)
                Redirect("/Home/Index");
            Url url = _repo.GetById(id);
            return View(url);
        }

        //
        // GET: /Forwards/Create
        [Authorize]

        public ActionResult Create()
        {
            if (User != null)
                user = _usersRepo.GetById(User.Identity.GetUserId());

            Url url = new Url();
            string random = Helpers.GenerateRandomgUrl();
            while (_repo.Exists(random))
            {
                random = Helpers.GenerateRandomgUrl();
            }
            ViewBag.RandomUrl = random;
            return View(url);
        }

        [HttpGet]
        public string Available(string Src)
        {
            bool exists = _repo.Exists(Src);
            return new JavaScriptSerializer().Serialize(!exists);
        }
        //
        // POST: /Forwards/Create

        [Authorize]
        [HttpPost]
        public ActionResult Create(string Redirect, string Src, DateTime? Expires)
        {
            try
            {
                // TODO: Add insert logic here
                if (User != null)
                    user = _usersRepo.GetById(User.Identity.GetUserId());

                Url newUrl = new Url
                {
                    Redirect = Redirect,
                    Src = Src,
                    CreatedOn = DateTime.Now,
                    Expires = Expires,
                    UserId = user.Id,
                    Username = _usersRepo.GetUsername(user.Id)
                };

                if (_repo.needLastId)
                    newUrl.Id = _repo.LastId + 1;

                _repo.Add(newUrl);
                TempData["Success"] = "Short Url has been created";
                return RedirectToAction("List");
            }
            catch
            {
                TempData["Error"] = "There was an error saving your new Url";
                return View("List");
            }
        }

        //
        // GET: /Forwards/Edit/5
        [Authorize]

        public ActionResult Edit(int id)
        {
            if (User != null)
                user = _usersRepo.GetById(User.Identity.GetUserId());

            Url editUrl = _repo.GetById(id);
            return View(editUrl);
        }

        //
        // POST: /Forwards/Edit/5
        [Authorize]
        [HttpPost]
        public ActionResult Edit(int Id, string Redirect, string Src, DateTime? Expires = null)
        {
            try
            {
                // TODO: Add update logic here
                if (User != null)
                    user = _usersRepo.GetById(User.Identity.GetUserId());

                Url editUrl = _repo.GetById(Id);
                editUrl.Redirect = Redirect;
                editUrl.Src = Src;
                editUrl.UserId = user.Id;
                editUrl.Expires = Expires;
                editUrl.Username = _usersRepo.GetUsername(user.Id);

                _repo.Update(editUrl);
                TempData["Success"] = "Short Url has been updated";
                return RedirectToAction("List");
            }
            catch
            {
                TempData["Error"] = "There was an error saving your Url";
                return View();
            }
        }

        //
        // GET: /Forwards/Delete/5
        [Authorize]
        public ActionResult Delete(int id)
        {
            if (User != null)
                user = _usersRepo.GetById(User.Identity.GetUserId());
            Url url = _repo.GetById(id);
            return View(url);
        }

        [Authorize]
        [HttpPost]
        public ActionResult Delete(int id, bool confirm)
        {
            try
            {
                if (User != null)
                    user = _usersRepo.GetById(User.Identity.GetUserId());

                _repo.Remove(id);
                TempData["Success"] = "Short Url has been deleted";
                return RedirectToAction("List");

            }
            catch
            {
                TempData["Error"] = "There was an error deleting your Url";
                Url url = _repo.GetById(id);
                return View(url);
            }
        }

    }
}
RouteConfig.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;

namespace Shorten_Urls
{
    public class RouteConfig
    {
        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                name: "Forward",
                url: "{src}",
                defaults: new { controller = "Forwards", action = "SendToSrc", src = "" }
                );

            routes.MapRoute(
                name: "Default",
                url: "{controller}/{action}/{id}",
                defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional }
            );
        }
    }
}

Ao final, configura-se o

web.config

com as seguintes chaves:

 <appsettings>
    <add key="ForwardsFile" value="~/App_Data/forwards.xml"></add>
    <add key="LenghtOfRandomString" value="8"></add>
    <add key="WebsiteName" value="Puulga"></add>
    <add key="WebsiteUrl" value="http://puul.ga/"></add>
    <add key="Website" value="true"></add>
    <!--email provider section-->
    <add key="siteadmin" value="email@puul.ga"></add>
    <add key="email-subject" value="Email from Puul.ga"></add>
    <add key="email-from" value="email@puul.ga"></add>
    <add key="email-from-name" value="Puul.ga"></add>
    <add key="email-require-auth" value="false"></add>
    <add key="email-username" value="puul.ga"></add>
    <add key="email-password" value="password"></add>
    <add key="email-port" value="3535"></add>
    <add key="useSSL" value="false"></add>
    <add key="email-server" value="localhost"></add>
    <add key="email-html-share" value="~/Email Templates/share.html"></add>
    <add key="email-html-default" value="~/Email Templates/puulga.html"></add>
    <add key="email-html-forgotten" value="~/Email Templates/puulga.html"></add>
    <add key="email-html-confirmation" value="~/Email Templates/puulga.html"></add>
    <add key="email-html-welcome" value="~/Email Templates/puulga.html"></add>
    <!--Database options. possible values: Xml, Sql-->
    <add key="DbProvider" value="Sql"></add>
  </appsettings>

Basicamente, esses são os elementos mais importantes para o funcionamento do projeto. Todo o código fonte está disponível no Github em código aberto.

Visite o site para ver como funciona.

10 lições que gostaria que meus filhos aprendessem sem sofrer

Ainda não tive nenhum filho menino, mas tive o privilégio e honra de ser pai de uma princesa maravilhosa. E, apesar de ainda planejar estar presente por muitos anos de sua vida, pensei em já escrever algumas lições que são importantes e que, se possível, gostaria que ela aprendesse sem ter que sofrer, como seu pai sofreu.

Embora essas lições pareçam óbvias, tive que aprende-las à duras penas, tendo que ‘repetir’ o teste várias vezes até compreender a real lição a ser aprendida. A maioria dessas lições poderiam ter sido passadas pelo meu próprio pai, mas por ele ter falecido quando eu tinha dezoito anos, a maior parte da minha vida adulta se passou sem sua estimada companhia e conselhos sábios.

  1. Amor

    Amor não é um pote de ouro do outro lado do arco-íris

    Essa lição eu só pude aprender, em seu significado mais profundo, depois que fui pai, então a importância dessa lição é mais do que crítica para uma criança, adolescente e jovem adulto que está desbravando o mundo dos hormônios, jogos de ciúmes, bullying, e até abuso.

    Para alguém saber amar outrem, ela precisa primeiro aprender à amar a si mesma (óbvio, mas difícil). Isso significa que todos tem, em um momento ou outro de sua vida, que aprender a questionar seus velhos costumes, hábitos, e ideologias e reconstruir sua fundação. Em outras palavras, TODOS nesta vida passam por traumas, que vem de inúmeras formas, e acontecer por meio daqueles que mais amamos. Muitas vezes esses traumas vem mascarados como ‘normais’, vindo de nosso pais, irmãos, ou pessoas de nosso convívio próximo. O fato de acharmos serem normais não as tornam verdadeiramente normais. Podem até ser comuns (em várias famílias e situações) mas não é normal. Por exemplo: Pais que trabalham demais e não dão atenção suficiente à seus filhos e se justificam “pois estão dando tudo que seus filhos precisam” acabam por criar sentimentos de rejeição, solidão, abandono, e vários outros, que, se não forem tratados, podem se perpetuar até a idade adulta e, pior, por várias gerações.

    Portanto, amor é primeiramente um trabalho interno, que exige esforço, humildade e questionamento de valores. E, mesmo depois de tornar-se um indivíduo maduro (de acordo com sua idade fisiológica), o amor deve ser trabalhado, projetado aos outros, de forma saudável, altruísta e livre. Somente relacionamentos maduros perduram. Aprenda a se amar!

  2. Sexo

    O ato sexual é uma forma de demostração de amor, não um brinquedo

    A sociedade atual prega a liberalidade sexual, o sensualismo, como direitos e não responsabilidades. Claro, sexo é bom, não há dúvidas. Mas o ato sexual é diferente para nós homo sapiens sapiens do que para outros animais. Por termos (em maioria) capacidade cognitiva mais avançada do que a maioria dos outros seres deste planeta, nossa capacidade de associação, prazer, fantasia, ou seu opostos – dissociação, dor e desilusão, acompanham o orgasmo. Fisiologicamente, o orgasmo libera vários químicos que causam satisfação. Mas as consequências psicológicas são muito mais duradouras do que o efêmero prazer advindo do extase orgásmico.

    E, por mais que se discuta e argumente contra, o ato sexual é mais viciante do que qualquer droga, pois é um prazer extremo produzido pelo próprio corpo, mas que necessita de estímulos externos. Uma vez experimentado, o auto-controle para se conter em situações posteriores é muito grande, e difícil de ser exercido.

    Portanto, mesmo que seja difícil, sexo deve ser considerado um presente mútuo àquele(a) que se ama, e não um passatempo. Há outras consequências psicológicas que discuto neste artigo, tópico não se envolva sexualmente.

  3. Trabalho e Carreira

    Trabalhe duro enquanto tem seus pais lhe dando suporte, pois depois você estará sozinho(a)

    Ter uma educação universitária não é tudo, já concedo esse argumento. Uma educação secular pode ser considerada como tudo mais na vida – se tiver uso, se for cultivada e valorizada, então vai trazer resultado. Isso dito, as oportunidades que estudar trazem são infinitas. Viajar para outro país, aprender outro idioma, estar se reciclando e aprendendo coisas novas ajuda, não só no conhecimento propriamente dito, mas na capacidade que o indivíduo tem de se enxergar em perspectiva ao resto do mundo.

    Portanto, para conseguir tempo para hobbies, depois de adulto, depende muito do sucesso obtido na carreira. Se tiver que estar sempre trabalhando para pagar as contas, então não terá tempo para hobbies. Por isso, aproveite sua infância e adolescencia para aprender todos os hobbies e habilidades que puder, para quando adulto trabalhar e ter tempo para se divertir de forma balanceada.

    Se divertir é bom, mas não deve ser uma meta de vida, e sim um auxílio para a felicidade.

  4. Caráter Humano nem sempre é bom

    Nem todo cordeiro tem coração de cordeiro

    Estudos mais recentes apontam que 4% da sociedade é psicopata [SILVA], mas quando se aprende a observar, percebe-se que existem muito mais psicopatas dos que aqueles mapeados pelos psicólogos. Existem pessoas más, que se fazem de vítimas, ou de santos, que usam de lisonja e adulação e, na maioria das vezes, mentiras enormes para conseguirem o que querem, indiferente de quem for usado, abusado, ou destruido no processo. Esse comportamento psicopático tem três termos, bastante difundidos na sociedade atual: Individualismo, Relativismo e Instrumentalismo que em si não são ruins, mas que deixam em aberto o caminho para os predadores em fazerem o que quiserem sob pretexto das bandeiras desses três termos.

    Quando uma situação ou história de alguém parecer demais para ser verdade, provavelmente é demais para ser verdade! Quando alguém começar a tentar incutir culpa nos outros ou a eximir-se de seus defeitos, culpando sempre algo ou alguém, é porque essa pessoa tem desvio de caráter. Ela está tentando manipular uma situação ou pessoa, para ganho pessoal.

    Portanto, nem todo mundo que é bom de ‘conversa’, que se expressa bem, que sabe convencer, o faz pelo bem alheio. Busque sempre questionar se a pessoa ou situação estão respeitando os seus direitos, principalmente os seus sentimentos. Muitos relacionamentos abusivos tem como seus algozes um psicopata ou individuo com desvio de caráter, de uma forma ou de outra.

  5. Não sinta pena de si mesmo(a)

    Ninguém gosta de ‘mi mi mi’

    Augusto Cury criou o termo ‘coitadismo’  [CURY] que vai além de alguém ser acomodado e desiludido com seus defeitos e imperfeições. O ‘Coitadismo’ está em promover, publicar e anunciar seus defeitos como justificativa para mediocridade e, pior ainda, promover a auto-indulgência moral.

    Um ‘coitadista’ pode alegar “Ah, eu nunca tive oportunidade na vida, então nunca serei capaz de entrar em uma boa universidade”. Uma afirmação de vitimista, e ao mesmo tempo, e justificativa em não fazer o mínimo esforço.

    O mundo não se importa com perdedores! E não são os perdedores que realmente nunca tiveram oportunidade na vida, são os perdedores que se rendem à mediocridade!

    Portanto, aceite suas dificuldades e medos, elas fazem parte da vida. Mas jamais se permita vencer por elas. Siga em frente, se esforce, fazendo seu melhor. O seu melhor já vai ser o seu melhor. Mas faça seu melhor!

  6. Saiba perdoar os outros e a si mesmo(a)

    Perdoar é se livrar de um fardo

    Interagir com os outros frequentemente resulta em situações de atrito, conflito, brigas, ou discussões. Isso é fato e não há como fugir disso. Sim, é possível se esconder em uma caverna para nunca ter que vivenciar nenhum desses momentos, mas tal exclusão deixaria sua vida completamente vazia e insípida.

    Uma das formas de evitar frustrações e sentimentos negativos é evitar fardar os outros com expectativas. É comum esperarmos algo quando temos um trabalho de escolha, faculdade, ou mesmo em uma equipe no emprego. Mas, em geral, quanto menos expectativas tivermos, mais surpresas agradáveis teremos em longo prazo, e menos desilusões.

    De qualquer forma, quando encontramos situações negativas, ofensivas, ou que magoem, é importante livrar-se do fardo da negatividade que esses sentimentos trazem. O fardo pode ser muito doloroso e insuportável. Perdoar não significa que a pessoa perdoada não terá que responder pelos seus delitos, mas significa que você não terá que viver mais na negatividade que esses delitos infligiram em sua vida. Você pode ser livre!

    Perdoar a si mesmo pode ser ainda mais difícil que perdoar os outros. E talvez requeira acompanhamento e terapia psicológica. E não é vergonha nenhuma falar de seus problemas. Talvez um amigo já seja de grande ajuda, talvez um psicólogo seja mais preparado para entender seus problemas, você quem decide. O importante é aceitar que precisa se perdoar. E para se perdoar, talvez seja preciso consertar alguns comportamentos, pedir perdão à algumas pessoas, e principalmente, falar a respeito deles, para que seu fardo possa se tornar mais leve.

    Não é fácil perdoar, mas o perdão é libertador. Portanto, faça do perdão um processo diário. Perdoe a si mesmo(a) e aos outros, sempre que possível, quantas vezes for necessário. Viva leve!

  7. Aprenda a dialogar com sua Criança exterior e seu Adulto interior

    Todo mundo tem seu lado mimado e exigente

    Susan Anderson, em seu livro The Journey from Abandonment to Healing: Turn the End of a Relationship into the Beginning of a New Life, explana as várias fases que a maioria das pessoas passam quando sofrem algum tipo de abandono. Esse abandono pode ser a morte de alguém querido ou mesmo a ruptura de relacionamentos, que podem ser percebidos como luto.

    Mas, a parte desse livro que quero mencionar é o diálogo que a Dra. Susan incentiva seus pacientes (e ela mesma pratica) a terem com sua ‘Criança Exterior’ e seu ‘Adulto Interior’ [ANDERSON]. Nesse diálogo, a criança exterior tem a tarefa de falar à vontade, tudo o que sente, suas frustrações, sua raiva, seus desejos, seja o que for que estiver sob a ‘pele’. Já o adulto interior tem a tarefa de acalmar, consolar, e controlar a criança exterior, não pela força, mas com amor, persuasão, compreensão e apoio.

    Esse diálogo ajuda muito à controlar o que o Scott M. Peck chama de ‘piloto automático’. [PECK] Quando a criança exterior sai do controle (em piloto automático) acabamos por reagir e deixamos nosso ‘cérebro’ para trás (paramos de raciocinar). Fazemos e dizemos coisas que nos arrependemos amargamente depois e causamos sérios danos à relacionamentos, empregos e oportunidades.

    Portanto, converse e seja sincero(a) com sua criança exterior, faça com que seu adulto interior aja como a pessoa madura que você deseja ser. Encontre equilíbrio entre esses dois personagens e sua vida será bem mais saudável.

  8. Religião deve abrir os olhos; existe um Criador

    Amar Deus e seu próximo

    Existe um criador, eu já tive muitas experiências disso. Experiências que considero sagradas e inapropriadas para serem faladas sem o devido ambiente (Mateus 7:6). Existe um propósito para esta vida, embora o plano individual seja personalizado.

    No entanto, o homem que ensina religião é falho e, em alguns casos, psicopata e desejoso de manipular os crentes para que lhe promovam seu sustento. Não existe líder religioso perfeito (exceto por Cristo, Alá, Buda, Krishna, ou qualquer nome que queira chamar deus). Existe beleza e verdade em tudo que é bom, que liberta o homem e o conduz ao amor à Deus (seja na forma que for) e seu próximo.

    Qualquer coisa que ensine fora disso está violando o princípio inerente da religião:

    re·li·gi·ão

    substantivo feminino
    1. Culto prestado à divindade.
    2. [Por extensão]  Doutrina ou crença religiosa.
    3. [Figurado]  O que é considerado como um dever sagrado.
    4. Reverência, respeito.
    5. Escrúpulo.
    6. Comunidade religiosa que segue a regra do seu fundador ou reformador.

    “religião”, in Dicionário Priberam da Língua Portuguesa [em linha], 2008-2013, http://www.priberam.pt/DLPO/religi%C3%A3o [consultado em 19-04-2016].

    Se qualquer religião pregar a intolerância, ódio, acepção de pessoas, julgamento alheio, futrico, ou qualquer tipo de negatividade, essa religião não é boa.

    Portanto, estude tudo sobre tudo. Islamismo, espiritismo, espiritualismo, mormonismo. Mas lembre-se de sempre perguntar ao seu Criador o que é verdade e qual caminho seguir [Tiago 1:5]. Peça a Ele que abra seus olhos, para que você se torne melhor, e não pior. Eu já recebi minhas respostas sobre várias coisas, e é seu direito também receber suas respostas.

  9. Indiferente das suas escolhas, opiniões e ações. Eu o(a) amo

    Meu amor quer seu melhor

    Gostaria de estar presente em cada minuto de sua vida, segurando sua mão, dando-lhe apoio nos momentos difíceis e comemorando nos momentos de alegria. Eu amo você!

    Mas, seu cordão umbilical foi cortado no momento do parto, tanto um ato físico, quanto um simbolismo aos pais de que a criança tem sua própria vida, sua individualidade, sua personalidade e desejos.

    Indiferente das minhas fraquezas e defeitos como pai, desejo que você sempre se sinta seguro(a) em me enxergar como um verdadeiro amigo. Alguém que você possa confidenciar seus medos, suas frustrações, suas dúvidas. Quero ser sempre a pessoa em que você confia para esclarecer as perguntas que com certeza virão.

    Saiba que não importa se o que você sente ou pensa pareça incomum, ou vergonhoso. Eu estou aqui do seu lado, e sempre estarei do seu lado, até o dia em que talvez você não me queira mais do seu lado. Se esse dia chegar, com lágrimas o(a) deixarei ir, sabendo que fiz tudo possível para ser o pai que você merece. Mas, até lá, saiba somente que Eu o(a) amo!

  10. Valorize os momentos e pessoas que fazem parte da sua vida

    Porque até a uva passa

    Estou com trinta e cinco anos hoje, você está com oito. Nesta fase de sua vida tudo parece demorar. Considerando que quatro anos atrás foi metade de sua vida, fica mais fácil compreender sua impaciência!

    Mas lembre-se que a vida passa muito rápido! Em alguns anos você vai estar vivenciando mudanças hormonais que vão trazer pensamentos e opiniões diferentes, desafiadoras, empolgantes. Quando mal perceber estará tendo esta mesma conversa com seu filho(a).

    Portanto, cultive e valorize os momentos felizes e amizades verdadeiras. Parentes, amigos, mentores e professores morrem, deixando para trás somente lembranças. Você escolhe se essas lembranças serão positivas ou negativas. Deixe algumas coisas de lado se for preciso, mas produza lembranças maravilhosas para você para aqueles à sua volta.

    Lembranças não precisam ser extravagantes ou acompanhadas por fogos de artifício, mas podem ser simples, singelas, genuínas e sinceras. Um passeio ao pôr do sol, uma conversa sincera. Compartilhar sentimentos, assistir um filme juntos. Ler uma história em família, são tesouros inestimáveis. Valorize-os.

Família Feliz

Conclusão

Existem outras lições a serem aprendidas, mas estas em particular são preciosas aos meus olhos e desejo que sejam também para você. Se fosse possível, eu o(a) pouparia de qualquer sofrimento. Mas, como sei que isso é impossível e pouco recomendado, espero dar-lhe alguns ensinamentos que possam servir de fundação para uma vida plena, feliz e repleta de sucesso e doces lembranças. Com real intenção desejo o seu melhor!

 

Referencias:

SILVA, Ana Beatriz Barbosa. Mentes Perigosas – o Psicopata Mora ao Lado. Principium Editorial. Ano 2014. 232 p.

CURY, Augusto. O Código da Ingeligência. Editora Sextante / Gmt. Ano 2015. 256 p.

ANDERSON, Susan. The Journey from Abandonment to Healing: Turn the End of a Relationship into the Beginning of a New Life. Berkley; 1 edition. Ano 2000. 352 p.

PECK, Scott M. A trilha menos percorrida. Editora Nova Era. Segunda Edição, Ano 2006. 336 p.

Você vive dentro de um aquário?

Quando um peixe cresce dentro de um aquário, conforme seu tamanho aumenta, o aquário parece diminuir de tamanho. O peixe se sente o “dono do pedaço”, o “maioral”, o “peixão”.

Não há mais nada de novo a ser aprendido, confinado num mundo cada vez menor.

Mas, ao ser jogado no oceano, o peixe finalmente enxerga seu tamanho, que não é nada, comparado com a imensidão de águas a serem exploradas. E, para dificultar, há muitos perigos no oceano. O peixinho precisa aprender a se portar, para que sobreviva!

Essa analogia se aplica à qualquer situação em que pessoas ignorantes se portam como se estivessem dentro de um aquário. Não fazem ideia do oceano a ser explorado, pois estão confinadas ao seu mundinho medíocre.

Qualquer indivíduo que diz saber muito, que ironiza ou ridiculariza os que estão “aprendendo”, ou discrimina os que sabem mais, alegando serem “loucuras” ou devaneios, está dentro de um aquário!

Lembre-se disso, normalmente quem mais sabe é aquele humilde suficiente para compreender que há muito mais que ele não sabe!
Você vive dentro de um aquário?
Existem várias referencias a essa analogia na internet. No entanto não consegui encontrar sua origem.

Você já teve alguma experiencia com um “peixe de aquário”?’, ‘Você vive num aquário?

Ciencia em favor da ufologia

Ciencia em favor da ufologia

Resumo da palestra de 22 de Fevereiro, 2016 em Sorocaba, SP

Discute a humanidade atual, nossa evolução científica e os avanços astronômicos descobertos nos últimos anos que reforçam o fato de que há milhões de outras civilizações no universo.

Esta palestra discute fatos científicos importantes que nos levam a questionarmos nossa presença no universo, além da possibilidade de estarmos sendo visitados por seres de outros planetas.

Recentemente vivemos o anúncio do sistema de 7 planetas, anunciados pela NASA (trappist-1), que nos deixa mais próximos à descoberta de vida em outros sistemas.

Também tivemos a liberação de mais de 13 milhões de páginas da CIA, anteriormente secretas, com revelações sobre projetos que incluem visão remota, controle da mente e INVESTIGAÇÕES SOBRE UFOS.

Certamente, temos assunto demais para continuarmos na ignorancia de nosso planetinha azul, achando que estamos sozinhos no universo.

Módulo Smtp com modelo de Html

Módulo Smtp com modelo de Html

Módulo Smtp com modelo de Html

Todas as vezes que crio um novo projeto que precisa enviar emails acabo indo atrás de projetos anteriores e faço o famoso ctrl+C, ctrl+V mas recentemente cansei desse hábito horrendo e decidi criar uma biblioteca simples que pode ser referenciada em qualquer projeto.

Caso esteja com pressa, baixe a biblioteca aqui, ou o demo completo aqui.

Página do projeto no Github

Para testar o módulo, use Smtp4Dev.

Para começar, criei a classe que gerencia o SmtpClient e SmtpServer:

using System;
using System.Collections.Generic;
using System.Configuration;
using System.IO;
using System.Web.Hosting;

namespace Simple_Mail
{
    #region Enums
    /// <summary>
    /// Types of Emails that can be sent
    /// </summary>
    public enum EmailType
    {
        Default,
        Confirmation,
        Forgotten,
        Welcome,
        Error
    }
    /// <summary>
    /// Type of Application this module is being ran from
    /// </summary>
    public enum ApplicationType
    {
        Desktop,
        Web
    }
    #endregion

    #region Class
    /// <summary>
    /// Email Module Class
    /// </summary>
    public class Email
    {
        #region Public Members
        // <summary>
        /// The Email address of the Email Module Admin
        /// </summary>
        public string SITE_ADMIN { get; set; }
        /// <summary>
        /// Subject of the Email
        /// </summary>
        public string SUBJECT { get; set; }
        /// <summary>
        /// Body of the Email (default is html)
        /// </summary>
        public string BODY { get; set; }
        /// <summary>
        /// From Email Address (who's sending the email)
        /// </summary>
        public string FROM { get; set; }
        /// <summary>
        /// From Name (name of who is sending the email)
        /// </summary>
        public string FROM_NAME { get; set; }
        /// <summary>
        /// To Email Address (who is going to receive this email)
        /// </summary>
        public string TO { get; private set; }
        /// <summary>
        /// To Name (name of who is going to receive this email)
        /// </summary>
        public string TO_NAME { get; set; }
        /// <summary>
        /// Username of Smtp Service / Server
        /// </summary>
        public string USERNAME { get; private set; }
        /// <summary>
        /// Password for the smtp service / server
        /// </summary>
        public string PASSWORD { get; private set; }
        /// <summary>
        /// The port number for sending the email address (normal ports are 25, 587, 465)
        /// </summary>
        public int PORT { get; private set; }
        /// <summary>
        /// Whether to use SSL Encryption
        /// </summary>
        public bool USESSL { get; private set; }
        /// <summary>
        /// Uri of the Smtp Server
        /// </summary>
        public string SERVER { get; private set; }
        /// <summary>
        /// Whether the smtp server requires authentication
        /// </summary>
        public bool REQUIREAUTH { get; private set; }
        /// <summary>
        /// Name of the Website or App running the Module
        /// </summary>
        public string WEBSITE_NAME { get; set; }
        /// <summary>
        /// Default Html Body for the Email
        /// </summary>
        public string HTML_DEFAULT { get; private set; }
        /// <summary>
        /// Html body for the Forgotten Email
        /// </summary>
        public string HTML_FORGOTEN { get; private set; }
        /// <summary>
        /// Html Body for the Confirmation Email
        /// </summary>
        public string HTML_CONFIRMATION { get; private set; }
        /// <summary>
        /// Html Body for the Welcome Email
        /// </summary>
        public string HTML_WELCOME { get; private set; }
        /// <summary>
        /// Html for the Social Share
        /// </summary>
        public string HTML_SHARE_PATH { get; private set; }
        /// <summary>
        /// Path for the Default Html File
        /// </summary>
        public string HTML_DEFAULT_PATH { get; private set; }
        /// <summary>
        /// Path for the Forgotten Html File
        /// </summary>
        public string HTML_FORGOTEN_PATH { get; private set; }
        /// <summary>
        /// Path for the Confirmation Html File
        /// </summary>
        public string HTML_CONFIRMATION_PATH { get; private set; }
        /// <summary>
        /// Path for the Welcome Html File
        /// </summary>
        public string HTML_WELCOME_PATH { get; private set; }
        /// <summary>
        /// Path for the Social Share Html File
        /// </summary>
        public string HTML_SHARE { get; private set; }
        #endregion

        #region Constructors
        /// <summary>
        /// Manually configures a Smtp Server Instance (when you do not want to use config files)
        /// </summary>
        /// <param name="smtpServer">The Uri for the smtp server</param>
        /// <param name="smtpPort">The Smtp Port</param>
        /// <param name="useAuth">Whether the Smtp Server Requires Authentication</param>
        /// <param name="username">The Smtp Username</param>
        /// <param name="password">The Smtp Password</param>
        /// <param name="useSSL">Whether to Use SSL Encryption</param>
        public Email(string smtpServer, int smtpPort, bool useAuth = false, string username = "", string password = "", bool useSSL = false)
        {
            SERVER = smtpServer;
            PORT = smtpPort;
            REQUIREAUTH = useAuth;
            USERNAME = username;
            PASSWORD = password;
            USESSL = useSSL;
        }
        /// <summary>
        /// Instanciates a new Email Module based on Config Files and Application Type (Web or Desktop)
        /// </summary>
        /// <param name="type"></param>
        public Email(ApplicationType type)
        {
            switch (type)
            {
                case ApplicationType.Desktop:
                    HTML_CONFIRMATION_PATH = ConfigurationManager.AppSettings["email-html-confirmation"];
                    HTML_WELCOME_PATH = ConfigurationManager.AppSettings["email-html-welcome"];
                    HTML_FORGOTEN_PATH = ConfigurationManager.AppSettings["email-html-forgotten"];
                    HTML_DEFAULT_PATH = ConfigurationManager.AppSettings["email-html-default"];
                    HTML_SHARE_PATH = ConfigurationManager.AppSettings["email-html-share"];
                    break;
                case ApplicationType.Web:
                    HTML_CONFIRMATION_PATH = HostingEnvironment.MapPath(ConfigurationManager.AppSettings["email-html-confirmation"]);
                    HTML_WELCOME_PATH = HostingEnvironment.MapPath(ConfigurationManager.AppSettings["email-html-welcome"]);
                    HTML_FORGOTEN_PATH = HostingEnvironment.MapPath(ConfigurationManager.AppSettings["email-html-forgotten"]);
                    HTML_DEFAULT_PATH = HostingEnvironment.MapPath(ConfigurationManager.AppSettings["email-html-default"]);
                    HTML_SHARE_PATH = HostingEnvironment.MapPath(ConfigurationManager.AppSettings["email-html-share"]);
                    break;
                default:
                    break;
            }


            HTML_CONFIRMATION = GetEmailHtml(HTML_CONFIRMATION_PATH);
            HTML_WELCOME = GetEmailHtml(HTML_DEFAULT_PATH);
            HTML_FORGOTEN = GetEmailHtml(HTML_FORGOTEN_PATH);
            HTML_DEFAULT = GetEmailHtml(HTML_WELCOME_PATH);
            HTML_SHARE = GetEmailHtml(HTML_SHARE_PATH);


            WEBSITE_NAME = ConfigurationManager.AppSettings["WebsiteName"];

            SITE_ADMIN = ConfigurationManager.AppSettings["siteadmin"];

            SERVER = ConfigurationManager.AppSettings["email-server"];
            PORT = int.Parse(ConfigurationManager.AppSettings["email-port"]);
            USESSL = bool.Parse(ConfigurationManager.AppSettings["useSSL"]);
            PASSWORD = ConfigurationManager.AppSettings["email-password"];
            USERNAME = ConfigurationManager.AppSettings["email-username"];
            REQUIREAUTH = bool.Parse(ConfigurationManager.AppSettings["email-require-auth"]);

            TO_NAME = "New " + ConfigurationManager.AppSettings["WebsiteName"] + " Member";
            TO = ConfigurationManager.AppSettings["email-to"];
            FROM_NAME = ConfigurationManager.AppSettings["email-from-name"];
            FROM = ConfigurationManager.AppSettings["email-from"];

            SUBJECT = ConfigurationManager.AppSettings["email-subject"];


        }

        #endregion

        #region Private Members

        private EmailType emailMessageType;
        private string emailMessageHtml;
        private System.Net.Mail.SmtpClient SmtpServer;
        #endregion

        #region Private Methods
        private string GetEmailHtml(string path)
        {
            return File.ReadAllText(path);
        }

        private string GetEmailFilePath(EmailType type)
        {
            emailMessageType = type;

            switch (type)
            {
                case EmailType.Confirmation:
                    emailMessageHtml = HTML_CONFIRMATION;
                    break;
                case EmailType.Forgotten:
                    emailMessageHtml = HTML_FORGOTEN;
                    break;
                case EmailType.Welcome:
                    emailMessageHtml = HTML_WELCOME;
                    break;
                case EmailType.Default:
                    emailMessageHtml = HTML_DEFAULT;
                    break;
                default:
                    emailMessageHtml = "";
                    break;
            }
            return emailMessageHtml;
        }

        private bool SetupServer()
        {
            try
            {
                SmtpServer = new System.Net.Mail.SmtpClient();
                SmtpServer.Port = PORT;
                SmtpServer.DeliveryMethod = System.Net.Mail.SmtpDeliveryMethod.Network;
                if (REQUIREAUTH)
                {
                    SmtpServer.UseDefaultCredentials = false;
                    SmtpServer.Credentials = new System.Net.NetworkCredential(USERNAME, PASSWORD);
                }
                else SmtpServer.UseDefaultCredentials = true;

                SmtpServer.Host = SERVER;
                SmtpServer.EnableSsl = USESSL;

                return true;
            }
            catch
            {

                return false;
            }
        }

        #endregion

        #region Public Methods
        /// <summary>
        /// Attempts to send an email
        /// </summary>
        /// <param name="type">The Type of Email Being Sent</param>
        /// <param name="custom">Whether to Customize the email</param>
        /// <param name="body">If customized, set the html body for the email</param>
        /// <param name="To">If customized, defines the TO field</param>
        /// <param name="ToName">If customized, defines the To name</param>
        /// <returns>Returns a KeyValuePair<bool,string> with success (true/false) and a message from the smtp server</returns>
        public KeyValuePair<bool, string> SendMail(EmailType type, bool custom = false, string body = "", string To = "", string ToName = "New Member")
        {

            if (SetupServer())
            {
                System.Net.Mail.MailMessage mail = new System.Net.Mail.MailMessage();

                mail.Subject = SUBJECT;
                mail.From = new System.Net.Mail.MailAddress(FROM, FROM_NAME);
                mail.IsBodyHtml = true;

                if (ToName != "") TO_NAME = ToName;

                if (To == "") mail.To.Add(new System.Net.Mail.MailAddress(TO, TO_NAME));
                else mail.To.Add(new System.Net.Mail.MailAddress(To, TO_NAME));

                if (custom)
                    mail.Body = body;
                else
                {
                    BODY = GetEmailFilePath(type);
                    mail.Body = BODY;
                }

                try
                {
                    SmtpServer.Send(mail);
                    return new KeyValuePair<bool, string>(true, "Email sent succesfully");
                }
                catch (Exception ex)
                {
                    return new KeyValuePair<bool, string>(false, ex.Message);
                }
                finally
                {
                    SmtpServer.Dispose();
                }
            }
            else return new KeyValuePair<bool, string>(false, "Error Setting UP Email");

        }
        /// <summary>
        /// Manually Sets the Body for the Email Message
        /// </summary>
        /// <param name="message">The Html Body for the Email</param>
        public void SetBody(string message)
        {
            BODY = message;
        }
        #endregion

    } 
    #endregion
}

Também inclui algumas configurações no App.Config como modelo, que podem ser usadas no Web.Config caso não queira inserir os dados via código.

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
  <appSettings>
    <!--email provider section-->
    <add key="siteadmin" value="postmaster@simpleemail.com"/>
    <add key="email-subject" value="Email from Email Website"/>
    <add key="email-from" value="postmaster@puul.ga"/>
    <add key="email-from-name" value="Simple Email"/>
    <add key="email-require-auth" value="false"/>
    <add key="email-username" value="simpleemail"/>
    <add key="email-password" value=""/>
    <add key="email-port" value="3535"/>
    <add key="useSSL" value="false"/>
    <add key="email-server" value="localhost"/>
    <add key="email-html-share" value="~/Email Templates/share.html"/>
    <add key="email-html-default" value="~/Email Templates/default.html"/>
    <add key="email-html-forgotten" value="~/Email Templates/default.html"/>
    <add key="email-html-confirmation" value="~/Email Templates/default.html"/>
    <add key="email-html-welcome" value="~/Email Templates/default.html"/>
  </appSettings>
</configuration>

Mas como também havia interesse em mandar emails em html mais bonitos, usei um modelo do MailChimp™ para ficar mais apresentável. Inclui na pasta de “Email Templates”

<!--MAILCHIMP EMAIL TEMPLATE-->
<!--DON'T CHANGE THE *|VALUES|* AS THEY ARE REPLACED IN THE SERVER - CHANGE THE HTML, TEXT IS AUTOMATICALLY ADDED-->
<td align="center" valign="top" id="bodyCell" style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;height: 100%;margin: 0;padding: 10px;width: 100%;border-top: 0;">
    <!-- BEGIN TEMPLATE // -->
						<!--[if gte mso 9]>
						<table align="center" border="0" cellspacing="0" cellpadding="0" width="600" style="width:600px;">
						<tr>
						<td align="center" valign="top" width="600" style="width:600px;">
                          <![endif]-->
                          <table border="0" cellpadding="0" cellspacing="0" width="100%" class="templateContainer" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;border: 0;max-width: 600px !important;">
                            <tbody><tr>
                                <td valign="top" id="templatePreheader" style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;background-color: #FAFAFA;border-top: 0;border-bottom: 0;padding-top: 9px;padding-bottom: 9px;"><table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnTextBlock" style="min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                    <tbody class="mcnTextBlockOuter">
                                        <tr>
                                            <td valign="top" class="mcnTextBlockInner" style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">

                                                <table align="left" border="0" cellpadding="0" cellspacing="0" width="366" class="mcnTextContentContainer" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                    <tbody><tr>

                                                        <td valign="top" class="mcnTextContent" style="padding-top: 9px;padding-left: 18px;padding-bottom: 9px;padding-right: 0;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;word-break: break-word;color: #656565;font-family: Helvetica;font-size: 12px;line-height: 150%;text-align: left;">

                                                            *|EMAIL_PREVIEW|*
                                                        </td>
                                                    </tr>
                                                </tbody></table>

                                                <table align="right" border="0" cellpadding="0" cellspacing="0" width="197" class="mcnTextContentContainer" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                    <tbody><tr>

                                                        <td valign="top" class="mcnTextContent" style="padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;word-break: break-word;color: #656565;font-family: Helvetica;font-size: 12px;line-height: 150%;text-align: left;">
                                                        </td>
                                                    </tr>
                                                </tbody></table>

                                            </td>
                                        </tr>
                                    </tbody>
                                </table></td>
                            </tr>
                            <tr>
                                <td valign="top" id="templateHeader" style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;background-color: #FFFFFF;border-top: 0;border-bottom: 0;padding-top: 9px;padding-bottom: 0;"><table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnImageBlock" style="min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                    <tbody class="mcnImageBlockOuter">
                                        <tr>
                                            <td valign="top" style="padding: 9px;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" class="mcnImageBlockInner">
                                                <table align="left" width="100%" border="0" cellpadding="0" cellspacing="0" class="mcnImageContentContainer" style="min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                    <tbody><tr>
                                                        <td class="mcnImageContent" valign="top" style="padding-right: 9px;padding-left: 9px;padding-top: 0;padding-bottom: 0;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">

                                                            <table style="width: 564px;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" class="mcpreview-image-uploader"></table>

                                                        </td>
                                                    </tr>
                                                </tbody></table>
                                            </td>
                                        </tr>
                                    </tbody>
                                </table></td>
                            </tr>
                            <tr>
                                <td valign="top" id="templateBody" style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;background-color: #FFFFFF;border-top: 0;border-bottom: 2px solid #EAEAEA;padding-top: 0;padding-bottom: 9px;"><table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnTextBlock" style="min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                    <tbody class="mcnTextBlockOuter">
                                        <tr>
                                            <td valign="top" class="mcnTextBlockInner" style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">

                                                <table align="left" border="0" cellpadding="0" cellspacing="0" width="100%" style="min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" class="mcnTextContentContainer">
                                                    <tbody><tr>

                                                        <td valign="top" class="mcnTextContent" style="padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;word-break: break-word;color: #202020;font-family: Helvetica;font-size: 16px;line-height: 150%;text-align: left;">

                                                            <h1 style="display: block;margin: 0;padding: 0;color: #202020;font-family: Helvetica;font-size: 26px;font-style: normal;font-weight: bold;line-height: 125%;letter-spacing: normal;text-align: left;">

                                                                *|HEADER|*

                                                            </h1>

                                                            <p style="margin: 10px 0;padding: 0;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #202020;font-family: Helvetica;font-size: 16px;line-height: 150%;text-align: left;">

                                                                *|FIRSTPARAGRAPH|*
                                                            </p>
                                                            <p style="margin: 10px 0;padding: 0;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #202020;font-family: Helvetica;font-size: 16px;line-height: 150%;text-align: left;">
                                                                *|SECONDPARAGRAPH|*
                                                            </p>
                                                            <p style="margin: 10px 0;padding: 0;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #202020;font-family: Helvetica;font-size: 16px;line-height: 150%;text-align: left;">
                                                                If you need a bit of inspiration, you can 
                                                                <a href="http://inspiration.mailchimp.com" class="mc-template-link" style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #2BAADF;font-weight: normal;text-decoration: underline;">
                                                                    see what other MailChimp users are doing
                                                                </a>, or <a href="http://mailchimp.com/resources/email-design-guide/" class="mc-template-link" style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;color: #2BAADF;font-weight: normal;text-decoration: underline;">
                                                                learn about email design
                                                            </a> 
                                                            and blaze your own trail.
                                                        </p>
                                                    </td>
                                                </tr>
                                            </tbody>
                                        </table>

                                    </td>
                                </tr>
                            </tbody>
                        </table>
                    </td>
                </tr>
                <tr>
                    <td valign="top" id="templateFooter" style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;background-color: #FAFAFA;border-top: 0;border-bottom: 0;padding-top: 9px;padding-bottom: 9px;"><table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnFollowBlock" style="min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                        <tbody class="mcnFollowBlockOuter">
                            <tr>
                                <td align="center" valign="top" style="padding: 9px;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" class="mcnFollowBlockInner">
                                    <table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnFollowContentContainer" style="min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                        <tbody><tr>
                                            <td align="center" style="padding-left: 9px;padding-right: 9px;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                <table border="0" cellpadding="0" cellspacing="0" width="100%" style="min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" class="mcnFollowContent">
                                                    <tbody><tr>
                                                        <td align="center" valign="top" style="padding-top: 9px;padding-right: 9px;padding-left: 9px;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                            <table align="center" border="0" cellpadding="0" cellspacing="0" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                                <tbody><tr>
                                                                    <td align="center" valign="top" style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                    <!--[if mso]>
                                    <table align="center" border="0" cellspacing="0" cellpadding="0">
                                    <tr>
                                        <![endif]-->

                                        <!--[if mso]>
                                        <td align="center" valign="top">
                                            <![endif]-->


                                            <table align="left" border="0" cellpadding="0" cellspacing="0" style="display: inline;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                <tbody><tr>
                                                    <td valign="top" style="padding-right: 10px;padding-bottom: 9px;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" class="mcnFollowContentItemContainer">
                                                        <table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnFollowContentItem" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                            <tbody><tr>
                                                                <td align="left" valign="middle" style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 9px;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                                    <table align="left" border="0" cellpadding="0" cellspacing="0" width="" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                                        <tbody><tr>

                                                                            <td align="center" valign="middle" width="24" class="mcnFollowIconContent" style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                                                <a href="http://www.twitter.com/" target="_blank" style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"><img src="http://cdn-images.mailchimp.com/icons/social-block-v2/color-twitter-48.png" style="display: block;border: 0;height: auto;outline: none;text-decoration: none;-ms-interpolation-mode: bicubic;" height="24" width="24" class=""></a>
                                                                            </td>
                                                                            
                                                                            
                                                                        </tr>
                                                                    </tbody></table>
                                                                </td>
                                                            </tr>
                                                        </tbody></table>
                                                    </td>
                                                </tr>
                                            </tbody></table>

                                        <!--[if mso]>
                                        </td>
                                        <![endif]-->

                                        <!--[if mso]>
                                        <td align="center" valign="top">
                                            <![endif]-->


                                            <table align="left" border="0" cellpadding="0" cellspacing="0" style="display: inline;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                <tbody><tr>
                                                    <td valign="top" style="padding-right: 10px;padding-bottom: 9px;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" class="mcnFollowContentItemContainer">
                                                        <table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnFollowContentItem" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                            <tbody><tr>
                                                                <td align="left" valign="middle" style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 9px;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                                    <table align="left" border="0" cellpadding="0" cellspacing="0" width="" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                                        <tbody><tr>

                                                                            <td align="center" valign="middle" width="24" class="mcnFollowIconContent" style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                                                <a href="http://www.facebook.com" target="_blank" style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"><img src="http://cdn-images.mailchimp.com/icons/social-block-v2/color-facebook-48.png" style="display: block;border: 0;height: auto;outline: none;text-decoration: none;-ms-interpolation-mode: bicubic;" height="24" width="24" class=""></a>
                                                                            </td>
                                                                            
                                                                            
                                                                        </tr>
                                                                    </tbody></table>
                                                                </td>
                                                            </tr>
                                                        </tbody></table>
                                                    </td>
                                                </tr>
                                            </tbody></table>

                                        <!--[if mso]>
                                        </td>
                                        <![endif]-->

                                        <!--[if mso]>
                                        <td align="center" valign="top">
                                            <![endif]-->


                                            <table align="left" border="0" cellpadding="0" cellspacing="0" style="display: inline;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                <tbody><tr>
                                                    <td valign="top" style="padding-right: 0;padding-bottom: 9px;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" class="mcnFollowContentItemContainer">
                                                        <table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnFollowContentItem" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                            <tbody><tr>
                                                                <td align="left" valign="middle" style="padding-top: 5px;padding-right: 10px;padding-bottom: 5px;padding-left: 9px;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                                    <table align="left" border="0" cellpadding="0" cellspacing="0" width="" style="border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                                        <tbody><tr>

                                                                            <td align="center" valign="middle" width="24" class="mcnFollowIconContent" style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                                                                                <a href="http://mailchimp.com" target="_blank" style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;"><img src="http://cdn-images.mailchimp.com/icons/social-block-v2/color-link-48.png" style="display: block;border: 0;height: auto;outline: none;text-decoration: none;-ms-interpolation-mode: bicubic;" height="24" width="24" class=""></a>
                                                                            </td>
                                                                            
                                                                            
                                                                        </tr>
                                                                    </tbody></table>
                                                                </td>
                                                            </tr>
                                                        </tbody></table>
                                                    </td>
                                                </tr>
                                            </tbody></table>

                                        <!--[if mso]>
                                        </td>
                                        <![endif]-->

                                    <!--[if mso]>
                                    </tr>
                                    </table>
                                    <![endif]-->
                                </td>
                            </tr>
                        </tbody></table>
                    </td>
                </tr>
            </tbody></table>
        </td>
    </tr>
</tbody></table>

</td>
</tr>
</tbody>
</table><table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnDividerBlock" style="min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;table-layout: fixed !important;">
<tbody class="mcnDividerBlockOuter">
    <tr>
        <td class="mcnDividerBlockInner" style="min-width: 100%;padding: 10px 18px 25px;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
            <table class="mcnDividerContent" border="0" cellpadding="0" cellspacing="0" width="100%" style="min-width: 100%;border-top-width: 2px;border-top-style: solid;border-top-color: #EEEEEE;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                <tbody><tr>
                    <td style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
                        <span></span>
                    </td>
                </tr>
            </tbody></table>
<!--            
                <td class="mcnDividerBlockInner" style="padding: 18px;">
                <hr class="mcnDividerContent" style="border-bottom-color:none; border-left-color:none; border-right-color:none; border-bottom-width:0; border-left-width:0; border-right-width:0; margin-top:0; margin-right:0; margin-bottom:0; margin-left:0;" />
            -->
        </td>
    </tr>
</tbody>
</table><table border="0" cellpadding="0" cellspacing="0" width="100%" class="mcnTextBlock" style="min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">
<tbody class="mcnTextBlockOuter">
    <tr>
        <td valign="top" class="mcnTextBlockInner" style="mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;">

            <table align="left" border="0" cellpadding="0" cellspacing="0" width="100%" style="min-width: 100%;border-collapse: collapse;mso-table-lspace: 0pt;mso-table-rspace: 0pt;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;" class="mcnTextContentContainer">
                <tbody><tr>

                    <td valign="top" class="mcnTextContent" style="padding-top: 9px;padding-right: 18px;padding-bottom: 9px;padding-left: 18px;mso-line-height-rule: exactly;-ms-text-size-adjust: 100%;-webkit-text-size-adjust: 100%;word-break: break-word;color: #656565;font-family: Helvetica;font-size: 12px;line-height: 150%;text-align: center;">

                        <em>Copyright &copy; *|CURRENT_YEAR|* *|LIST:COMPANY|*, All rights reserved.</em>
                        <br>
                        <br>
                        <br>

                    </td>
                </tr>
            </tbody></table>

        </td>
    </tr>
</tbody>
</table></td>
</tr>
</tbody></table>
						<!--[if gte mso 9]>
						</td>
						</tr>
						</table>
						<![endif]-->
                        <!-- // END TEMPLATE -->
                    </td>

Para usar o módulo, instancia-se desta forma

            Email _email = new Email(ApplicationType.Web);
            string defaultHtml = _email.HTML_CONFIRMATION;
            string body = defaultHtml
                .Replace("*|EMAIL_PREVIEW|*", "This is a Simple Email")
                .Replace("*|HEADER|*", "Simple Email Website")
                .Replace("*|FIRSTPARAGRAPH|*", "The message below has been customized")
                .Replace("*|SECONDPARAGRAPH|*", Message)
                .Replace("*|WEBSITE_URL|*", Request.Url.ToString())
                .Replace("*|WEBSITE_NAME|*", _email.WEBSITE_NAME)
                .Replace("*|CURRENT_YEAR|*", DateTime.Now.Year.ToString());


            _email.SendMail(EmailType.Confirmation, true, body, Email);

Basicamente, está criado um módulo que pode ser reusado em outros projetos, sem o horrendo copy/paste. Claro, melhorias sempre podem ser feitas, por isso o projeto é open source e pode ser baixado do Github.

Para testar a funcionalidade, recomendo usar Smtp4Dev que é bastante prático e não requer nem instalação.

A desilusão do amor romântico versus verdadeiro amor de Cristo

Amor é uma escolha

A desilusão do amor romântico versus verdadeiro amor de Cristo

Estando divorciado há quase quatro anos, frequentemente me perguntam por que me tornei tão exigente quando ao quesito de namoro e relacionamento romântico e afetivo. E quando explico o motivo, automaticamente me questionam se tenho esperança de algum dia encontrar alguém e casar novamente.

A verdade é que ainda tenho esperança de encontrar, mas já aceite a possibilidade que nunca encontrarei.

E por que me tornei tão exigente? Por que minha desilusão no casamento me deixou sem esperança de algum dia encontrar alguém que me faça feliz?

Após ponderar sobre as possíveis respostas, acredito finalmente ter encontrado um meio de explicar de forma clara e simples, usando exemplos que todos conhecemos.

Quando penso no amor de Cristo, no verdadeiro amor, que é caridoso, não pensa mal, que deseja o bem e se sacrifica para promover o bem daqueles que amamos, imediatamente me sinto comovido e me lembro do amor que sinto pela minha filha, Mellanie.

Desde o momento que o pânico inicial de ser pai pela primeira vez desapareceu, aprendi a ter um amor cada vez maior por ela. Percebi que o verdadeiro amor é aquele experimentado entre pais e filhos (considerando um mundo ideal).

O amor que ela demonstra sempre, indiferente do momento ou local. Indiferente de outras pessoas estarem olhando.

Amor nas pequenas coisas, como quando ela fazia “samba” chutando a barriga da mãe sempre que ouvia minha voz (e a mãe reclamava porque ela só chutava comigo).

Quando a carreguei no colo a primeira vez, e todas as vezes que estivemos com ela na UTI infantil (nasceu 5 semanas prematura) enquanto ela estava em observação por 9 dias.

Todas as noites que eu acordava para amamenta-la pois ela nunca havia conseguido amamentar no peito por causa dos 9 dias na UTI e só mamava por tubo. Lembro de ter o cuidado de aquecer o leite de peito que tirávamos e congelávamos, e de segura-la no colo enquanto ela mamava na mamadeira.

Lembro de quando ela se engasgou ao cair de uma cadeira e não conseguia respirar e, estando sozinho em casa com ela, fiquei grato de, enquanto jovem, ter aprendido a manobra de Heimlich e conseguido ajudá-la a cuspir o pedaço de salsicha.

Lembro com carinho de quando ela me abraçou e me disse “Pensei que nunca mais ia ver você, papai”. Após o divórcio, a mãe sumiu com ela para se vingar de eu não agir do jeito que ela queria.

Nessa época, do divórcio, comecei a observar com ainda mais cuidado os pequenos momentos e amostras de amor que recebia de minha filha, e prestei atenção em como eu me sentia, e como eu agia com ela.

Cheguei ao ponto de orar a Deus, com todo meu coração, oferecendo minha vida – aceitando que se fosse o melhor, que Ele tirasse minha vida, para que minha filha fosse feliz. Ao meu ver, o que a mãe dela estava fazendo durante o divórcio estava me matando aos poucos, usando minha filha para me afetar.

A resposta de Deus foi impossível de interpretar errado “Não quero que morra por ela, quero que VIVA por ela”! Existe uma diferença incrível entre ser capaz de dar a vida por alguém, e viver a vida por alguém. Morrer é um fato único, isolado, exige um sacrifício extremo. No entanto, exige que seja feito somente uma vez. Viver por alguém exige esforço e disciplina diários. Exige um desejo de amago de amar, respeitar, sacrificar e estar fora da zona de conforto.

O verdadeiro amor exige que alguém viva sempre dedicando seus atos, pensamentos e intenções pelo bem da pessoa que se ama.

O amor verdadeiro não impõe condições. Ele deseja que aquele que amamos cresça, evolua, se desenvolva, e seja plenamente feliz. Ao mesmo tempo, esse amor entende o arbítrio, que não controla, manipula, induz ou mesmo maltratada.

O amor diário exige muito mais do que o sacrifício de morte.

Esse é o verdadeiro amor de Cristo, o amor que pais e filhos compartilham. Um amor sem segundas intenções, sem interesse egoísta ou instrumentalista. Um amor que nunca racionaliza ou justifica falhas. É um amor que está sempre se humilhando e pedindo perdão. Que repreende com ternura, mas que demostra amor maior, para que não sinta ser inimigo. Que se comove de compaixão, mas não se cega com necessidades secundárias. Um amor que escolhe ser eterno.

Em quantos relacionamentos de casal se encontra o verdadeiro amor de Cristo? O verdadeiro amor como o que existe entre pais e filhos? Claro, não se pode esperar que um casal se comporte como pai e filho, mas a fundação do amor é a mesma. A atração física e afetividade romântica complementam, mas não são a base do amor.

Já comecei alguns relacionamentos que acabaram no momento em que percebi ciúmes ou sentimentos negativos em relação à minha filha. Minha filha foi a melhor dádiva, a melhor coisa que já fiz na vida. Como que alguém pode esperar que eu trate minha filha com menos amor, para que eu possa ter um relacionamento com outrem?

Quando as pessoas adentram relacionamentos, na maioria das vezes buscam suprir algum desejo ou necessidade egoísta e irrelevante. Seja por futilidade, por superficialidade, por represália contra parceiros do passado, para fugir de situações de abuso – seja moral, física ou mental.

A maioria das pessoas entram em relacionamentos sem ter a mínima noção do que é o amor. Pensam que a paixão é suficiente para estar com alguém.

O amor de Cristo exige muito mais do que mera satisfação pessoal. Exige preparação, desejo, disciplina, esforço, disponibilidade em estar sempre fora da zona de conforto.

Quantos relacionamentos hoje em dia tem esse tipo de amor? Vejo frequentemente casais que estão sempre com semblante mal-humorado. Algo está profundamente errado em seu relacionamento. Algo está faltando em sua capacidade de amar.

Quando ambos doam 100% de si para aqueles que amam, e vice-versa, o resultado da soma sempre se aproxima de 100% (talvez 90% quando outros problemas afetam a família). Mas ninguém se sente rejeitado, usado, ignorado ou sozinho.

Ainda tenho esperança em encontrar alguém? Sim, a esperança permanece, como minha esperança que Cristo me ajudará a superar minhas fraquezas e as tornará em fortalezas (Eter 12:27). A esperança sempre vai fazer parte do verdadeiro amor de Cristo.

E por que me tornei tão exigente? Por que minha desilusão no casamento me deixou sem esperança de algum dia encontrar alguém que me faça feliz?

Esse mesmo amor que compartilho com minha filha, foi o amor que dediquei durante meus 6 anos de casado. Percebi que serei capaz de fazer alguém feliz, porque aprendi a amar. O problema é encontrar alguém que também saiba amar!

Encontrar alguém não depende simplesmente de achar uma pessoa. Mas encontrar uma pessoa que esteja disposta a crescer junto, chorar junto, sofrer junto, sacrificar junto, a ser membro da equipe que se chama família.

A desilusão do amor romântico versus verdadeiro amor de Cristo

Leitura relacionada:

Como escolher o parceiro ideal
Me dê o que eu quero, não o que preciso!
Como ter um relacionamento duradouro

 

Alerta não Intrusivo

Como criar um Alerta Não Intrusivo

Veja como é fácil criar um alerta não Intrusivo, com algumas poucas linhas de código, criar um alerta que não atrapalha o usuário, e pode ser atualizado de várias formas. Neste exemplo, estou usando um arquivo javascript que contém os alertas (veja abaixo).

  1. Copie o Html que é bastante simples
  2. Copie o CSS que já está bastante completo, mas fique a vontade em modificar
  3. Copie o jQuery (que também pode ser modificado)
  4. Se quiser usar o método de alertas deste demo, copie os alertas
  5. Ou baixe o demo completo em zip

Para este demo, foram usados os seguintes recursos:

 

Veja em ação no demo

Html


<div id="alert">

<div id="close-alert">X</div>

        <span>
            <i class='fa fa-2x' id="alert-icon"></i>
        </span>
        <span id="alert-message"></span>
    </div>

CSS

 #alert {
     z-index: 999;
     position: fixed;
     left: 0;
     width: 100%;
     height: 60px;
     text-align: center;
     padding: 12px 0 30px 0;
     background-color: #000;
     opacity: 0.6;
     color: #fff;
     text-shadow: 0 0 2px #ccc;
     bottom: 0px;
     /*Mude aqui para definir se o 
     alerta vai ser encima ou no rodape; 
     use bottom para rodapé e top para cabeçalho*/
 }
 #alert #close-alert {
     border: 1px solid #000;
     position: absolute;
     right: 0px;
     top: 0;
     color: #fff;
     width: 32px;
     height: 32px;
     line-height: 32px;
     transition: all 0.2s ease;
     cursor: pointer;
 }
 #alert #close-alert:hover {
     background-color: #980000;
     border: 1px solid #fff;
 }
 #alert span {
     max-width: 80%;
 }
 #alert-icon{
     padding-right: 15px
 }
 #alert #alert-message a, #alert #alert-message a:visited{
    color:#c2c2c2;
    font-weight: 800;
    text-decoration: none;
    transition: all 0.2s ease-in;
}
#alert #alert-message a:hover{
    color:#fff;
    text-shadow:0 0 3px #ccc;
}

jQuery

$(function () {

  Rollnews(); //inicia a rolagem de alertas
  
  $("#close-alert").click(function(){
    $("#alert").fadeOut(); //fecha o alerta
  });

});
//Rolagem de alertas
function Rollnews(){
  var i=0;
  $("#alert-icon").addClass(news[i].icon);
  $("#alert-message").html(news[i].text);
  $("#alert-icon,#alert-message").fadeIn();
  setInterval(function(){
    var previous = i;
    i++;
    if(i>news.length-1){
      i = 0;
    }
    $("#alert-icon").removeClass(news[previous].icon).addClass(news[i].icon);
    $("#alert-message").html(news[i].text);
  },3*1000);
}

Alertas

var news = [
        {    
    text : "Este é o primeiro alerta com um &lt;a href='http://www.zueuz.com.br' target='_blank'&gt;Link&lt;/a&gt;", 
    icon : "fa-info-circle"
        },
        {
    text : "Este é o segundo alerta, com outra mensagem qualquer",
    icon : "fa-exclamation-circle"
        },
        {
    text : "Ainda mais um alerta, que pode ser uma mensagem, uma imagem, ou um tweet (tweets necessitam de outro plugin)",
    icon : "fa-bell-o"
        }];

Breve divagação sobre o propósito da vida

Breve divagação sobre o propósito da vida

Breve divagação sobre o propósito da vida

Nesta breve divagação sobre o propósito da vida, a ciência afirma que 1 ano para nós seres humanos, são 7 anos para um animal como cachorro ou gato. Mudanças celulares acontecem e horas e vírus se espalham por todo um corpo entre 6 a 12 horas.

A teoria da relatividade afirma que após o horizonte de eventos, o tempo passa tão devagar que basicamente para para quem está lá dentro (presumindo que não sejam sugados para dentro do buraco e obliterados)

A Bíblia diz que os deuses criaram a terra em 7 dias…

E SE, nós, seres humanos somos realmente pequenos organismos, como pequenas células, e somos observados com “microscópios” por seres muito maiores?

E SE nosso universo é realmente uma “esfera de vidro” criada como uma aventura cientifica, um tubo de ensaio para obtenção de resultados ainda não alcançados?

E SE vivemos realmente num MATRIX, em que nossos espíritos são projetos até esses corpos infinitesimalmente menores que nossos “reais personagens”, para que possamos vivenciar e experimentar o que é sermos tão pequenos, sem valor, e dispensáveis?

Quem é que tem medo, o espírito ou corpo físico que, quando encara a realidade de morrer e voltar ao pó, ao nada de onde veio, se agarra ao espirito de tal forma que se o espírito não estiver preparado acaba se desatinando e acaba por ficar totalmente confuso quando se desliga do corpo?

Espiritualismo diz que a alma não tem idade, talvez porque não sejamos capazes de contar com nossos anos humanos o tempo que o espirito é capaz de viver.

Talvez o corpo humano seja realmente um “carro” que o espirito dirige durante essa existência passageira e rápida, somente para saber como é a experiencia. Alguém pode dirigir o carro, mas isso não o transforma no objeto carro.

Talvez a filosofia vem tentando encontrar equilíbrio entre o invisível, observável e o almejado. A ciência se contentou em se manter no visível, observável e contabilizado. A ciência se orgulha do imperativo, do objetivo, provocando seu próprio colapso do observador.

A filosofia, desde Sócrates, permanece a mesma, como um caminho que abre os olhos daquele que contempla de forma a se DESPROGRAMAR dos dogmas e doutrinas impregnadas NESTE CORPO, NESTE MEIO, NESTE TUBO DE ENSAIO, como um verdadeiro teste de sobrevivência da alma!

Honrar o Sacerdócio Aarônico e Melquisedeque

Honrar o Sacerdócio Aarônico e Melquisedeque

Repetidamente ouvimos discursos e aulas sobre o tema de honrar o sacerdócio aarônico e de Melquisedeque. O sacerdócio não é novo, temos registros sobre ordenanças do sacerdócio desde os escritos Bíblicos:

“e os ungirás como ungiste a seu pai, para que me administrem o sacerdócio; e a sua unção lhes será por sacerdócio perpétuo nas suas gerações.”

Êxodo 40:15

Reconhecemos através dos registros bíblicos e até mesmo por manifestações contemporâneas que o poder de Deus foi dividido em dois principais ofícios: Aarônico e Melquisedeque.

Dentro do ofício Aarônico temos 4 outros ofícios:

Diácono = homens com pelo menos 12 anos de idade, que distribuem o sacramento todos os domingos aos membros e também zelam pelos edifícios da igreja.

Mestres = homens com pelo menos 14 anos de idade, acumulam as funções dos diáconos, preparam o sacramento e auxiliam no ensino familiar como mestres familiares.

Sacerdotes = homens com pelo menos 16 anos de idade, acumulam as funções dos ofícios anteriores, abençoa o sacramento e tem autoridade para batizar, ordenar outros diáconos, mestres e sacerdotes. Também pode assumir liderança quando não houver nenhum membro com sacerdócio de Melquisedeque.

Bispo = preside o sacerdócio Aaronico da ala. É presidente do quórum de sacerdotes, lida com assuntos de ordem material, como administração de finanças e registros e cuidados com os pobres e necessitados. Um bispo também é um sumo sacerdote para presidir sobre os membros da ala. É um juiz em Israel, entrevistas os membros para que recebam recomendações para o templo, ordenações no sacerdócio e sejam atendidos em suas necessidades. É o seu direito ter o dom do discernimento.

No ofício do sacerdócio de Melquisedeque há 5 funções:

Élder = ensinam, exortam (convidam a cumprir), expõe (mostra) a doutrina, batizam e zelam pela igreja. Possuem autoridade para conceder o dom do Espírito Santo. Administram aos doentes, abençoam crianças, e presidem quando não há outro líder sumo sacerdote.

Sumo Sacerdote = oficiam os assuntos espirituais além de acumularem todas as funções anteriores. Presidentes de estaca, presidentes de missão, sumo conselheiros, bispos e outros líderes são sumo sacerdotes.

Patriarca = ordenados para concederem bênçãos patriarcais aos membros.

Setentas = são testemunhas especiais de Cristo e ajudam na edificação e direção da igreja no mundo, sob direção da Primeira Presidência e Doze Apóstolos.

Apóstolos = testemunhas especiais do nome de Cristo, administram a igreja em âmbito mundial. Cada um tem chaves do reino de Deus na terra, mas o apóstolo chamado como profeta exerce todas as chaves. Os outros apóstolos agem sob sua direção.

Sabendo da organização do sacerdócio na terra, qual é a função dele em nossas vidas?

O Presidente Howard W. Hunter teve uma única oportunidade de discursar em uma reunião geral do sacerdócio enquanto Presidente da Igreja. Naquela ocasião, em outubro de 1994, seu discurso intitulou-se “Sede Pais e Maridos Justos”. Nesse sermão magistral, ele enumerou vários padrões e expectativas para todos os portadores do Sacerdócio de Melquisedeque. […] “O portador do sacerdócio respeita a família”, disse o Presidente Hunter, “como Deus ordenou. Liderá-la é nossa responsabilidade mais sagrada e mais importante. A família é a unidade mais valiosa desta vida e da eternidade e, como tal, transcende todos os outros interesses”. (“Sede Pais e Maridos Justos”, A Liahona, janeiro de 1995, pp. 53­55)

O Presidente Harold B. Lee disse: “O mais importante trabalho do Senhor que poderemos realizar é o efetuado entre as paredes do próprio lar”. (Stand Ye in Holy Places, [1974], p. 255). Precisamos fazer uma auto-avaliação honesta e profunda. Será que estamos ensinando e guiando nossa família no evangelho ou estaríamos deixando essa responsabilidade para outras pessoas? A fim de conduzir a família, precisamos reordenar nossas prioridades de modo a encontrar o tempo necessário. Tempo em quantidade e de qualidade são essenciais.

O Presidente Hunter também nos lembrou: “O portador do sacerdócio lidera o envolvimento da família na Igreja para que aprendam o evangelho e estejam sob a proteção dos convênios e ordenanças”. (“Sede Pais e Maridos Justos”, A Liahona, janeiro de 1995, p. 55) Para conseguirmos, não podemos deixar de pôr certas coisas em ordem em nossa vida pessoal. A hipocrisia jamais rendeu frutos, tampouco o fará hoje. Espera-se que lideremos em retidão e incentivemos nossa família a seguir nosso exemplo. Dirijam a noite familiar e o estudo das escrituras. Dêem bênçãos do sacerdócio. Dirijam a oração familiar e pessoal. O Presidente Monson declarou: “Lembrem que um homem nunca fica tão alto como quando está de joelhos”. (in Conference Report, abril de 1964, p. 130)

Mencionado por H. David Burton na Conferência Geral de Abril 2000

O sarcasmo, também conhecido como humor seco, é um dos hábitos mais destruidores dentro de qualquer relacionamento:

A raiz grega da palavra sarcasmo é sarkazein e significa “arrancar pele como cachorros”. Em dicionários é possível encontrar a definição de sarcasmos como ironia designada a “causar dor”. Sarcasmo tem muitos usos em nossa comunicação: pode expressar agressão e insulto e pode ser usada para dominar os outros, comunicar irritação ou raiva.
Honrar o sacerdócio é mais do que cumprir nossas tarefas semanais da igreja. No lar, significa sempre estarmos dispostos a vivermos fora de nossa “zona de conforto”.

O presidente Henry B. Eyring, primeiro conselheiro na presidência da igreja, na Conferência Geral de Abril 2012, nos deu quatro conselhos muito importantes:

Primeiro, adquiram e conservem um testemunho seguro de que as chaves do sacerdócio estão conosco e que o presidente da Igreja as possui. Orem por isso todos os dias. A resposta virá acompanhada de uma maior determinação de liderar sua família, de sentimentos de esperança e de maior felicidade em seu serviço. Vocês se tornarão mais alegres e otimistas: uma grande bênção para sua esposa e sua família.

A segunda coisa essencial é amar sua esposa. Será preciso fé e humildade para colocar os interesses dela acima dos seus próprios nos desafios da vida. Vocês têm a responsabilidade de prover e de, com ela, nutrir a família, ao mesmo tempo que prestam serviço ao próximo. Isso, às vezes, pode consumir toda a energia e as forças que vocês têm. A idade e a doença podem aumentar as necessidades de sua esposa. Se decidirem mesmo colocar a felicidade dela acima da sua própria, prometo que seu amor por ela vai aumentar.

Terceiro, conclamem a família inteira a amar uns aos outros. O Presidente Ezra Taft Benson ensinou:

“Num sentido eterno, a salvação é uma questão de família. (…)

Acima de tudo, os filhos precisam saber e sentir que são amados, queridos e valorizados. Precisam ter certeza disso sempre. Obviamente, esse é um papel que os pais devem desempenhar. E com mais frequência é a mãe que consegue fazer isso melhor”.

Mas outra fonte essencial desse sentimento de ser amado é o amor entre os filhos. O constante cuidado dos irmãos e das irmãs uns pelos outros só vem depois de esforço persistente dos pais, com a ajuda de Deus. Vocês sabem que isso é verdade pelo que vivenciaram em sua própria família. E isso se confirma toda vez que leem sobre os conflitos familiares enfrentados pelo justo Leí e sua esposa Saria, no Livro de Mórmon.

Na igreja, uma das maneiras mais importantes que podemos honrar o sacerdócio é apoiando nossos líderes. Jamais procuramos nos enaltecer, criticar nossos líderes, criamos disputas, fofocas, ou mesmo rebeliões secretas.

No Manual dos Ensinamentos dos Presidentes da Igreja, especificamente no de Joseph Fielding Smith, lemos sobre um caso envolvendo Joseph Fielding Smith, na época apóstolo e o então presidente da igreja Heber J. Grant:

A certa altura, quando Joseph Fielding Smith era apóstolo, a Primeira Presidência e o Quórum dos Doze Apóstolos estavam engajados na discussão de uma questão difícil. O Élder Smith expressara seu ponto de vista quanto ao assunto com muita veemência. Um dia, o Presidente Heber J. Grant, que era o Presidente da Igreja na época, foi ao escritório do Élder Smith. O Presidente Grant disse que, depois de considerar a questão em espírito de oração, foi inspirado a recomendar medidas em desacordo com o ponto de vista do Élder Smith. Imediatamente o Élder Smith apoiou a decisão do Presidente Grant. Mais tarde, ele declarou: “Na minha opinião, quando o Presidente da Igreja diz que o Senhor Se manifestou a ele ou inspirou-o a fazer algo, eu apoiarei plenamente o que ele fizer”

Se estivermos com dificuldade com o chamado de algum líder atual, temos a opção de pedir auxílio do Senhor. Se orarmos com sinceridade, receberemos uma das possíveis respostas:
  • Meu filho, esse homem chamado por homens, está aí para te auxiliar no seu crescimento de paz, honra e fé. Apoie-o.
  • Meu filho, esse homem foi chamado por mim, seja humilde e aceite seus conselhos. E mesmo que ele pareça incapaz do chamado que possui, EU o mostrarei o caminho.

Nunca irá haver motivo na Igreja de Cristo para contendas, afinal somos Santos dos Últimos Dias.

 

Referencias