internal string Agendamentos()
        {
            var agendamentos = Get(Poco.IdLocal).ToList();
            var mensagem = string.Empty;

            if (agendamentos.Count > 0)
                mensagem = "<ul>";

            agendamentos.ForEach(delegate(PocoAgendamento a)
            {
                var periodo = a.DataDe.ToString("dd/MM/yyyy HH:mm") + " - " + a.DataAte.ToString("dd/MM/yyyy HH:mm");
                var pocoUsuario = new Usuario().Get(a.IdUsuario);

                //se estiver dentro do periodo, colocamos uma tag html para tornar o periodo negrito.
                if (DateTime.Now >= a.DataDe && DateTime.Now <= a.DataAte)
                    periodo = "<strong>" + periodo + "</strong>";

                //concatena o email com os horarios
                if (pocoUsuario.Id > 0)
                    periodo = "<li data-nome=\""+ pocoUsuario.Nome + "\">" + periodo + "</li>";

                mensagem += periodo;
            });

            if (agendamentos.Count > 0)
                return mensagem + "</ul>";
            else
                return "Não existem agendamentos nesse local";
        }
Exemple #2
0
        /*
        * Metodos staticos e publicos
        */
        public static bool ValidaHash(string emailExterna, string hashExterna)
        {
            var newUsuario = new Usuario();

            var oUsusario = newUsuario.Get(emailExterna);

            if (oUsusario != null)
            {
                var hashInterna = Util.GerarHashMd5(oUsusario.Email + oUsusario.Senha);

                if (hashInterna == hashExterna)
                {
                    return newUsuario.UpdateStatus(oUsusario.Id, 1);
                }
            }

            return false;
        }
        /*
        * Métodos com acesso via controller
        */
        internal bool Vincular(string email)
        {
            //verificando se o ID do usuário foi informado.
            if (string.IsNullOrEmpty(email))
            {
                Mensagem = "Estranho!!! Email do usuário parece não ter sido informado." + Util.Alerta;
                return false;
            }

            //verificando se o ID do local foi informado.
            if (IdLocal == 0)
            {
                Mensagem = "Estranho!!! Não conseguimos identificar o local." + Util.Alerta;
                return false;
            }

            var usuario = new Usuario().Get(email);

            if (usuario != null)
            {
                var cadastrado = Add(email, IdLocal);
                if (cadastrado)
                    Mensagem = "Usuário do email [" + email + "] foi adicionado ao local com sucesso";
                else
                    Mensagem = "Não foi possível vincular o usuário do email [" + email + "] a esse local, pode ser que ele já seja um usuário desse local. " + Util.Alerta;

                return cadastrado;
            }
            else {
                var conteudo = "Olá " + email + ", um dos nossos usuários está te convidando para utilizar o aplicativo " + Util.Config("App:Nome") + ". Para conhecer esse aplicativo, acesse " + Util.Config("Api:Url") + " ou <a href='" + Util.Config("Api:Url") + "' target='_blank'>clique aqui</a>. Caso já conheça o aplicativo " + Util.Config("App:Nome") + " e deseja instalar, você pode <a href='" + Util.Config("App:Url:GooglePlay") + "' target='_blank'>clicar aqui para baixar a versão do Android na Google Play</a> ou <a href='" + Util.Config("App:Url:AppleStore") + "' target='_blank'>clicar aqui para baixar a versão do iPhone na Apple Store</a>. Estamos te aguardando :)";

                Util.EnviaEmail(email, "Convite para download do aplicativo " + Util.Config("App:Nome") + ".", conteudo);

                Mensagem = "Não encontramos o email ["+email+"] em nossa base de dados, então enviamos um convite para esse email, com os links para download do aplicativo :D";

                return false;
            }
        }