private static UpdateAction <ManageableMarketDataSnapshot> PrepareCubeAddAction(VolatilityCubeKey key, ManageableVolatilityCubeSnapshot value)
        {
            var valueClone = value.Clone();

            return(new UpdateAction <ManageableMarketDataSnapshot>(
                       delegate(ManageableMarketDataSnapshot snap)
            {
                snap._volatilityCubes.Add(key, valueClone.Clone());
                snap.InvokePropertyChanged(new PropertyChangedEventArgs("VolatilityCubes"));
            }
                       ));
        }
 private static UpdateAction <ManageableMarketDataSnapshot> PrepareCubeRemoveAction(VolatilityCubeKey key, ManageableVolatilityCubeSnapshot value)
 {
     return(new UpdateAction <ManageableMarketDataSnapshot>(
                delegate(ManageableMarketDataSnapshot snap)
     {
         snap._volatilityCubes.Remove(key);
         snap.InvokePropertyChanged(new PropertyChangedEventArgs("VolatilityCubes"));
     },
                OverriddenVolatilityCubeDisappearingWarning.Of(key, value)
                ));
 }
예제 #3
0
 public static IEnumerable <Warning> Of(VolatilityCubeKey key, ManageableVolatilityCubeSnapshot value)
 {
     return(value.HaveOverrides() ? new Warning[] { new OverriddenVolatilityCubeDisappearingWarning(key) } : new Warning[] { });
 }
예제 #4
0
 private OverriddenVolatilityCubeDisappearingWarning(VolatilityCubeKey key)
     : base(string.Format("Volatility Cube {0} {1} will not be present in the new snapshot, overrides will be lost", key.Currency, key.Name))
 {
 }
예제 #5
0
 public static IEnumerable<Warning> Of(VolatilityCubeKey key, ManageableVolatilityCubeSnapshot value)
 {
     return value.HaveOverrides() ? new Warning[] { new OverriddenVolatilityCubeDisappearingWarning(key) } : new Warning[] { };
 }
예제 #6
0
 private OverriddenVolatilityCubeDisappearingWarning(VolatilityCubeKey key)
     : base(string.Format("Volatility Cube {0} {1} will not be present in the new snapshot, overrides will be lost", key.Currency, key.Name))
 {
 }