예제 #1
0
        public Task PrepareModelAsync(TransactionListModel model, IPageable <Transaction> transactions)
        {
            if (model == null)
            {
                throw new ArgumentNullException(nameof(model));
            }
            if (transactions == null)
            {
                throw new ArgumentNullException(nameof(transactions));
            }

            foreach (var transaction in transactions)
            {
                var transactionModel = new TransactionModel
                {
                    Transaction = transaction
                };
                model.Items.Add(transactionModel);
            }

            model.ModeOptions.AddRange(SelectListHelper.GetEnumSelectList(selectedEnum: model.Filter.Mode, defaultText: "All"));
            model.StatusOptions.AddRange(SelectListHelper.GetEnumSelectList(selectedEnum: model.Filter.Status, defaultText: "All"));
            model.ProcessorOptions.AddRange(SelectListHelper.GetEnumSelectList(selectedEnum: model.Filter.Processor, defaultText: "All"));
            model.TypeOptions.AddRange(SelectListHelper.GetEnumSelectList(selectedEnum: model.Filter.Type, defaultText: "All"));

            model.Page       = transactions.Page;
            model.PageSize   = transactions.PageSize;
            model.PageFrom   = transactions.PageFrom;
            model.PageTo     = transactions.PageTo;
            model.TotalPages = transactions.TotalPages;
            model.TotalItems = transactions.TotalItems;

            return(Task.CompletedTask);
        }
        public TransactionListModel GetTransactions(string AccountNo)
        {
            var db = new CustomerInfo();

            try
            {
                var acct             = db.Accounts.Where(a => a.AccountNo == AccountNo).First();
                var acctId           = acct.Id;
                var acctName         = acct.AccountName;
                var acctNo           = acct.AccountNo;
                var myTransactions   = db.CustomerTransactions.Where(t => t.AccountId == acctId).ToList();
                var myTransactionRes = new TransactionListModel()
                {
                    ResponseStatus = "Success",
                    AccountName    = acctName,
                    AccountNo      = acctNo,
                };
                myTransactionRes.FillList(myTransactions);
                //myMessage.InfoList.AddRange(myAccounts.ToList());
                return(myTransactionRes);
            }
            catch (Exception)
            {
                var transList = new List <CustomerTransaction>();
                var myMessage = new TransactionListModel()
                {
                    ResponseStatus = "Fail"
                };
                return(myMessage);
            }
        }
 public ViewModelLocator()
 {
     _main = new MainViewModel();
     _transActionList = _main._TransactionListModel;
     _editTransactionModel = _main._EditTransactionModel;
     _chartModel = _main._ChartModel;
     _editAccountModel = _main._EditAccountModel;
 }
 public ViewModelLocator()
 {
     _main                 = new MainViewModel();
     _transActionList      = _main._TransactionListModel;
     _editTransactionModel = _main._EditTransactionModel;
     _chartModel           = _main._ChartModel;
     _editAccountModel     = _main._EditAccountModel;
 }
예제 #5
0
        public ActionResult Transactions()
        {
            TransactionListModel model = new TransactionListModel();

            model.util = GetChefFromCookie();
            model.list = Log.fileToListTransactions(_env);

            return(View(model));
        }
예제 #6
0
        public ActionResult TransactionListFiltered(TransactionsModel filterModel)
        {
            var model = new TransactionListModel
            {
                Transactions = DbAccess.GetTransactions(filterModel)
            };

            return(View("TransactionList", model));
        }
예제 #7
0
        //
        // GET: /Reports/

        public ActionResult TransactionList(Guid?userId)
        {
            var model = new TransactionListModel
            {
                Transactions = DbAccess.GetTransactions(userId ?? SessionData.UserId)
            };

            return(View(model));
        }
예제 #8
0
        public ActionResult Paginate(int pagina = 0)
        {
            int walletId = UserSession.CurrentUser.WalletId;
            TransactionListModel    model     = new TransactionListModel();
            List <TransactionModel> listModel = this.SelectListModel(pagina);

            if (listModel != null)
            {
                model.ListModel.AddRange(listModel);
                model.PageSize         = BaseController.pageSize;
                model.Total            = SelectTransactionCount();
                model.CurrentPageIndex = pagina;
            }

            return(PartialView("TransactionListControl", model));
        }
예제 #9
0
        public ActionResult GetListControl()
        {
            int userId = UserSession.CurrentUser.Id;

            List <TransactionModel> listModel = this.SelectListModel();

            if (listModel != null)
            {
                TransactionListModel model = new TransactionListModel();
                model.PageSize = BaseController.pageSize;
                model.ListModel.AddRange(listModel);
                model.Total = SelectTransactionCount();

                return(Json(new object[] { false, this.RenderRazorViewToString("TransactionListControl", model) }));
            }

            return(Json(new object[] { true }));
        }
예제 #10
0
        public async Task <IActionResult> Index(int page, TransactionFilter filter)
        {
            var seller = await HttpContext.GetMemberAsync();

            if (!(await _userService.IsInRoleAsync(seller, RoleNames.Admin)))
            {
                filter.MemberId = seller.Id;
            }

            var categories = await _transactionService.GetQuery(filter).ToPageableAsync(page, _appSettings.PageDefaultSize);

            var model = new TransactionListModel
            {
                Filter = filter
            };

            await _appService.PrepareModelAsync(model, categories);

            return(View(model));
        }
예제 #11
0
        public TransactionListModel GetByAccount(Guid accountId, int?page)
        {
            var thePage         = page.HasValue ? page.Value : 0;
            var allTransactions = GetByAccount(accountId)
                                  .OrderByDescending(t => t.TransactionDate)
                                  .ThenByDescending(t => t.EnteredDate);

            var transactions = allTransactions
                               .Skip(PAGE_SIZE * thePage).Take(PAGE_SIZE);
            var restOfTransactions = allTransactions
                                     .Skip(PAGE_SIZE * (thePage + 1));
            var startingBalance = restOfTransactions.Sum(t => t.Amount);
            var model           = new TransactionListModel {
                Transactions              = transactions,
                StartingBalance           = startingBalance,
                RemainingTransactionCount = restOfTransactions.Count(),
                Page = thePage
            };

            return(model);
        }
        public async Task <IActionResult> Index(TransactionListCriteriaModel criteria, int pageIndex = 0, int pageSize = 20)
        {
            var transactions = await _transactionService.ListAsync(pageIndex : pageIndex, pageSize : pageSize,
                                                                   userId : criteria.UserId,
                                                                   transactionType : (TransactionType?)criteria.TransactionType,
                                                                   status : (TransactionStatus?)criteria.Status,
                                                                   dateFrom : criteria.DateFrom,
                                                                   dateTo : criteria.DateTo
                                                                   );

            var pagedModel = _mapper.Map <PagedResultModel <TransactionListItemModel> >(transactions);

            var model = new TransactionListModel()
            {
                Criteria           = (criteria.UserId.HasValue || criteria.TransactionType.HasValue || criteria.Status.HasValue || criteria.DateFrom.HasValue || criteria.DateTo.HasValue) ? criteria : null,
                TotalAmount        = pagedModel.Items.Any() ? pagedModel.Items.Sum(x => x.Amount) : (decimal?)null,
                TotalUserAmount    = pagedModel.Items.Any() ? pagedModel.Items.Sum(x => x.UserAmount) : (decimal?)null,
                TotalCompanyAmount = pagedModel.Items.Any() ? pagedModel.Items.Sum(x => x.CompanyAmount) : (decimal?)null,
                Transactions       = pagedModel,
                Users = _mapper.Map <IEnumerable <SelectListItem> >(await _userRepository.ListAsync(new UserFilterSpecification(onlyActive: true)))
            };

            return(View(model));
        }
예제 #13
0
 public Sort(TransactionListModel viewmodel)
 {
     ViewModel = viewmodel;
 }
예제 #14
0
 public Search(TransactionListModel viewmodel)
 {
     ViewModel = viewmodel;
 }