private static ManageableVolatilityCubeSnapshot Subtract(ManageableVolatilityCubeSnapshot a, ManageableVolatilityCubeSnapshot b) { return(new ManageableVolatilityCubeSnapshot( Subtract(a.OtherValues, b.OtherValues), Subtract(a.Values, b.Values), Subtract(a.Strikes, b.Strikes))); }
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) )); }