Beispiel #1
0
 public PerfilModel GetEdit(int perfilId)
 {
     try
     {
         Perfil      perfil       = unitOfWork.PerfilRepository.Find(x => x.perfilId == perfilId);
         PerfilModel perfilModelo = new PerfilModel();
         if (perfil != null)
         {
             perfilModelo.perfil             = new Perfil();
             perfilModelo.perfil.perfilId    = perfil.perfilId;
             perfilModelo.perfil.descripcion = perfil.descripcion;
             var   procesos        = unitOfWork.ProcesoRepository.All();
             var   funcionalidades = unitOfWork.PermisoRepository.Filter(x => procesos.Contains(x.proceso));
             int[] permisoId       = unitOfWork.PerfilPermisoRepository.Filter(x => x.perfilId == perfil.perfilId).Select(x => x.permisoId).ToArray();
             perfilModelo.procesoFuncionalidadList = new List <PerfilModel.ProcesoFuncionalidad>();
             foreach (var proceso in procesos)
             {
                 PerfilModel.ProcesoFuncionalidad procesoFuncionalidad = new PerfilModel.ProcesoFuncionalidad();
                 procesoFuncionalidad.proceso = proceso;
                 procesoFuncionalidad.funcionalidadPermisoList = new List <PerfilModel.FuncionalidadPermiso>();
                 var funcionalidadesProceso = funcionalidades.Where(x => x.proceso.procesoId == proceso.procesoId);
                 foreach (var funcionalidad in funcionalidadesProceso)
                 {
                     PerfilModel.FuncionalidadPermiso permisoFuncionalidad = new PerfilModel.FuncionalidadPermiso();
                     permisoFuncionalidad.permiso = funcionalidad;
                     permisoFuncionalidad.valor   = permisoId.Contains(funcionalidad.permisoId) ? true : false;
                     procesoFuncionalidad.funcionalidadPermisoList.Add(permisoFuncionalidad);
                 }
                 perfilModelo.procesoFuncionalidadList.Add(procesoFuncionalidad);
             }
             return(perfilModelo);
         }
         return(perfilModelo);
     }
     catch
     {
         PerfilModel perfilModelo = new PerfilModel();
         return(perfilModelo);
     }
 }
Beispiel #2
0
        public PerfilModel GetCreate()
        {
            PerfilModel modelo          = new PerfilModel();
            var         procesos        = unitOfWork.ProcesoRepository.All();
            var         funcionalidades = unitOfWork.PermisoRepository.Filter(x => procesos.Contains(x.proceso));

            modelo.procesoFuncionalidadList = new List <PerfilModel.ProcesoFuncionalidad>();
            foreach (var proceso in procesos)
            {
                PerfilModel.ProcesoFuncionalidad procesoFuncionalidad = new PerfilModel.ProcesoFuncionalidad();
                procesoFuncionalidad.proceso = proceso;
                procesoFuncionalidad.funcionalidadPermisoList = new List <PerfilModel.FuncionalidadPermiso>();
                var funcionalidadesProceso = funcionalidades.Where(x => x.proceso.procesoId == proceso.procesoId);
                foreach (var funcionalidad in funcionalidadesProceso)
                {
                    PerfilModel.FuncionalidadPermiso permisoFuncionalidad = new PerfilModel.FuncionalidadPermiso();
                    permisoFuncionalidad.permiso = funcionalidad;
                    procesoFuncionalidad.funcionalidadPermisoList.Add(permisoFuncionalidad);
                }
                modelo.procesoFuncionalidadList.Add(procesoFuncionalidad);
            }
            return(modelo);
        }