public ActionResult Registrar(int?id) { if (Session["usuario"] != null) { usuario usuarioSesion = (usuario)HttpContext.Session["usuario"]; if (usuarioSesion.roles.FirstOrDefault().rol.Equals(Constantes.ADMINISTRADOR)) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } profesores_temporal profesores_temporal = db.profesores_temporal.Find(id); if (profesores_temporal == null) { return(HttpNotFound()); } usuario usuario = new usuario(); usuario.nombre = profesores_temporal.nombre; usuario.apellidos = profesores_temporal.apellidos; usuario.username = profesores_temporal.username; usuario.password = profesores_temporal.password; usuario.telefono = profesores_temporal.telefono; usuario.correo = profesores_temporal.correo; colegio colegio = db.colegios.Where(c => c.nombre.Equals(profesores_temporal.colegio)).FirstOrDefault(); if (colegio != null) { usuario.colegios.Add(colegio); } usuario.informacion_opcional = profesores_temporal.informacion_opcional; usuario.fecha_primer_ingreso = DateTime.Today; usuario.roles = db.roles.Where(r => r.rol.Equals(Constantes.PROFESOR)).ToList(); if (usuario.roles.FirstOrDefault().cursos.Count > 0) { foreach (curso curso in usuario.roles.FirstOrDefault().cursos) { usuario.cursos.Add(curso); } } notificacione notificacion = new notificacione(); notificacion.telefono = true; notificacion.correo = true; notificacion.fecha_hora = DateTime.Now; usuario.notificacione = notificacion; db.usuarios.Add(usuario); db.profesores_temporal.Remove(profesores_temporal); db.SaveChanges(); List <string> destinatarios = new List <string>(); destinatarios.Add(profesores_temporal.correo); Utilitarios.EnviarCorreo(destinatarios, "PCD: Solicitud Aceptada", "Estimado " + usuario.nombre + "<br /><br />El proceso de registro de usuario en el sitio Plataforma de Contenidos Digitales ha concluido y su solicitud fue aceptada.<br/><br />Gracias." + "<br /><br />Le recordamos que:<br /> su usuario registrado es: " + usuario.username + "<br />Esperamos que los contenidos de la plataforma le sean útiles en sus labores." ); return(RedirectToAction("Index")); } else { return(RedirectToAction("../")); } } return(RedirectToAction("../Account/Login/ReturnUrl=profesores_temporal")); }
public ActionResult Login(LoginViewModel model, string returnUrl) { if (!ModelState.IsValid) { return(View(model)); } var pass = Utilitarios.EncodePassword(model.Email + model.Password); usuario user = db.usuarios.Where(u => u.username.Equals(model.Email) && u.password.Equals(pass)).FirstOrDefault(); if (user != null) { //FormsAuthentication.SetAuthCookie(user.nombre + " " + user.apellidos, model.RememberMe); if (user.bloqueado == true) { ModelState.Remove("Password"); ModelState.AddModelError("", "Este usuario esta bloqueado"); return(View()); } if (user.logueado == true) { int dia = user.log_visitas.Last().fecha_hora.DayOfYear; int hora = user.log_visitas.Last().fecha_hora.Hour; //int minuto = hora*60 + user.log_visitas.Last().fecha_hora.Minute; if (dia == DateTime.Now.DayOfYear && (DateTime.Now.Hour - hora <= 1)) { ModelState.Remove("Password"); ModelState.AddModelError("", "Esta cuenta ya se encuentra en uso"); return(View()); } } bool isVigente = new usuariosController().VerificarVigencia(user.id); if (isVigente) { user.cursos = user.cursos.OrderBy(c => c.curso1).ToList(); this.SignInUser(user.nombre + " " + user.apellidos, user.id, model.RememberMe); System.Web.HttpContext.Current.Session["usuario"] = user; db.usuarios.Find(user.id).logueado = true; log_visitas log = new log_visitas(); log.usuario = user; log.id_usuario = user.id; log.fecha_hora = DateTime.Now; db.log_visitas.Add(log); db.SaveChanges(); FormsAuthentication.SetAuthCookie(user.nombre + " " + user.apellidos, model.RememberMe); if (returnUrl == null || returnUrl == "") { return(Redirect("../")); } else { if (Url.IsLocalUrl(returnUrl)) { return(Redirect(returnUrl)); } else { return(Redirect(returnUrl)); } } } else { ModelState.Remove("Password"); ModelState.AddModelError("", "Se acabo el tiempo de tu subscripción, contacta al equipo de PIMAS para renovar tu subscripcion"); return(View()); } } ModelState.Remove("Password"); ModelState.AddModelError("", "Los datos insertados son incorrectos"); return(View()); }