public ActionResult Delete(int?id)
        {
            if (id == null)
            {
                return(new HttpStatusCodeResult(HttpStatusCode.BadRequest));
            }
            vista_usuario_reclamo vista_usuario_reclamo = db.vista_usuario_reclamo.Find(id);

            if (vista_usuario_reclamo == null)
            {
                return(HttpNotFound());
            }
            return(View(vista_usuario_reclamo));
        }
        public ActionResult DeleteConfirmed(int id)
        {
            // si no comprobo su dni y se almaceno en una variable session vuelve al index a pedirle su dni
            if (System.Web.HttpContext.Current.Session["sessionStringDni"] as String == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            vista_usuario_reclamo vista_usuario_reclamo = db.vista_usuario_reclamo.Find(id);
            var idVista = vista_usuario_reclamo.id_vista;

            db.vista_usuario_reclamo.Remove(vista_usuario_reclamo);
            db.SaveChanges();
            return(RedirectToAction("Index", "vista_usuario_reclamo", new { id = idVista }));
        }
        public ActionResult Create([Bind(Include = "id_reclamo, descripcion")] reclamo reclamo,
                                   [Bind(Include = "id_usuario, id_vista")] vista_usuario_reclamo vista_usuario_reclamo)
        {
            // si no comprobo su dni y se almaceno en una variable session vuelve al index a pedirle su dni
            if (System.Web.HttpContext.Current.Session["sessionStringDni"] as String == null)
            {
                return(RedirectToAction("Index", "Home"));
            }
            if (ModelState.IsValid)
            {
                db.reclamo.Add(reclamo);
                db.SaveChanges();

                vista_usuario_reclamo.id_reclamo = reclamo.id_reclamo;
                vista_usuario_reclamo.fecha      = DateTime.Today;
                string idUser = User.Identity.GetUserId(); // get id del usuario actual // esta parte deberia ser automatica VER BIEN

                // obtener el mail del usuario local que escribio el reclamo
                propUser prop   = db.propUser.Where(a => a.fk_id_user.Contains(idUser)).First();
                string   mailTo = prop.mail;

                vista_usuario_reclamo.id_usuario = idUser;                // lo agrego al objeto

                var    idVista          = vista_usuario_reclamo.id_vista; // se obtiene el idVista actual para mandar link por mail
                string stringCuerpoMail = "Usuario: " + db.AspNetUsers.Find(idUser).UserName + "<br> Comentario: " + reclamo.descripcion + "<br> Fecha:" + vista_usuario_reclamo.fecha + "<br> IR: https://localhost:44300/vista_usuario_reclamo/Index/" + idVista;

                int vista = Convert.ToInt32(idVista);

                // reune todo en un string, todos los mails de los usuarios que reclamaron en esta vista, el mail del usuario local
                // y el mail del alumno de la vista
                string mailsTo = getMailsTo(vista) + ", " + mailTo + ", " + db.vista.Find(vista).alumno1.mail;

                db.vista_usuario_reclamo.Add(vista_usuario_reclamo); // almaceno el objeto
                db.SaveChanges();

                // enviamos mails con los datos obtenidos ( mail destino, asunto, cuerpo)
                enviarMail(mailsTo, "Nuevo ingreso en reclamos", stringCuerpoMail);

                return(RedirectToAction("Index", "vista_usuario_reclamo", new { id = idVista }));
            }

            return(View());
        }