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;
 }