public List <UsuarioViewModel> Consultar_listaToDatatable(int UsuarioSesionId) { List <UsuarioViewModel> LstUsuariosVM = new List <UsuarioViewModel>(); int perfilUsuarioLogueado = new UsuarioPerfilesBL().Consultar_Lista().Where(x => x.UsuarioId == UsuarioSesionId).OrderBy(x => x.PerfilId).FirstOrDefault().PerfilId; List <UsuariosBE> LstUsuariosBE = new UsuarioPerfilesBL().Consultar_Lista().Where(x => x.PerfilId > perfilUsuarioLogueado) .Join(new UsuariosBL().Consultar_Lista(), a => a.UsuarioId, p => p.UsuarioId, (p, a) => new { UsuarioPerfiles = p, Usuarios = a }) .DistinctBy(x => x.UsuarioPerfiles.UsuarioId) .Select(p => new { p.Usuarios }).Select(x => x.Usuarios).OrderBy(x => x.Nombres).ToList(); LstUsuariosBE = LstUsuariosBE.DistinctBy(x => x.UsuarioId).ToList(); foreach (UsuariosBE usuarioBE in LstUsuariosBE) { int m_perfil = new UsuarioPerfilesBL().Consultar_Lista().OrderBy(x => x.PerfilId).ToList().Find(x => x.UsuarioId == usuarioBE.UsuarioId).PerfilId; int m_nroperfiles = new UsuarioPerfilesBL().Consultar_Lista().OrderBy(x => x.PerfilId).ToList().FindAll(x => x.UsuarioId == usuarioBE.UsuarioId).Count(); if (m_perfil <= perfilUsuarioLogueado && m_nroperfiles == 2) { continue; } LstUsuariosVM.Add(BEToViewModel(usuarioBE)); } return(LstUsuariosVM); }
public List <UsuariosPerfilesViewModel> ListarPerfilesAsignados(UsuariosPerfilesViewModel mv) { List <UsuariosPerfilesViewModel> LstUsuariosPerfilesVM = new List <UsuariosPerfilesViewModel>(); List <UsuarioPerfilesBE> LstusuarioPerfilesBE = new UsuarioPerfilesBL().ListarPerfilesAsignados(ViewModelToBE(mv)); foreach (UsuarioPerfilesBE usuarioPerfilesBE in LstusuarioPerfilesBE) { LstUsuariosPerfilesVM.Add(BEToViewModel(usuarioPerfilesBE)); } return(LstUsuariosPerfilesVM.OrderBy(x => x.PerfilNombre).ToList()); }
public void BuscarPorId(int UsuarioPerfilId) { if (UsuarioPerfilId < 0) { return; } UsuarioPerfilesBE UsuarioPerfilBE = new UsuarioPerfilesBL().Consultar_PK(UsuarioPerfilId).FirstOrDefault(); if (UsuarioPerfilBE != null) { BEToViewModel(UsuarioPerfilBE); } }
public bool AsignarPerfil(string login) { String out_sms_err = ""; bool v = false; if (this.PerfilId < 10) { if (new UsuarioPerfilesBL().Consultar_Lista().FindAll(x => x.UsuarioId == this.UsuarioId && x.PerfilId < 10 && x.EstadoId != 0).Count > 0) { this.ErrorSMS = "No puede asignarse dos perfiles de Administrador"; return(v); } } if (this.PerfilId > 10 && this.PerfilId < 20) { if (new UsuarioPerfilesBL().Consultar_Lista().FindAll(x => x.UsuarioId == this.UsuarioId && x.PerfilId > 10 && x.PerfilId < 20 && x.EstadoId != 0).Count > 0) { this.ErrorSMS = "No puede asignarse dos perfiles del Sistema"; return(v); } } UsuarioPerfilesBE usuarioPerfilesBE = new UsuarioPerfilesBL().Consultar_Lista().Find(x => x.UsuarioId == this.UsuarioId && x.PerfilId == this.PerfilId && x.EstadoId == 1); if (usuarioPerfilesBE != null) { this.ErrorSMS = "Perfil ya fue asignado"; return(v); } this.UsuarioRegistro = login; v = (new UsuarioPerfilesBL()).Insertar(ViewModelToBE(this), ref out_sms_err); if (v == false) { this.ErrorSMS = out_sms_err; } return(v); }