//---------------------------Events Page --------------------------------------// public IEnumerable <EventWithContributorCount> GetEventsWithCount() { var events = new List <EventWithContributorCount>(); using (var ctx = new EventDbDataContext(_connString)) { foreach (Event e in ctx.Events) { IEnumerable <Contributor> contributors = GetEventContributors(e.Id); events.Add(new EventWithContributorCount { Count = contributors.Count(), EventHost = e.EventHost, Date = e.Date, Total = GetEventTotal(e.Id), Id = e.Id }); } } return(events); }
public int GetContributorBalance(int id) { using (var ctx = new EventDbDataContext(_connString)) { var depositsTotal = 0; foreach (Deposit d in ctx.Deposits) { if (d.ContributorId == id) { depositsTotal += d.Amount; } } var contributionsTotal = 0; foreach (Contribution d in ctx.Contributions) { if (d.ContributorId == id) { contributionsTotal += d.ContributionAmount; } } return(depositsTotal - contributionsTotal); } }
public List <EventContribution> getContributionAmounts(int eventId) { List <EventContribution> result = new List <EventContribution>(); using (var ctx = new EventDbDataContext(_connString)) { List <Contribution> contributions = ctx.Contributions.Where(c => c.EventId == eventId).ToList(); foreach (Contribution c in contributions) { if (c.Id != 0) { result.Add(new EventContribution { Id = c.ContributorId, ContributionId = c.Id, Amount = c.ContributionAmount, Date = c.Date }); } } } return(result); }
public IEnumerable <Transaction> GetContributorHistory(int contributorId) { List <Transaction> transactions = new List <Transaction>(); using (var ctx = new EventDbDataContext(_connString)) { List <Deposit> deposits = ctx.Deposits.Where(d => d.ContributorId == contributorId).ToList(); transactions = deposits.Select(d => new Transaction { Type = TransactionType.Deposit, Date = d.Date, Amount = d.Amount }).ToList(); List <Contribution> contributions = ctx.Contributions.Where(c => c.ContributorId == contributorId).ToList(); transactions.AddRange(contributions.Select(c => new Transaction { Type = TransactionType.Contribution, EventHost = ctx.Events.First(e => e.Id == c.EventId).EventHost, Date = c.Date, Amount = c.ContributionAmount }).ToList()); } return(transactions.OrderBy(t => t.Date)); }