示例#1
0
        public static bool WeDoNotHaveExactlyOneReturnPerMonth(
            this IEnumerable <MonthlyReturn> allReturns,
            MonthYearRange monthYearRange)
        {
            var exactlyOneMonth = true;

            monthYearRange.ForEachMonthInRange(
                m =>
            {
                if (allReturns.Count(r => r.MonthYear == m) != 1)
                {
                    exactlyOneMonth = false;
                }
            });

            return(!exactlyOneMonth);
        }
        public IEnumerable <OmniDataFileLineModel> CreateQuarterLineModels(FeeType feeType)
        {
            var models = new List <OmniDataFileLineModel>();

            _januaryToGivenMonth.ForEachMonthInRange(
                m =>
            {
                if (m.IsLastMonthOfQuarter)
                {
                    var calculateQuarterRequest = CalculateReturnRequestFactory.ThreeMonth(m);

                    var netQuarterResult = _portfolio.CalculateReturn(calculateQuarterRequest, feeType);

                    if (!netQuarterResult.HasError)
                    {
                        models.Add(CreateQuarterModel(m, netQuarterResult, feeType));
                    }
                }
            });

            return(models);
        }