public void AddPermission(TypeOfEntity typeOfEntity, Subdivision subdivision) { if (typeOfEntity == null || subdivision == null || PermissionExists(typeOfEntity, subdivision)) { return; } EntitySubdivisionForUserPermission savedPermission; var foundOriginalPermission = originalPermissionList.FirstOrDefault(x => x.TypeOfEntity == typeOfEntity && x.Subdivision == subdivision); if (foundOriginalPermission == null) { savedPermission = new EntitySubdivisionForUserPermission() { Subdivision = subdivision, TypeOfEntity = typeOfEntity, User = user }; ObservablePermissionsList.Add(savedPermission); } else { if (deletionPermissionList.Contains(foundOriginalPermission)) { deletionPermissionList.Remove(foundOriginalPermission); } savedPermission = foundOriginalPermission; ObservablePermissionsList.Add(savedPermission); } }
public IList <EntitySubdivisionForUserPermission> GetAllSubdivisionForUserEntityPermissionForOneEntity(IUnitOfWork uow, int userId, string entityName) { EntitySubdivisionForUserPermission entitySubdivisionPermissionAlias = null; TypeOfEntity typeOfEntityAlias = null; return(uow.Session.QueryOver(() => entitySubdivisionPermissionAlias) .Left.JoinAlias(() => entitySubdivisionPermissionAlias.TypeOfEntity, () => typeOfEntityAlias) .Where(() => entitySubdivisionPermissionAlias.User.Id == userId) .Where(() => typeOfEntityAlias.Type == entityName) .List()); }
public IList <EntitySubdivisionForUserPermission> GetAllSubdivisionForUserEntityPermissionForSomeEntities(IUnitOfWork uow, int userId, string[] entityNames) { EntitySubdivisionForUserPermission entitySubdivisionPermissionAlias = null; TypeOfEntity typeOfEntityAlias = null; return(uow.Session.QueryOver(() => entitySubdivisionPermissionAlias) .Left.JoinAlias(() => entitySubdivisionPermissionAlias.TypeOfEntity, () => typeOfEntityAlias) .Where(() => entitySubdivisionPermissionAlias.User.Id == userId) .WhereRestrictionOn(() => typeOfEntityAlias.Type).IsIn(entityNames) .List()); }
public void DeletePermission(EntitySubdivisionForUserPermission deletedPermission) { if (deletedPermission == null) { return; } ObservablePermissionsList.Remove(deletedPermission); if (deletedPermission.Id != 0) { deletionPermissionList.Add(deletedPermission); } }
public EntitySubdivisionForUserPermission GetSubdivisionForUserEntityPermission(IUnitOfWork uow, int userId, string entityName, int subdisionId) { EntitySubdivisionForUserPermission entitySubdivisionPermissionAlias = null; Subdivision subdivisionAlias = null; TypeOfEntity typeOfEntityAlias = null; return(uow.Session.QueryOver(() => entitySubdivisionPermissionAlias) .Left.JoinAlias(() => entitySubdivisionPermissionAlias.Subdivision, () => subdivisionAlias) .Left.JoinAlias(() => entitySubdivisionPermissionAlias.TypeOfEntity, () => typeOfEntityAlias) .Where(() => entitySubdivisionPermissionAlias.Subdivision.Id == subdisionId) .Where(() => entitySubdivisionPermissionAlias.User.Id == userId) .Where(() => typeOfEntityAlias.Type == entityName) .SingleOrDefault()); }