Disco.Services.Interop.ActiveDirectory.ActiveDirectoryGroupCache.SetValue C# (CSharp) Method

SetValue() private method

private SetValue ( ADGroup Group ) : bool
Group ADGroup
return bool
        private bool SetValue(ADGroup Group)
        {
            Tuple<ADGroup, DateTime> groupRecord = Tuple.Create(Group, DateTime.Now.AddTicks(CacheTimeoutTicks));
            Tuple<ADGroup, DateTime> oldGroupRecord;

            var distinguishedName = Group.DistinguishedName;
            var securityIdentifier = Group.SecurityIdentifier;

            if (distinguishedNameCache.ContainsKey(distinguishedName))
            {
                if (distinguishedNameCache.TryGetValue(distinguishedName, out oldGroupRecord))
                {
                    distinguishedNameCache.TryUpdate(distinguishedName, groupRecord, oldGroupRecord);
                }
            }
            else
            {
                distinguishedNameCache.TryAdd(distinguishedName, groupRecord);
            }

            if (securityIdentifierCache.ContainsKey(securityIdentifier))
            {
                if (securityIdentifierCache.TryGetValue(securityIdentifier, out oldGroupRecord))
                {
                    securityIdentifierCache.TryUpdate(securityIdentifier, groupRecord, oldGroupRecord);
                }
            }
            else
            {
                securityIdentifierCache.TryAdd(securityIdentifier, groupRecord);
            }
            return true;
        }