private void comboBoxRol_SelectedIndexChanged(object sender, EventArgs e) { if (comboBoxRol.SelectedIndex != -1) { rols rol = (rols)comboBoxRol.SelectedItem; if (comboBoxRol.SelectedIndex == 0) { comboBoxComunidades.SelectedIndex = -1; bindingSourceComunitats.DataSource = null; dataGridViewComunidades.DataSource = null; _comunitats.Clear(); } else { String missatge = ""; List <comunitats> comunitats = ComunitatsOrm.Select(ref missatge); if (missatge.Equals("")) { bindingSourceComunitats.DataSource = comunitats; comboBoxComunidades.SelectedIndex = -1; } else { MessageBox.Show(missatge, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } }
// GET: Rols/Create public ActionResult Create(int?menu) { ParametrosVista(); var crearRol = new rols { rol_estado = true, rol_razoninactivo = "No aplica" }; var jerarquia = context.clasificacion_rol.Select(d => new { id = d.id_clasificacion, nombre = d.nombre_clasificacion }).ToList(); ViewBag.clasificacion_rol = new SelectList(jerarquia, "id", "nombre"); BuscarFavoritos(menu); return(View(crearRol)); }
public ActionResult Create(rols rol, int?menu) { var jerarquia = context.clasificacion_rol.Select(d => new { id = d.id_clasificacion, nombre = d.nombre_clasificacion }).ToList(); if (ModelState.IsValid) { ViewBag.clasificacion_rol = new SelectList(jerarquia, "id", "nombre", rol.clasificacion_rol); //consulta si el registro esta en BD var nom = (from a in context.rols where a.rol_nombre == rol.rol_nombre select a.rol_nombre).Count(); if (nom == 0) { rol.rolfec_creacion = DateTime.Now; rol.roluserid_creacion = Convert.ToInt32(Session["user_usuarioid"]); context.rols.Add(rol); var guardar = context.SaveChanges() > 0; if (guardar) { ParametrosVista(); TempData["mensaje"] = "El registro del nuevo rol fue exitoso!"; BuscarFavoritos(menu); return(View(rol)); } TempData["mensaje_error"] = "Error de conexion!"; } else { TempData["mensaje_error"] = "El registro que ingreso ya se encuentra, por favor valide!"; } } ParametrosVista(); ViewBag.clasificacion_rol = new SelectList(jerarquia, "id", "nombre", rol.clasificacion_rol); BuscarFavoritos(menu); return(View(rol)); }
public ActionResult login(LoginModel objUsu) { try { if (ModelState.IsValid) { MD5CryptoServiceProvider md5 = new MD5CryptoServiceProvider(); md5.ComputeHash(Encoding.ASCII.GetBytes(objUsu.user_password)); byte[] result = md5.Hash; StringBuilder str = new StringBuilder(); for (int i = 0; i < result.Length; i++) { str.Append(result[i].ToString("x2")); } string pass = str.ToString(); users obj = context.users .Where(a => a.user_usuario.Equals(objUsu.user_usuario) && a.user_password.Equals(pass)) .FirstOrDefault(); if (obj != null) { Session["user_usuario"] = obj.user_nombre; Session["user_usuarioid"] = obj.user_id.ToString(); Session["user_rolid"] = obj.rol_id.ToString(); if (Session["user_usuario"] == null && obj == null) { CerrarSesion(); Session.Abandon(); } else if (Session["user_usuario"] != null && obj != null && obj != null && obj.user_estado) { //borro los intentos fallidos de acceso del usuario del día de hoy DateTime diahoy = DateTime.Now.Date; System.Collections.Generic.List <intentos_fallidos_login> cuantosintentos = context.intentos_fallidos_login .Where(d => d.id_usuario == obj.user_id && d.fecha >= diahoy).ToList(); if (cuantosintentos.Count() > 0) { foreach (intentos_fallidos_login item in cuantosintentos) { context.Entry(item).State = EntityState.Deleted; } context.SaveChanges(); } //pregunto si va a cambiarcontraseña if (obj.cambio_contrasena) { TempData["claveExpiro"] = "Debe cambiar la contraseña para poder ingresar al sistema"; return(View()); } //Cuando el usuario escribe sus credenciales correctamente // Primero buscamos la ultima conexion que ha tenido antes de agregar la aque abrira en este momento int idUsuarioActual = Convert.ToInt32(Session["user_usuarioid"]); icb_sessionlog buscaAcceso = context.icb_sessionlog.Where(x => x.id_usuario == idUsuarioActual) .OrderByDescending(x => x.fecha_ingreso).FirstOrDefault(); if (buscaAcceso != null) { Session["user_ultimoacceso"] = buscaAcceso.fecha_ingreso.ToShortDateString() + " " + buscaAcceso.fecha_ingreso.ToShortTimeString(); } else { Session["user_ultimoacceso"] = ""; } context.icb_sessionlog.Add(new icb_sessionlog { estado = true, fecha_ingreso = DateTime.Now, fecha_fin = DateTime.Now, id_usuario = Convert.ToInt32(Session["user_usuarioid"]) }); context.SaveChanges(); //var buscarBodegasUsuario = context.bodega_usuario.Where(x => x.id_usuario == obj.user_id).ToList(); int va = 0; var buscarBodegasUsuario = (from bodegaUsuario in context.bodega_usuario join bodega in context.bodega_concesionario on bodegaUsuario.id_bodega equals bodega.id where bodegaUsuario.id_usuario == obj.user_id select new { bodegaUsuario.id_bodega, bodega.bodccs_nombre }).ToList(); if (buscarBodegasUsuario.Count == 0) { if (va == 0) { TempData["mensajeError"] = "El usuario no está asignado a ninguna bodega"; return(RedirectToAction("login", "Login")); } } else if (buscarBodegasUsuario.Count > 1) { TempData["variasBodegas"] = "Usuario asignado a varias bodegas"; return(View()); } Session["user_bodegaNombre"] = buscarBodegasUsuario.Count > 0 ? buscarBodegasUsuario.FirstOrDefault().bodccs_nombre : null; Session["user_bodega"] = buscarBodegasUsuario.Count > 0 ? buscarBodegasUsuario.FirstOrDefault().id_bodega.ToString() : null; va = validarApertura(Convert.ToInt32(Session["user_bodega"]), Convert.ToInt32(Session["user_usuarioid"])); if (va == 0) { TempData["mesCerrado"] = "Mes se encuentra cerrado y el usuario no tiene permiso para abrirlo"; return(RedirectToAction("login", "Login")); } if (va == 2) { return(RedirectToAction("Index", "abrirMes")); } #region el mes esta abierto, se validan los roles y el usuario ingresa if (va == 1) { // Validacion cuando el ususario tiene rol de ANFITRION TALLER //if (obj.rol_id == 2024) //{ // return RedirectToAction("inicioAnfitrionTaller", "Inicio"); //} //// Validacion cuando el ususario tiene rol de TECNICO //if (obj.rol_id == 1014) //{ // return RedirectToAction("inicioTecnico", "Inicio"); //} //// Validacion cuando el ususario tiene rol de PERITO //if (obj.rol_id == 3) //{ // return RedirectToAction("Agendar", "peritaje"); //} //// El rol 7 pertenece a anfitriona //if (obj.rol_id == 7) //{ // return RedirectToAction("Create", "prospectos"); //} //// Validacion cuando el ususario tiene rol de MENSAJERO //if (obj.rol_id == 2038) //{ // return RedirectToAction("Index", "agendaMensajero"); //} //Si rol user quiere decir que es asesor if (obj.rols.clasificacion_rol == 3) { sesion_logasesor buscarSesion = context.sesion_logasesor.OrderByDescending(x => x.id).Where(x => x.user_id == obj.user_id && x.fecha_inicia.Year == DateTime.Now.Year && x.fecha_inicia.Month == DateTime.Now.Month && x.fecha_inicia.Day == DateTime.Now.Day //&&x.estado==4 ).FirstOrDefault(); if (buscarSesion != null) { // Si se encuentra en estado 4 significa que esta desconectado if (buscarSesion.estado == 4 || buscarSesion.fecha_inicia.Year != DateTime.Now.Year || buscarSesion.fecha_inicia.Month != DateTime.Now.Month || buscarSesion.fecha_inicia.Day != DateTime.Now.Day) { sesion_logasesor nuevaSesion = new sesion_logasesor { estado = 1, fecha_inicia = DateTime.Now, fecha_termina = DateTime.Now, user_id = obj.user_id, bodega = Convert.ToInt32(Session["user_bodega"]) }; context.sesion_logasesor.Add(nuevaSesion); obj.sesion = true; context.Entry(obj).State = EntityState.Modified; int guardaLogSesion = context.SaveChanges(); if (guardaLogSesion > 0) { sesion_logasesor ultimaSesion = context.sesion_logasesor.OrderByDescending(x => x.id) .FirstOrDefault(); Session["id_sesion_asesor"] = ultimaSesion.id; } //Session["user_rol"] = "asesor"; } } else { sesion_logasesor nuevaSesion = new sesion_logasesor { estado = 1, fecha_inicia = DateTime.Now, fecha_termina = DateTime.Now, user_id = obj.user_id, bodega = Convert.ToInt32(Session["user_bodega"]) }; context.sesion_logasesor.Add(nuevaSesion); context.SaveChanges(); sesion_logasesor ultimaSesion = context.sesion_logasesor.OrderByDescending(x => x.id) .FirstOrDefault(); Session["id_sesion_asesor"] = ultimaSesion.id; } //return RedirectToAction("inicioAsesor", "Inicio"); } } #endregion //// Actualmente el valor del rol asesor corresponde al id 4 de la tabla roles //var buscarRolAsesor = context.icb_sysparameter.FirstOrDefault(x=>x.syspar_cod=="P29"); //var idRol = buscarRolAsesor != null ? buscarRolAsesor.syspar_value : "4"; //var rolUser = obj.rol_id == Convert.ToInt32(idRol) ? true : false; int calcularDias = ConsultarDiasCambioContrasena(obj); rols buscarDiasDelRol = context.rols.FirstOrDefault(x => x.rol_id == obj.rol_id); if (calcularDias > buscarDiasDelRol.dias_expiracion_clave) { TempData["claveExpiro"] = "Contraseña se vencio"; return(View()); } return(RedirectToAction("Inicio", "inicio")); } else { TempData["mensajeError"] = "Usuario se encuentra inactivo"; } } else { // El usuario o la contrasenia esta mal escrito TempData["mensajeError"] = "Usuario o contraseña incorrectos"; DateTime fechadehoy = DateTime.Now.Date; //busco el usuario si existe users usuexiste = context.users.Where(d => d.user_usuario == objUsu.user_usuario) .FirstOrDefault(); if (usuexiste != null) { intentos_fallidos_login nuevointentofallido = new intentos_fallidos_login { fecha = DateTime.Now, id_usuario = usuexiste.user_id }; context.intentos_fallidos_login.Add(nuevointentofallido); int guardado = context.SaveChanges(); //veo cuantos intentos tiene el día de hoy; int cuantosintentos = context.intentos_fallidos_login .Where(d => d.id_usuario == usuexiste.user_id && d.fecha >= fechadehoy).Count(); if (cuantosintentos > 2) { usuexiste.user_estado = false; context.Entry(usuexiste).State = EntityState.Modified; context.SaveChanges(); TempData["mensajeError"] = "Usuario o contraseña incorrectos. Ha excedido el límite máximo de intentos. Su cuenta ha sido bloqueada. Por favor contacte con un administrador"; } } } } } catch (ArgumentNullException) { TempData["mensajeError"] = "Usuario o contraseña incorrectos"; } return(View()); }
//[ValidateAntiForgeryToken] public ActionResult update(rols rol, int?menu) { var jerarquia = context.clasificacion_rol.Select(d => new { id = d.id_clasificacion, nombre = d.nombre_clasificacion }).ToList(); ViewBag.clasificacion_rol = new SelectList(jerarquia, "id", "nombre", rol.clasificacion_rol); var dashboard = context.dashboard_rol.Select(d => new { id = d.id_vista, nombre = d.nombre_vista }).ToList(); ViewBag.dashboard_inicial = new SelectList(dashboard, "id", "nombre", rol.dashboard_inicial); if (ModelState.IsValid) { var nombrerol = rol.rol_nombre.Trim(); //consulta si el registro esta en BD teniendo en cuenta el id de consulta var nom = context.rols .Where(d => d.rol_nombre.ToUpper() == nombrerol.ToUpper() && d.rol_id == rol.rol_id).Count(); if (nom == 1) { var cantidad = Convert.ToInt32(Request["totalPermisosBodegas"]); const string queryAcceso = "DELETE FROM [dbo].[rolacceso] WHERE [idrol]={0}"; var rowsAcceso = context.Database.ExecuteSqlCommand(queryAcceso, rol.rol_id); for (var i = 0; i < cantidad; i++) { var idRolPermiso = Request["txtPermisoVista" + i]; var checkPermiso = Request["checkPermisoVista" + i]; if (idRolPermiso != null && checkPermiso != null) { context.rolacceso.Add(new rolacceso { idrol = rol.rol_id, idpermiso = Convert.ToInt32(idRolPermiso) }); } } var cantidades = Convert.ToInt32(Request["totalOpcionesAcceso"]); const string queryOpcion = "DELETE FROM [dbo].[opcion_acceso_rol] WHERE [id_rol]={0}"; var rowsOpcion = context.Database.ExecuteSqlCommand(queryOpcion, rol.rol_id); for (var i = 0; i < cantidades; i++) { var idRolOpcion = Request["txtopcionAcceso" + i]; var checkOpcion = Request["checkOpcionAcceso" + i]; if (idRolOpcion != null && checkOpcion != null) { context.opcion_acceso_rol.Add(new opcion_acceso_rol { id_rol = rol.rol_id, id_opcion_acceso = Convert.ToInt32(idRolOpcion) }); } } var idsModulos = Request["selectBusquedaModulos"]; if (idsModulos != null) { var idModulo = idsModulos.Split(','); var modulosActuales = context.Menu_rol.Where(x => x.idperfil == rol.rol_id).ToList(); foreach (var id in modulosActuales) { var query = "DELETE FROM [dbo].[Menu_rol] WHERE [idmenu]={0} AND [idperfil] =" + id.idperfil; var rows = context.Database.ExecuteSqlCommand(query, id.idmenu); } foreach (var id in idModulo) { context.Menu_rol.Add(new Menu_rol { idmenu = Convert.ToInt32(id), idperfil = rol.rol_id }); } context.SaveChanges(); } rol.rol_nombre = nombrerol.Trim(); rol.rolfec_actualizacion = DateTime.Now; rol.roluserid_actualizacion = Convert.ToInt32(Session["user_usuarioid"]); context.Entry(rol).State = EntityState.Modified; context.SaveChanges(); TempData["mensaje"] = "La actualización del rol fue exitoso!"; var modulosAsignables1 = context.Menus.Where(x => x.url != "#").OrderBy(x => x.nombreMenu).ToList(); ViewBag.ModulosAsignables = modulosAsignables1; ConsultaDatosCreacion(rol.rol_id); BuscarFavoritos(menu); return(RedirectToAction("update", new { id = rol.rol_id, menu })); } //verifico que NO exista el mismo rol con otro nombre var rol2 = context.rols .Where(d => d.rol_nombre.ToUpper() == nombrerol.ToUpper() && d.rol_id != rol.rol_id).Count(); if (rol2 > 0) { TempData["mensaje_error"] = "El registro que ingreso ya se encuentra, por favor valide!"; } else { TempData["mensaje_error"] = "El rol no existe en base de datos, por favor crearlo en la pestaña Crear."; } } var modulosAsignables = context.Menus.Where(x => x.url != "#").OrderBy(x => x.nombreMenu).ToList(); ViewBag.ModulosAsignables = modulosAsignables; var modulosAsignados = context.Menu_rol.Where(x => x.idperfil == rol.rol_id).ToList(); var idModulosAsignados = ""; var index = 0; foreach (var ids in modulosAsignados) { if (index == 0) { idModulosAsignados += ids.idmenu; index++; } else { idModulosAsignados += "," + ids.idmenu; } } ViewBag.menusAsignados = idModulosAsignados; //ViewBag.permisosVistas = context.rolpermisos.ToList(); ParametrosVista(); ConsultaDatosCreacion(rol.rol_id); BuscarFavoritos(menu); return(View(rol)); }
private void button1_Click(object sender, EventArgs e) { if (textBoxUserName.Text.Equals("")) { MessageBox.Show("Hay que escribir un nombre", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning); textBoxUserName.Focus(); } else { if (textBoxEmail.Text.Equals("")) { MessageBox.Show("Hay que escribir un email", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning); textBoxEmail.Focus(); } else { if (comboBoxRol.SelectedIndex == -1) { MessageBox.Show("Seleccionar un rol", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { String username = textBoxUserName.Text; String email = textBoxEmail.Text; rols rol = (rols)comboBoxRol.SelectedItem; if (rol.nom.Equals("SuperAdministrador")) { usuari.username = username; usuari.email = email; usuari.id_rol = rol.id; usuari.comunitats = null; String missatge = ""; if (!modificar) { String password = textBoxPassword.Text; String passCryp = BCrypt.Net.BCrypt.EnhancedHashPassword(password, BCrypt.Net.HashType.SHA512); usuari.contrasenya = passCryp; if (comprobarPassword()) { missatge = AdminOrm.Insert(usuari); if (missatge.Equals("")) { MessageBox.Show("Usuare introducide correctamente.", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } else { MessageBox.Show(missatge, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } else { missatge = AdminOrm.Update(usuari); if (missatge.Equals("")) { MessageBox.Show("Usuarie modificade correctamente", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } else { MessageBox.Show(missatge, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } else { if (_comunitats.Count == 0) { MessageBox.Show("Hay que introducir almenos 1 comunidad", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { String missatge = ""; usuari.username = username; usuari.email = email; usuari.id_rol = rol.id; usuari.comunitats = _comunitats; if (!modificar) { String password = textBoxPassword.Text; String passCryp = BCrypt.Net.BCrypt.EnhancedHashPassword(password, BCrypt.Net.HashType.SHA512); usuari.contrasenya = passCryp; if (comprobarPassword()) { missatge = AdminOrm.Insert(usuari); if (missatge.Equals("")) { MessageBox.Show("Usuarie introducide correctamente", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } else { MessageBox.Show(missatge, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } else { missatge = AdminOrm.Update(usuari); if (missatge.Equals("")) { MessageBox.Show("Usuarie modificade correctamente", "Información", MessageBoxButtons.OK, MessageBoxIcon.Information); this.Close(); } else { MessageBox.Show(missatge, "Error", MessageBoxButtons.OK, MessageBoxIcon.Error); } } } } } } } }