Esempio n. 1
0
        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);
        }