public ResponseModel QuitarPerfil(int idUsuario, int idPerfil) { ResponseModel rm = new ResponseModel(); relUsuarioPerfil relUsuarioPerfil = new relUsuarioPerfil(); try { using (var ctx = new LBInventoryEntities()) { relUsuarioPerfil = ctx.relUsuarioPerfil.Where(x => x.PerfilId == idPerfil && x.UsuarioId == idUsuario).SingleOrDefault(); ctx.Entry(relUsuarioPerfil).State = EntityState.Deleted; ctx.SaveChanges(); } rm.SetResponse(true, "Perfil desasignado correctamente"); } catch (Exception ex) { rm.SetResponse(false, "Error al intentar desasignar el perfil" + ex.Message); } return(rm); }
public ResponseModel AsignarPerfil(int idUsuario, int idPerfil) { ResponseModel rm = new ResponseModel(); relUsuarioPerfil relUsuarioPerfil = new relUsuarioPerfil(); try { relUsuarioPerfil.PerfilId = idPerfil; relUsuarioPerfil.UsuarioId = idUsuario; using (var ctx = new LBInventoryEntities()) { ctx.Entry(relUsuarioPerfil).State = EntityState.Added; ctx.SaveChanges(); } rm.SetResponse(true, "Perfil asignado correctamente"); rm.function = "CargarPerfiles"; rm.funcParams = idUsuario.ToString(); } catch (Exception ex) { rm.SetResponse(false, "Error al intentar asignar el perfil" + ex.Message); } return(rm); }
public ResponseModel Guardar() { ctrlUsuario ctrlUsuario = new ctrlUsuario(); var rm = new ResponseModel(); try { ctrlUsuario = llenarCtrlUsuario(this); using (var ctx = new LBInventoryEntities()) { ctx.Configuration.ValidateOnSaveEnabled = false; var eUsuario = ctx.Entry(ctrlUsuario); if (ctrlUsuario.Id == 0) { //verificamos si el nombre de usuario ya esta en uso if (ctx.ctrlUsuario.Where(x => x.Usuario == this.Usuario).Count() > 0) { rm.SetResponse(false, "Nombre de Usuario existente, favor de usar otro"); return(rm); } eUsuario.State = EntityState.Added; } else { eUsuario.State = EntityState.Modified; eUsuario.Property(x => x.Usuario).IsModified = false; } //Verifica si el password viene en nulo if (ctrlUsuario.Password == null || ctrlUsuario.Password == "") { eUsuario.Property(x => x.Password).IsModified = false; } else { var passMD5 = Encriptacion.Encrypt(ctrlUsuario.Password, true); ctrlUsuario.Password = passMD5; } if (catPerfil != null && catPerfil.Count > 0) { var perfiles = ctx.relUsuarioPerfil.Where(x => x.UsuarioId == eUsuario.Entity.Id).ToList(); foreach (var per in perfiles) { if (per.UsuarioId == Id) { QuitarPerfil(Id, per.PerfilId); } } foreach (var per in catPerfil) { relUsuarioPerfil relUsuarioPerfil = new relUsuarioPerfil(); relUsuarioPerfil.PerfilId = per.Id; relUsuarioPerfil.UsuarioId = eUsuario.Entity.Id; eUsuario.Entity.relUsuarioPerfil.Add(relUsuarioPerfil); } } ctx.SaveChanges(); rm.SetResponse(true, "Usuario Guardado con exito!"); rm.function = "Obtener"; rm.funcParams = ctrlUsuario.Id.ToString(); } } catch (DbEntityValidationException ex) { rm.SetResponse(false, "Error al guardar el Usuario " + ex.Message); } catch (Exception ex) { rm.SetResponse(false, "Error al guardar el Usuario " + ex.Message); } return(rm); }