// <param name = "idususario" ></ param >
        // <returns></returns>

        public ActionResult RecuperaSenha(int idususario, string code)
        {
            usuario usr = db.usuario.Find(idususario);

            if (usr == null)
            {
                return(HttpNotFound());
            }

            usuario_grupo ug = db.usuario_grupo.Where(
                p => p.id_grupo.Equals(4)
                ).Where(x => x.id_usuario.Equals(usr.id_usuario)).FirstOrDefault();

            if (ug == null)
            {
                TempData["Error"] = "Usuário sem solicitacao de troca de senha!";

                return(RedirectToAction("Login", "Account"));
            }

            rec r = db.rec.Where(
                p => p.id_suario.Equals(usr.id_usuario)
                ).Where(x => x.str.Equals(code)).FirstOrDefault();

            if (r == null)
            {
                TempData["Error"] = "Código de verificação inválido!";

                return(RedirectToAction("Login", "Account"));
            }


            usr.senha = null;
            return(View(usr));
        }
        public ActionResult EditarSenha()
        {
            int           id = Int32.Parse(Request.Form["id_usuario"]);
            usuario_grupo ug = db.usuario_grupo.Where(
                p => p.id_grupo.Equals(4)
                ).Where(x => x.id_usuario.Equals(id)).FirstOrDefault();



            if (ug == null)
            {
                return(HttpNotFound());
            }
            usuario u = db.usuario.Find(id);

            u.senha = Criptografia.Codifica(Request.Form["senha"]);
            db.SaveChanges();

            rec r = db.rec.Where(
                p => p.id_suario.Equals(u.id_usuario)
                ).FirstOrDefault();

            while (r != null)
            {
                db.rec.Remove(r);
                db.SaveChanges();
                r = db.rec.Where(
                    p => p.id_suario.Equals(u.id_usuario)
                    ).FirstOrDefault();
            }
            db.usuario_grupo.Remove(ug);


            return(RedirectToAction("Login", "Account"));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            usuario_grupo usuario_grupo = db.usuario_grupo.Find(id);

            db.usuario_grupo.Remove(usuario_grupo);
            db.SaveChanges();
            return(RedirectToAction("Index"));
        }
 public ActionResult Edit([Bind(Include = "seq,id_usuario,id_grupo")] usuario_grupo usuario_grupo)
 {
     if (ModelState.IsValid)
     {
         db.Entry(usuario_grupo).State = EntityState.Modified;
         db.SaveChanges();
         return(RedirectToAction("Index"));
     }
     ViewBag.id_grupo   = new SelectList(db.grupo, "id_grupo", "nome_grupo", usuario_grupo.id_grupo);
     ViewBag.id_usuario = new SelectList(db.usuario, "id_usuario", "login_usuario", usuario_grupo.id_usuario);
     return(View(usuario_grupo));
 }
        public ActionResult Details(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            usuario_grupo usuario_grupo = db.usuario_grupo.Find(id);

            if (usuario_grupo == null)
            {
                return(HttpNotFound());
            }
            return(View(usuario_grupo));
        }
        public ActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            usuario_grupo usuario_grupo = db.usuario_grupo.Find(id);

            if (usuario_grupo == null)
            {
                return(HttpNotFound());
            }
            ViewBag.id_grupo   = new SelectList(db.grupo, "id_grupo", "nome_grupo", usuario_grupo.id_grupo);
            ViewBag.id_usuario = new SelectList(db.usuario, "id_usuario", "login_usuario", usuario_grupo.id_usuario);
            return(View(usuario_grupo));
        }
        public ActionResult EnviaEmail()
        {
            string emailDigitado = Request.Form["pessoa.email"];

            pessoa p1 = db.pessoa.Where(
                p => p.email.Equals(emailDigitado)).FirstOrDefault();

            if (p1 == null)
            {
                ModelState.AddModelError("Error", "Email não encontrado");
                return(RedirectToAction("Login", "Account"));
            }
            usuario vUser = db.usuario.Where(
                p => p.pessoa_id_pessoa.Equals(p1.id_pessoa)).FirstOrDefault();


            rec r2 = db.rec.Where(
                p => p.id_suario.Equals(vUser.id_usuario)
                ).FirstOrDefault();

            while (r2 != null)
            {
                db.rec.Remove(r2);
                db.SaveChanges();
                r2 = db.rec.Where(
                    p => p.id_suario.Equals(vUser.id_usuario)
                    ).FirstOrDefault();
            }

            rec r = new rec();

            r.id_suario = vUser.id_usuario;
            Random rnd = new Random();

            rnd.Next(100, 1000000);
            r.str = rnd.Next(100, 1000000).ToString();
            db.rec.Add(r);
            db.SaveChanges();


            MailMessage mail = new MailMessage();

            mail.To.Add(p1.email);
            mail.From    = new MailAddress("*****@*****.**");
            mail.Subject = "Passwor Recovery";
            string Body = "http://rodrigolucke-001-site1.itempurl.com//Account/RecuperaSenha?idususario=" + vUser.id_usuario + "&code=" + r.str;

            mail.Body = Body;
            SmtpClient smtp = new SmtpClient("smtp.gmail.com", 25);

            smtp.UseDefaultCredentials = false;
            smtp.EnableSsl             = true;
            smtp.Credentials           = new System.Net.NetworkCredential("*****@*****.**", "colegio.01");


            smtp.Send(mail);

            usuario_grupo ug2 = new usuario_grupo();

            ug2 = db.usuario_grupo.Where(
                p => p.id_usuario.Equals(vUser.id_usuario)
                ).Where(x => x.id_grupo.Equals(4)).FirstOrDefault();

            while (ug2 != null)
            {
                db.usuario_grupo.Remove(ug2);
                db.SaveChanges();
                ug2 = db.usuario_grupo.Where(
                    p => p.id_usuario.Equals(vUser.id_usuario))
                      .Where(x => x.id_grupo.Equals(4)).FirstOrDefault();
            }
            usuario_grupo ug = new usuario_grupo();

            ug.id_usuario = vUser.id_usuario;
            ug.id_grupo   = 4;
            db.usuario_grupo.Add(ug);

            db.SaveChanges();

            return(RedirectToAction("Login", "Account"));
        }