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);
            }
        }
示例#2
0
        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());
        }
示例#3
0
        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);
     }
 }
示例#5
0
        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());
        }