public ActionResult Usuario(int? id = null) { if (!this.currentUser()) { return RedirectToAction("Ingresar"); } ViewBag.Title = "Usuario"; MenuNavBarSelected(9); UsuarioDTO currentUser = getCurrentUser(); UsuariosBL usuariosBL = new UsuariosBL(); if (!this.isAdministrator() && id != currentUser.IdUsuario) { return RedirectToAction("Index"); } if (!this.isSuperAdministrator() && usuariosBL.getUsuario(id.GetValueOrDefault()).IdRol == 1) { return RedirectToAction("Usuarios"); } //ViewBag.vbRls = usuariosBL.getAllRolesViewBag(false); ViewBag.vbRls = usuariosBL.getRolesDown(currentUser.IdRol); var objSent = TempData["Usuario"]; if (objSent != null) { TempData["Usuario"] = null; return View(objSent); } UsuarioDTO usuario; if (id != null) { usuario = usuariosBL.getUsuarioEnEmpresa(currentUser.IdEmpresa, id.GetValueOrDefault()); if (usuario == null) return RedirectToAction("Usuarios"); if (usuario.IdEmpresa != currentUser.IdEmpresa) return RedirectToAction("Usuarios"); return View(usuario); } usuario = new UsuarioDTO(); usuario.IdEmpresa = currentUser.IdEmpresa; return View(usuario); }
public ActionResult AddUser(UsuarioDTO user, string passUser = "", string passChange = "") { if (!this.currentUser()) { return RedirectToAction("Ingresar"); } UsuarioDTO currentUser = getCurrentUser(); if (!this.isAdministrator() && user.IdUsuario != currentUser.IdUsuario) { return RedirectToAction("Index"); } if (user.IdRol == 1 && !this.isSuperAdministrator()) { return RedirectToAction("Index"); } try { UsuariosBL usuariosBL = new UsuariosBL(); if (user.IdUsuario == 0 && usuariosBL.validateUsuario(user)) { if (!this.isSuperAdministrator()) { return RedirectToAction("Index"); } usuariosBL.add(user); createResponseMessage(CONSTANTES.SUCCESS); return RedirectToAction("Usuarios"); } else if (user.IdUsuario != 0 && usuariosBL.validateUsuarioNoDuplicado(user)) { if (usuariosBL.update(user, passUser, passChange, this.getCurrentUser())) { createResponseMessage(CONSTANTES.SUCCESS); if (user.IdUsuario == this.getCurrentUser().IdUsuario) { System.Web.HttpContext.Current.Session["User"] = usuariosBL.getUsuario(user.IdUsuario); if (!this.getCurrentUser().Active) System.Web.HttpContext.Current.Session["User"] = null; } return RedirectToAction("Usuarios"); } else { createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_UPDATE_MESSAGE + "<br>Si está intentando actualizar la contraseña, verifique que ha ingresado la contraseña actual correctamente."); TempData["Usuario"] = user; return RedirectToAction("Usuario", new { id = user.IdUsuario }); } } else { createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_INSERT_DUPLICATE_USER); } } catch { if (user.IdUsuario != 0) createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_UPDATE_MESSAGE); else createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_INSERT_ACCOUNT); } TempData["Usuario"] = user; return RedirectToAction("Usuario"); }
public ActionResult Usuarios(bool inactivos = false) { if (!this.currentUser()) { return RedirectToAction("Ingresar"); } if (!this.isAdministrator()) { return RedirectToAction("Index"); } ViewBag.Title = "Usuarios"; MenuNavBarSelected(9); UsuarioDTO currentUser = getCurrentUser(); UsuariosBL usuariosBL = new UsuariosBL(); List<UsuarioDTO> listaUsuarios = new List<UsuarioDTO>(); ViewBag.vbInactivos = inactivos; if (currentUser.IdEmpresa > 0) { if (!inactivos) { listaUsuarios = usuariosBL.getUsuariosActivosEnEmpresa(currentUser.IdEmpresa, currentUser.IdRol); } else { listaUsuarios = usuariosBL.getUsuariosEnEmpresa(currentUser.IdEmpresa, currentUser.IdRol); } } return View(listaUsuarios); }
public string CambiarEmpresaSuperAdmin(int idEmpresa) { if (!this.currentUser() || !isSuperAdministrator()) { return "false"; } UsuariosBL objBL = new UsuariosBL(); if (objBL.actualizarEmpresaSuperAdmin(getCurrentUser().IdUsuario, idEmpresa)) { System.Web.HttpContext.Current.Session["User"] = objBL.getUsuario(getCurrentUser().IdUsuario); return "true"; } return "false"; }
public ActionResult Login(UsuarioDTO user) { UsuariosBL usuariosBL = new UsuariosBL(); if (usuariosBL.isValidUser(user)) { System.Web.HttpContext.Current.Session["User"] = usuariosBL.getUsuarioByCuenta(user); return RedirectToAction("Index"); } createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_LOGIN); return RedirectToAction("Ingresar"); }
public ActionResult ResetPassword(ResetPasswordDTO obj) { if (obj.rt == null || obj.emp == null || obj.Password == null || obj.Password == "") { return RedirectToAction("Ingresar", "Admin"); } if (obj.Password != obj.ConfirmPassword) { createResponseMessage(CONSTANTES.ERROR, "<strong>Las contraseñas ingresadas tienen que coincidir.</strong>"); return View(); } UsuariosBL objBL = new UsuariosBL(); UsuarioDTO usuario = new UsuarioDTO() { Token = obj.rt, codigoEmpresa = obj.emp, Pass = obj.Password }; if (objBL.resetPasswordByTokenAndEmp(usuario)) { createResponseMessage(CONSTANTES.SUCCESS, CONSTANTES.SUCCESS_PASSWORD_CHANGE); return RedirectToAction("Ingresar", "Admin"); } createResponseMessage(CONSTANTES.ERROR, "<strong>Usted no puede realizar esta acción o hubo un error al intentar cambiar la contraseña.</strong>"); return View(); }
public ActionResult ForgotPassword(string UserName, string codigoEmpresa) { UsuariosBL objBL = new UsuariosBL(); UsuarioDTO usuario = new UsuarioDTO() { Cuenta = UserName, Email = UserName, codigoEmpresa = codigoEmpresa }; usuario = objBL.getUserByAcountOrEmail(usuario); if (usuario == null) { createResponseMessage(CONSTANTES.ERROR, CONSTANTES.ERROR_RECOVERY_PASSWORD); return RedirectToAction("ForgotPassword", "Admin"); } else { //if (objBL.recoverPasswordNew(usuario)) usuario = objBL.generateTokenRecoverPassword(usuario); if (usuario.Token != null) { string link = "<a href='" + this.Url.Action("ResetPassword", "Admin", new { rt = usuario.Token, emp = usuario.codigoEmpresa }, this.Request.Url.Scheme) + "'>Reset Password</a>"; objBL.SendMailResetPassword(usuario, link); createResponseMessage(CONSTANTES.SUCCESS, CONSTANTES.SUCCESS_MESSAGE_FOR_RECOVERY_PASSWORD); } else { createResponseMessage(CONSTANTES.ERROR, "<strong>Hubo un error al recuperar la contraseña.</strong>"); return RedirectToAction("ForgotPassword", "Admin"); } } return RedirectToAction("Ingresar", "Admin"); }