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); } }
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); }