static public ServerPartitionDataAccess Insert(IUpdateContext update, ServerPartitionDataAccess entity)
        {
            var broker        = update.GetBroker <IServerPartitionDataAccessEntityBroker>();
            var updateColumns = new ServerPartitionDataAccessUpdateColumns();

            updateColumns.ServerPartitionKey = entity.ServerPartitionKey;
            updateColumns.DataAccessGroupKey = entity.DataAccessGroupKey;
            ServerPartitionDataAccess newEntity = broker.Insert(updateColumns);

            return(newEntity);
        }
Exemple #2
0
        private void UpdateDataAccess(IUpdateContext ctx, ServerPartition partition, List <string> groupsWithAccess)
        {
            var broker   = ctx.GetBroker <IServerPartitionDataAccessEntityBroker>();
            var criteria = new ServerPartitionDataAccessSelectCriteria();

            criteria.ServerPartitionKey.EqualTo(partition.Key);

            var existingGroups = broker.Find(criteria);

            if (existingGroups != null)
            {
                foreach (var g in existingGroups)
                {
                    if (!groupsWithAccess.Contains(g.Key.ToString()))
                    {
                        broker.Delete(g.Key);
                    }
                }
            }

            if (groupsWithAccess != null)
            {
                foreach (var g in groupsWithAccess)
                {
                    string g1 = g;
                    if (!CollectionUtils.Contains(existingGroups, group => group.Key.ToString().Equals(g1)))
                    {
                        var dataAccessGroup = AddDataAccessIfNotExists(g);

                        var record = new ServerPartitionDataAccessUpdateColumns
                        {
                            DataAccessGroupKey = dataAccessGroup.Key,
                            ServerPartitionKey = partition.Key
                        };

                        broker.Insert(record);
                    }
                }
            }
        }