示例#1
0
        public static br.com.devdream.encurtador.vo.Url Obter(string chave)
        {
            vo.Url resultado = new vo.Url();

            resultado = dao.Url.ObterPorChave(chave);

            return(resultado);
        }
示例#2
0
        public static void Obter()
        {
            vo.Url urlEsperada = new vo.Url()
            {
                Chave       = "aaaa",
                Encurtada   = "http://localhost:56778/aaaa",
                Ip          = "",
                Original    = "http://www.google.com.br/search?sourceid=chrome&ie=UTF-8&q=oscar+casagrande",
                DataCriacao = new DateTime(2012, 6, 4, 16, 40, 40)
            };
            vo.Url urlGerada = new vo.Url();
            urlGerada = bo.Url.Obter("aaaa");

            TesteHelper.PropertyValuesAreEquals(urlEsperada, urlGerada);
        }
示例#3
0
        public static void Criar(vo.Url url, string ip)
        {
            Database database = Banco.ObterBancoDeDados();

            DbCommand command = database.GetStoredProcCommand("procAcesso_criar");

            database.AddInParameter(command, "chave", DbType.String, url.Chave);
            database.AddInParameter(command, "ip", DbType.String, ip);
            try
            {
                database.ExecuteNonQuery(command);
            }
            catch
            { }
        }
示例#4
0
        public static bool Criar(vo.Url url)
        {
            bool resultado = false;

            Database database = Banco.ObterBancoDeDados();

            DbCommand command = database.GetStoredProcCommand("procUrl_criar");

            database.AddInParameter(command, "chave", DbType.String, url.Chave);
            database.AddInParameter(command, "endereco", DbType.String, url.Original);
            database.AddInParameter(command, "ip", DbType.String, url.Ip);

            if (database.ExecuteNonQuery(command) > 0)
            {
                resultado = true;
            }

            return(resultado);
        }
示例#5
0
        public static string Criar(string endereco, string ip)
        {
            string resultado = string.Empty;

            bool enderecoValido = false;

            enderecoValido = ValidarEndereco(endereco);
            if (enderecoValido)
            {
                try
                {
                    if (Existe(endereco) == false)
                    {
                        string urlEncurtada = ObterChaveEncurtar();

                        vo.Url url = new vo.Url()
                        {
                            Chave     = urlEncurtada,
                            Original  = endereco,
                            Encurtada = urlEncurtada,
                            Ip        = ip
                        };

                        if (br.com.devdream.encurtador.dao.Url.Criar(url))
                        {
                            resultado = urlEncurtada;
                        }
                    }
                    else
                    {
                        vo.Url url = dao.Url.ObterPorEndereco(endereco);
                        resultado = url.Encurtada;
                    }
                }
                catch (Exception ex)
                {
                    throw new Exception("Ocorreu um erro ao criar a URL", ex.InnerException);
                }
            }
            return(resultado.Replace("http://localhost:56778/", ""));
        }
示例#6
0
        public static bool Existe(string endereco)
        {
            bool resultado = false;

            try
            {
                vo.Url url = new vo.Url();
                url = br.com.devdream.encurtador.dao.Url.ObterPorEndereco(endereco);

                if (url.Chave != string.Empty)
                {
                    resultado = true;
                }
            }
            catch (Exception ex)
            {
                throw new Exception("Ocorreu m erro ao consultar a URL", ex.InnerException);
            }

            return(resultado);
        }
示例#7
0
        public static vo.Url ObterPorEndereco(string endereco)
        {
            vo.Url resultado = new vo.Url();

            Database database = Banco.ObterBancoDeDados();

            DbCommand command = database.GetStoredProcCommand("procUrlEndereco_Ler");

            database.AddInParameter(command, "endereco", DbType.String, endereco);

            using (IDataReader reader = database.ExecuteReader(command))
            {
                if (reader.Read())
                {
                    resultado.Chave       = Convert.ToString(reader["chave"]);
                    resultado.Encurtada   = Convert.ToString(reader["chave"]);
                    resultado.Original    = Convert.ToString(reader["endereco"]);
                    resultado.DataCriacao = Convert.ToDateTime(Convert.ToString(reader["dataCriacao"]));
                }
            }

            return(resultado);
        }
示例#8
0
 public static void ContabilizarAcesso(vo.Url url, string ip)
 {
     dao.Acesso.Criar(url, ip);
 }