Beispiel #1
0
        //---------------------------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);
        }
Beispiel #2
0
 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);
     }
 }
Beispiel #3
0
        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);
        }
Beispiel #4
0
        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));
        }