Dev2.DataList.Contract.Binary_Objects.Structs.SBinaryDataListEntry.GenerateFederatedKey C# (CSharp) Method

GenerateFederatedKey() private method

Generates the key.
private GenerateFederatedKey ( int idx ) : InternalFederatedTO
idx int
return Dev2.Data.Binary_Objects.Structs.InternalFederatedTO
        private InternalFederatedTO GenerateFederatedKey(int idx)
        {
            InternalFederatedTO result = new InternalFederatedTO();

            // we need two keys ;)
            var firstKey = _keyToAliasMap.Keys.FirstOrDefault();
            ICollection<string> entry1Columns = null;

            // fetch alias key first ;)
            if(firstKey != null)
            {
                var magicKey = _keyToAliasMap[firstKey];

                var sk1 = new StorageKey(magicKey.MasterKeyID, idx + magicKey.MasterKey);
                entry1Columns = _keyToAliasMap.Keys;
                result.ParentKey = new FederatedStorageKey { TheKey = sk1, ImpactedColumns = entry1Columns };

                // set master entry for the federation ;)
                result.MasterEntry = magicKey.MasterEntry;
            }

            // now create the child key
            var sk2 = new StorageKey(DataListKey, idx + GenerateKeyPrefix(Namespace, DataListKey));

            result.ChildKey = new FederatedStorageKey { TheKey = sk2, ImpactedColumns = FilterColumns(entry1Columns) };

            return result;
        }