diff --git a/Utility/CustomAggregator.cs b/Utility/CustomAggregator.cs index 745fc7a..2824f0a 100644 --- a/Utility/CustomAggregator.cs +++ b/Utility/CustomAggregator.cs @@ -290,6 +290,22 @@ namespace TradeBlotter.UIUtils } } + public class MGSHPositionSumFunctionRisk:AggregateFunction + { + public MGSHPositionSumFunctionRisk() + { + this.AggregationExpression=items => Sum(items); + } + private String Sum(IEnumerable source) + { + StringBuilder sb=new StringBuilder(); + List activePositions=source.Where(x => x.IsActivePosition).ToList(); + double sum=activePositions.Sum(x => x.TotalRiskExposure); + return Utility.FormatCurrency(sum); + } + } + + // ********************************************************************************************************************************** // ********************************************************* C M M O M E N T U M ****************************************************** // ********************************************************************************************************************************** diff --git a/Utility/UIUtils.cs b/Utility/UIUtils.cs index 426c1bc..551c3ea 100644 --- a/Utility/UIUtils.cs +++ b/Utility/UIUtils.cs @@ -10,6 +10,20 @@ using MarketData.Utils; namespace TradeBlotter.UIUtils { + public class RMultipleValueConverter : IValueConverter + { + public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) + { + double doubleValue = (double)value; + if (double.IsNaN(doubleValue)) return Constants.CONST_DASHES; + return Utility.FormatNumber(doubleValue,2)+"R"; + } + public object ConvertBack(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture) + { + return null; + } + } + public class DoubleValueConverter : IValueConverter { public object Convert(object value, Type targetType, object parameter, System.Globalization.CultureInfo culture)