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); }
// 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)); }
// GET: Transactions/Create public IActionResult Create() { TransactionsCreateViewModel transactionCreateView = GetTransactionsCreateViewModel(); return(View(transactionCreateView)); }