Пример #1
0
        public ActionResult DeleteConfirmed(int id)
        {
            PesquisaWhois pesquisaWhois = db.Pesquisas.Find(id);

            db.Pesquisas.Remove(pesquisaWhois);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
Пример #2
0
 public ActionResult Edit([Bind(Include = "Id,Dominio,DataPesquisa,Registrado,DataRegistro,UltimaAlteracao,Expiracao,NomesServidores")] PesquisaWhois pesquisaWhois)
 {
     if (ModelState.IsValid)
     {
         db.Entry(pesquisaWhois).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     return(View(pesquisaWhois));
 }
Пример #3
0
        public ActionResult Create([Bind(Include = "Id,Dominio,DataPesquisa,Registrado,DataRegistro,UltimaAlteracao,Expiracao,NomesServidores")] PesquisaWhois pesquisaWhois)
        {
            if (ModelState.IsValid)
            {
                db.Pesquisas.Add(pesquisaWhois);
                db.SaveChanges();
                return(RedirectToAction("Index"));
            }

            return(View(pesquisaWhois));
        }
Пример #4
0
        // GET: PesquisaWhois/Edit/5
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            PesquisaWhois pesquisaWhois = db.Pesquisas.Find(id);

            if (pesquisaWhois == null)
            {
                return(HttpNotFound());
            }
            return(View(pesquisaWhois));
        }
Пример #5
0
        // GET: PesquisaWhois/Pesquisar
        public ActionResult Pesquisar(string dominio)
        {
            try {
                if (string.IsNullOrEmpty(dominio) || dominio.Trim().Length == 0)
                {
                    throw new Exception("Nada foi digitado");
                }
                dominio = dominio.ToLower();
                var pesquisas = db.Pesquisas.ToList();
                pesquisas = pesquisas.FindAll(pred => pred.Dominio == dominio);
                pesquisas.OrderBy(pred => pred.DataPesquisa.Ticks);
                if (pesquisas.Count > 0 && (DateTime.Now - pesquisas.Last().DataPesquisa).TotalHours < 1)
                {
                    throw new Exception("Não é possível pesquisar informações do mesmo domínio com intervalos menores de uma hora");
                }
                try {
                    var pesquisa = PesquisaWhois.FromDomain(dominio);
                    db.Pesquisas.Add(pesquisa);
                    db.SaveChanges();
                    return(RedirectToAction("Index", new { dominio = pesquisa.Dominio }));
                } catch (WebException e) {
                    if (e.Response == null)
                    {
                        switch (e.Status)
                        {
                        case WebExceptionStatus.NameResolutionFailure:
                            throw new Exception("Não foi possível estabelecer uma conexão ao jsonwhoisapi.com");

                        default:
                            throw e;
                        }
                    }
                    else
                    {
                        switch ((int)(e.Response as HttpWebResponse).StatusCode)
                        {
                        case 422:
                            throw new Exception("Domínio com formatação incorreta");

                        default:
                            throw e;
                        }
                    }
                }
            } catch (Exception e) {
                TempData["Error"]       = e.Message;
                TempData["NaoPesquisa"] = true;
                return(RedirectToAction("Index", new { dominio = dominio }));
            }
        }
Пример #6
0
 public ActionResult Pesquisar(string dominio)
 {
     if (string.IsNullOrEmpty(dominio))
     {
         return(View());
     }
     try {
         var pesquisa = PesquisaWhois.FromDomain(dominio);
         db.Pesquisas.Add(pesquisa);
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }catch (Exception e) {
         return(RedirectToAction("Pesquisar", new { error = e.Message }));
     }
 }