示例#1
0
        private static Dictionary <ServerEntityKey, AuthorityGroupDetail> LoadAuthorityGroups(out List <AuthorityGroupDetail> otherList)
        {
            Dictionary <ServerEntityKey, AuthorityGroupDetail> dic = new Dictionary <ServerEntityKey, AuthorityGroupDetail>();
            var list = new List <AuthorityGroupDetail>();

            using (var service = new AuthorityRead())
            {
                IList <AuthorityGroupDetail> tokens = service.ListDataAccessAuthorityGroupDetails();
                CollectionUtils.ForEach(tokens, delegate(AuthorityGroupDetail group)
                {
                    DataAccessGroupSelectCriteria select = new DataAccessGroupSelectCriteria();
                    select.AuthorityGroupOID.EqualTo(new ServerEntityKey("AuthorityGroupOID", new Guid(group.AuthorityGroupRef.ToString(false, false))));
                    IDataAccessGroupEntityBroker broker = HttpContextData.Current.ReadContext.GetBroker <IDataAccessGroupEntityBroker>();
                    DataAccessGroup accessGroup         = broker.FindOne(select);
                    if (accessGroup != null)
                    {
                        dic.Add(accessGroup.Key, group);
                    }
                    else
                    {
                        list.Add(group);
                    }
                });
            }

            otherList = list;

            return(dic);
        }
示例#2
0
        private DataAccessGroup FindDataAccessGroup(string oid)
        {
            DataAccessGroupSelectCriteria select = new DataAccessGroupSelectCriteria();

            select.AuthorityGroupOID.EqualTo(new ServerEntityKey("AuthorityGroupOID", new Guid(oid)));
            IDataAccessGroupEntityBroker broker = HttpContextData.Current.ReadContext.GetBroker <IDataAccessGroupEntityBroker>();

            return(broker.FindOne(select));
        }
        private void LoadAuthorityGroup(IPersistenceContext context)
        {
            lock (_syncLock)
            {
                _mapDataAccessGroupsAuthorityGroups = new Dictionary <DataAccessGroup, ServerEntityKey>();

                IDataAccessGroupEntityBroker  dataAccessBroker = context.GetBroker <IDataAccessGroupEntityBroker>();
                DataAccessGroupSelectCriteria all = new DataAccessGroupSelectCriteria();
                var dataAccessGroups = dataAccessBroker.Find(all);

                foreach (var group in dataAccessGroups)
                {
                    _mapDataAccessGroupsAuthorityGroups.Add(group, group.AuthorityGroupOID);
                }
            }
        }
示例#4
0
        public DataAccessGroup AddDataAccessIfNotExists(string oid)
        {
            DataAccessGroup theGroup = FindDataAccessGroup(oid);

            if (theGroup == null)
            {
                using (IUpdateContext update = PersistentStoreRegistry.GetDefaultStore().OpenUpdateContext(UpdateContextSyncMode.Flush))
                {
                    DataAccessGroupUpdateColumns insert = new DataAccessGroupUpdateColumns
                    {
                        AuthorityGroupOID =
                            new ServerEntityKey("AuthorityGroupOID",
                                                new Guid(oid)),
                        Deleted = false
                    };
                    IDataAccessGroupEntityBroker broker = update.GetBroker <IDataAccessGroupEntityBroker>();
                    theGroup = broker.Insert(insert);
                    update.Commit();
                }
            }
            return(theGroup);
        }