/// <summary> /// Replicate client account cache data. /// </summary> /// <param name="replicationData"> Replication data. </param> /// <param name="principal"> The bank service user replicating data. </param> private void ReplicateCacheData(IReplicationItem replicationData, IPrincipal principal) { Console.WriteLine($"Replicating cache data from {principal.Identity.Name}"); var client = BankCache.GetClientFromCache(_bankCache, replicationData.Client.Name); client.Pin = replicationData.Client.Pin; client.Account = new Account(replicationData.Client.Account.Balance); _bankCache.StoreData(); }
public void ReplicateData(IReplicationItem replicationData) { var principal = Thread.CurrentPrincipal; if ((replicationData.Type & ReplicationType.UserData) != 0) { ReplicateCacheData(replicationData, principal); } if ((replicationData.Type & ReplicationType.CertificateData) != 0) { if ((replicationData.Type & ReplicationType.RevokeCertificate) == 0) { RevokeOldAndPlaceNewCertificate(replicationData.Certificate); } else { RevokeOldCertificate(replicationData.Certificate); } } }