public ActionResult GroupTransactions(AccountingGroupTransactionsViewModel vm) { try { string[] selectedIds = vm.AvaliableTransactions.Where(x => x.Selected).Select<SelectListItem, string>(x => x.Value).ToArray<string>(); AccountingTransactionTemplateGroup tg = unitOfWork.AccountingTransactionTemplateGroupRepository.GetByID(vm.TemplateTransactionGroup.AccountingTransactionTemplateGroupID); tg.AccountingTransactions.Clear(); IEnumerable<AccountingTransaction> selectedtransactions = unitOfWork.AccountingTransactionRepository.Get(x => selectedIds.Any(i => i.Equals(x.AccountTransactionID.ToString(), StringComparison.InvariantCultureIgnoreCase))).ToArray(); //foreach (var tran in selectedtransactions) //{ // tg.AccountingTransactions.Add(tran); //} for (int i = 0; i < selectedtransactions.Count(); i++) { tg.AccountingTransactions.Add(selectedtransactions.ElementAt(i)); } unitOfWork.AccountingTransactionTemplateGroupRepository.Update(tg); unitOfWork.Save(); } catch (Exception e) { e.LogException(); } return RedirectToAction("Index"); }
public ActionResult GroupTransactions(int accountingTransactionTemplateGroupID) { AccountingGroupTransactionsViewModel vm = new AccountingGroupTransactionsViewModel(); vm.TemplateTransactionGroup = unitOfWork.AccountingTransactionTemplateGroupRepository.GetByID(accountingTransactionTemplateGroupID); return View(SetupAccountingGroupTransactionsViewModel(vm)); }
private AccountingGroupTransactionsViewModel SetupAccountingGroupTransactionsViewModel(AccountingGroupTransactionsViewModel accountingGroupTransactionsViewModel) { accountingGroupTransactionsViewModel.AvaliableTransactions = unitOfWork.AccountingTransactionRepository.GetAvaliableTemplateTransactions(accountingGroupTransactionsViewModel.TemplateTransactionGroup.AccountingTransactions); return accountingGroupTransactionsViewModel; }