How to check if the email is already registered in the database?

0

The Controller is always returning the error message when the email is registered in the database.

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "Id,Nome,Email,Senha")] Pessoas pessoas)
{
    if (pessoas != null)
    {
        var verificaemail = db.Pessoas.Where(w => w.Email == "Email").FirstOrDefault();
        if (verificaemail != null)
        {                                        
            db.Pessoas.Add(pessoas);
            db.SaveChanges();
            return RedirectToAction("Index");
        }
        else
        {
            ModelState.AddModelError("", "E-mail já cadastrado");
            return View();
        }
    }
    else
    {
        return View(pessoas);
    }  
}
    
asked by anonymous 26.10.2018 / 18:29

2 answers

4

You are comparing if the email is equal to the string "Email" while in fact you would see if it is what it contains in the person model in this way pessoas.Email

public ActionResult Create([Bind(Include = "Id,Nome,Email,Senha")] Pessoas pessoas)
{
    if (pessoas != null)
    {
        var verificaemail = db.Pessoas.Where(w => w.Email == pessoas.Email).FirstOrDefault();
        if (verificaemail != null)
        {                                        
            db.Pessoas.Add(pessoas);
            db.SaveChanges();
            return RedirectToAction("Index");
        }
        else
        {
            ModelState.AddModelError("", "E-mail já cadastrado");
            return View(pessoas);
        }
    }
    else
    {
        return View();
    }  
}
    
26.10.2018 / 18:35
3

That?

[HttpPost]
[ValidateAntiForgeryToken]
public ActionResult Create([Bind(Include = "Id,Nome,Email,Senha")] Pessoa pessoa) {
    if (pessoa != null) {
        if (db.Pessoas.Where(w => w.Email == pessoa.Email).FirstOrDefault() != null) {                                        
            db.Pessoas.Add(pessoa);
            db.SaveChanges();
            return RedirectToAction("Index");
        } else {
            ModelState.AddModelError("", "E-mail já cadastrado");
            return View();
        }
    } else return View(pessoa);
}
    
26.10.2018 / 18:34