private List <GivingSummary> OrderGivingsByOnlineSort() { var withSort = GivingSummary.Where(p => p.FundOnlineSort != null).OrderBy(c => c.FundOnlineSort).ToList(); var withoutSort = GivingSummary.Where(p => p.FundOnlineSort == null).OrderBy(c => c.Fund).ToList(); withSort.AddRange(withoutSort); return(withSort); }
private void AddGivingSummary(Contribution contribution, IQueryable <Contribution> contributionRecords) { var fundName = contribution.ContributionFund.FundName; if (!GivingSummary.Any(p => p.Fund == fundName)) { List <Contribution> contributionsThisFund = contributionRecords .Where(c => c.ContributionTypeId != ContributionTypeCode.Pledge && c.ContributionFund.FundName == fundName).ToList(); decimal amountContributed = 0; if (contributionsThisFund.Count != 0) { amountContributed = contributionsThisFund.Sum(c => c.ContributionAmount ?? 0); } GivingSummary.Add(new GivingSummary() { FundId = contribution.ContributionFund.FundId, Fund = fundName, AmountContributed = amountContributed, FundOnlineSort = contribution.ContributionFund.OnlineSort }); } }