예제 #1
0
        public TransactionsCreateViewModel GetTransactionsCreateViewModel(string userName = null)
        {
            string USERID = null;

            if (userName == null)
            {
                USERID = User.GetUserId();
            }
            else
            {
                USERID = _context.Users.SingleOrDefault(u => u.NormalizedUserName == userName.ToUpper()).Id;
            }


            TransactionsCreateViewModel transactionCreateViewModel = new TransactionsCreateViewModel();

            // 取得主交易類別
            transactionCreateViewModel.MainTransactionCategoryCollection = GetMainTransactionCategory();

            // 取得子交易類別
            int MainTransID;

            int.TryParse(transactionCreateViewModel.MainTransactionCategoryCollection.First().Value, out MainTransID);
            transactionCreateViewModel.SubTransactionCategoryCollection = GetSubTransactionCategory(MainTransID);

            // 預設群組
            var representGrpID = _context.Users.Single(u => u.Id == USERID).RepresentativeGroupID;

            // 產生UserGroup 的 SelectList
            transactionCreateViewModel.UserGroupCollection = new SelectList(controllerUserGroups.GetAvailableUserGroup(USERID, representGrpID), "ID", "Name");


            // 取得UserGroup的DisplayName
            MemberInfo property       = typeof(UserGroup).GetProperty("Name");
            var        displayNameObj = property.GetCustomAttribute(typeof(DisplayAttribute)) as DisplayAttribute;

            transactionCreateViewModel.UserGroupDisplayName = displayNameObj.Name;

            // 取得預設UserGroup
            transactionCreateViewModel.FinancialAccountCollection = controllerFinancialAccounts.GetFinancialAccountSelectList(representGrpID);


            // 預設交易時間
            var transaction = new Transaction();

            transaction.Time = DateTime.Today;
            transactionCreateViewModel.Transaction = transaction;

            return(transactionCreateViewModel);
        }
예제 #2
0
        // GET: Transactions/Edit/5
        public IActionResult Edit(int?id)
        {
            if (id == null)
            {
                return(HttpNotFound());
            }

            Transaction transaction = _context.Transaction.Single(m => m.ID == id);

            if (transaction == null)
            {
                return(HttpNotFound());
            }

            TransactionsCreateViewModel transactionViewModel = new TransactionsCreateViewModel();

            // 取得主交易類別
            var MainTransID = _context.SubTransactionCategory.Single(s => s.ID == transaction.SubTransactionCategoryID).MainCategoryID;

            transactionViewModel.MainTransactionCategoryCollection = GetMainTransactionCategory();

            // 取得子交易類別
            transactionViewModel.SubTransactionCategoryCollection = GetSubTransactionCategory(MainTransID);

            // 產生UserGroup 的 SelectList
            var transactionGroupID = _context.FinancialAccount.Single(f => f.ID == transaction.FinancialAccountID).UserGroupID;

            transactionViewModel.UserGroupCollection = new SelectList(controllerUserGroups.GetAvailableUserGroup(User.GetUserId(), transactionGroupID), "ID", "Name");

            // 取得UserGroup的DisplayName
            MemberInfo property       = typeof(UserGroup).GetProperty("Name");
            var        displayNameObj = property.GetCustomAttribute(typeof(DisplayAttribute)) as DisplayAttribute;

            transactionViewModel.UserGroupDisplayName = displayNameObj.Name;

            // 取得預設交易帳戶
            var grpID = _context.UserGroupApplicationUser.FirstOrDefault(grp => grp.ApplicationUserID == User.GetUserId()).UserGroupID;

            transactionViewModel.FinancialAccountCollection = controllerFinancialAccounts.GetFinancialAccountSelectList(transactionGroupID);

            ViewBag.viewModel = transactionViewModel;

            return(View(transaction));
        }
예제 #3
0
        // GET: Transactions/Create
        public IActionResult Create()
        {
            TransactionsCreateViewModel transactionCreateView = GetTransactionsCreateViewModel();

            return(View(transactionCreateView));
        }