Пример #1
0
        // GET: Home
        public ActionResult Index()
        {
            List <(string AccountNumber, string AccountName, decimal?Amount, decimal?MonthOutgoing, decimal?MonthIncoming, decimal?MonthNet)> AccountsOverview = new List <(string AccountNumber, string AccountName, decimal?Amount, decimal?MonthOutgoing, decimal?MonthIncoming, decimal?MonthNet)>();
            int UserID = GetUserID();

            using (var dbc = new MiniBankEntities())
            {
                string Name = dbc.Users.Where(u => u.UserID == UserID).Select(u => u.FirstName).FirstOrDefault();
                ViewBag.UserName = Name;
            }
            using (var dbc = new MiniBankEntities())
            {
                accounts             = dbc.Accounts.Where(a => a.CustomerID == UserID).ToList();
                ViewBag.OpenAccounts = accounts.Count();
                var date      = DateTime.Now;
                var startDate = new DateTime(date.Year, date.Month, 1);
                var endDate   = startDate.AddMonths(1).AddDays(-1);

                foreach (var item in accounts)
                {
                    var monthsOutgoing = dbc.Bank_Transaction
                                         .Join(dbc.TransactionTypes, bt => bt.TransactionType, t => t.TypeID, (bt, t) => new { bt, t })
                                         .Where(btt => btt.bt.AccountID == item.AccountID && btt.t.IsDebit == true && (btt.bt.TransactionDate >= startDate && btt.bt.TransactionDate <= endDate))
                                         .Sum(btt => btt.bt.Amount);

                    var monthsIncoming = dbc.Bank_Transaction
                                         .Join(dbc.TransactionTypes, bt => bt.TransactionType, t => t.TypeID, (bt, t) => new { bt, t })
                                         .Where(btt => btt.bt.AccountID == item.AccountID && btt.t.IsDebit == false && (btt.bt.TransactionDate >= startDate && btt.bt.TransactionDate <= endDate))
                                         .Sum(btt => btt.bt.Amount);

                    monthsOutgoing = monthsOutgoing == null ? 0 : monthsOutgoing;
                    monthsIncoming = monthsIncoming == null ? 0 : monthsIncoming;
                    var monthNet = monthsIncoming - monthsOutgoing;

                    var accountInfo = (
                        item.AccountNumber,
                        item.AccountName,
                        item.Amount,
                        monthsOutgoing,
                        monthsIncoming,
                        monthNet == null ? 0 : monthNet
                        );

                    AccountsOverview.Add(accountInfo);
                }

                //Pay someone

                //Set up a direct debit
            }
            ViewBag.AccountsOverview = AccountsOverview;
            //ViewBag.pass = Crypto.Hash("password1234");
            return(View());
        }
 public OverviewHub(AccountsOverview accountsOverview, ICommandCoordinator commandCoordinator)
 {
     _accountsOverview   = accountsOverview;
     _commandCoordinator = commandCoordinator;
 }
Пример #3
0
 public OverviewHub(AccountsOverview accountsOverview, ICommandCoordinator commandCoordinator)
 {
     _accountsOverview = accountsOverview;
     _commandCoordinator = commandCoordinator;
 }