//[HttpPost] public ActionResult EjecutarAccionUsuarioSENER(CatUsuarios UsuarioPorEditar, string Accion, int IdUsuarioPorEditar, bool IdEstatusUsuario) { CatUsuarios Usuario = (CatUsuarios)Session["Usuario"]; CatEmpresas Empresa = new CatEmpresas(); MetodosGenerales MetodoGeneral = new MetodosGenerales(); try { if (Usuario == null || Usuario.U_IdTipoUsuario != 4) { TempData["notice"] = "La sesión ha expirado."; return(RedirectToAction("Logout", "Home")); } LogicaEmpresas LogicaEmpresa = new LogicaEmpresas(); LogicaUsuarios LogicaUsuario = new LogicaUsuarios(); Empresa = LogicaEmpresa.L_DetallesEmpresa(Usuario.U_IdEmpresa); switch (Accion) { case "Insertar": CatUsuarios UsuarioExistente = LogicaUsuario.L_DetallesUsuarioPorNombreUnicamente(UsuarioPorEditar.U_Nombre); if (UsuarioExistente.U_IdUsuario != null && UsuarioExistente.U_IdUsuario > 0) { TempData["notice"] = "Ya existe una usuario con el mismo nombre, por favor elige otro."; Session["TipoAlerta"] = "Error"; CargarListasDesplegables(null, null); return(View("InsertarUsuarioSENER", UsuarioPorEditar)); } else { if (UsuarioPorEditar.U_Password != UsuarioPorEditar.U_ConfirmarPassword) { TempData["notice"] = "La contraseñas no coinciden."; Session["TipoAlerta"] = "Error"; CargarListasDesplegables(null, null); return(View("InsertarUsuarioSENER", UsuarioPorEditar)); } else { UsuarioPorEditar.U_Activo = true; if (LogicaUsuario.L_InsertarUsuarioSENER(UsuarioPorEditar, Usuario.U_IdEmpresa)) { TempData["notice"] = "El usuario ha sido creado."; Session["TipoAlerta"] = "Correcto"; return(RedirectToAction("GestionUsuariosSENER", "Administrador")); } else { TempData["notice"] = "Error de sistema."; Session["TipoAlerta"] = "Error"; CargarListasDesplegables(null, null); return(View("InsertarUsuarioSENER", UsuarioPorEditar)); } } } case "CambiarEstatus": UsuarioPorEditar.U_IdUsuario = IdUsuarioPorEditar; UsuarioPorEditar.U_Activo = !IdEstatusUsuario; if (LogicaUsuario.L_ActualizarEstatusUsuarioSENER(UsuarioPorEditar.U_IdUsuario, UsuarioPorEditar.U_Activo)) { if (UsuarioPorEditar.U_IdUsuario == Usuario.U_IdUsuario) { return(RedirectToAction("GestionUsuariosSENER", "Administrador")); } else { TempData["notice"] = "Se realizó el cambio de estatus."; Session["TipoAlerta"] = "Correcto"; return(RedirectToAction("GestionUsuariosSENER", "Administrador")); } } else { TempData["notice"] = "Operación no concluida."; Session["TipoAlerta"] = "Error"; return(RedirectToAction("Eliminar", new { IdUsuario = UsuarioPorEditar.U_IdUsuario })); } default: return(RedirectToAction("GestionUsuariosSENER", "Administrador")); } } catch (Exception ex) { TempData["notice"] = ConfigurationManager.AppSettings["MensajeError"].ToString(); Session["TipoAlerta"] = "Error"; MetodoGeneral.RegistroDeError(ex.Message, "Usuarios: EjecutarAccionUsuario(" + Accion + ")"); return(RedirectToAction("Actualizar", "Administrador")); } }