예제 #1
0
        public ActionResult History(int contribId)
        {
            var repo = new SimchaFundRepository(Properties.Settings.Default.ConStr);
            IEnumerable <Deposit>      deposits      = repo.GetDepositsById(contribId);
            IEnumerable <Contribution> contributions = repo.GetContributionsById(contribId);

            IEnumerable <Transaction> transactions = deposits.Select(d => new Transaction
            {
                Action = "Deposit",
                Amount = d.Amount,
                Date   = d.Date
            });

            if (contributions != null)
            {
                transactions.Concat(contributions.Select(c => new Transaction
                {
                    Action = "Contribution for " + repo.GetSimchaById(c.SimchaId).SimchaName,
                    Amount = c.Amount * -1,
                    Date   = (DateTime)repo.GetSimchaById(c.SimchaId).SimchaDate
                }));
            }

            transactions.OrderByDescending(t => t.Date);
            var vm = new HistoryViewModel();

            vm.ContributorName    = $"{repo.GetContributorById(contribId).FirstName} {repo.GetContributorById(contribId).LastName}";
            vm.ContributorBalance = repo.GetContributorBalance(contribId);
            vm.Transactions       = transactions;

            return(View(vm));
        }
예제 #2
0
        public ActionResult Deposit(Deposit deposit)
        {
            var repo = new SimchaFundRepository(Properties.Settings.Default.ConStr);

            repo.AddDeposit(deposit);
            TempData["Message"] = $"Deposited ${deposit.Amount} for {repo.GetContributorById(deposit.ContributorId).FirstName} {repo.GetContributorById(deposit.ContributorId).LastName}";
            return(RedirectToAction("index"));
        }