public InMemoryKeyRepository()
        {
            int index = 1;

            // заполняем приложениями
            foreach (var app in TestApplicationCollection.KeyApplications)
            {
                for (int i = index; i < TestApplicationCollection.KeyApplications.Length - index; i++)
                {
                    AuthKeyValue authKeyValue = $"{index}";
                    var          appKey       = new ApplicationWithKey(
                        TestApplicationCollection.KeyApplications[i],
                        app,
                        authKeyValue);

                    AuthKey key = new ExistingAuthKey(
                        authKeyValue,
                        true,
                        TestApplicationCollection.KeyApplications[i],
                        app);

                    _keyDictionary.Add(appKey, key);
                }
            }
        }
 public ApplicationWithKey(
     KeyApplication requestingApplication,
     KeyApplication targetApplication,
     AuthKeyValue key)
 {
     RequestingApplication = requestingApplication ?? throw new ArgumentNullException(nameof(requestingApplication));
     Key = key;
     TargetApplication = targetApplication ?? throw new ArgumentNullException(nameof(targetApplication));
 }
 public ApplicationCodeAuthKeyValidateRequest(
     ApplicationCode requestingApplicationCode,
     ApplicationCode targetApplicationCode,
     AuthKeyValue key)
 {
     RequestingApplicationCode = requestingApplicationCode;
     TargetApplicationCode     = targetApplicationCode;
     Key = key;
 }