Ejemplo n.º 1
0
        public async Task <FileDto> GetTransactionsToExcel(GetAllTransactionsInput input)
        {
            var filteredTransactions = _transactionRepository.GetAll().AppendTransactionMainFilter(input, AbpSession.UserId);

            var transactions = from o in filteredTransactions

                               join o1 in _bookingRepository.GetAll() on o.BookingId equals o1.Id into j1
                               from s1 in j1.DefaultIfEmpty()

                               join o2 in _tourRepository.GetAll() on s1.TourId equals o2.Id into j2
                               from s2 in j2.DefaultIfEmpty()

                               select new GetTransactionForViewDto()
            {
                Transaction = new TransactionDto
                {
                    Id = o.Id,
                    TransactionDate = o.TransactionDate,
                    Amount          = o.Amount,
                    BookingId       = o.BookingId,
                    CardNumber      = o.CardNumber.Substring(o.CardNumber.Length - 4),
                    NameOnCard      = o.NameOnCard,
                    Status          = o.Status
                },
                TourName    = s2.Name,
                BookingCode = "B-" + s1.Id
            };

            var result = await transactions.OrderBy(input.Sorting ?? "Transaction.Id asc").ToListAsync();

            return(_transactionsExcelExporter.ExportToFile(result));
        }
Ejemplo n.º 2
0
        public async Task <FileDto> GetTransactionsToExcel(GetAllTransactionsForExcelInput input)
        {
            var filteredTransactions = _transactionRepository.GetAll()
                                       .WhereIf(!string.IsNullOrWhiteSpace(input.Filter), e => false || e.Time.Contains(input.Filter) || e.Address.Contains(input.Filter) || e.Reason.Contains(input.Filter) || e.Remark.Contains(input.Filter))
                                       .WhereIf(input.MinTransTypeFilter != null, e => e.TransType >= input.MinTransTypeFilter)
                                       .WhereIf(input.MaxTransTypeFilter != null, e => e.TransType <= input.MaxTransTypeFilter);

            var query = (from o in filteredTransactions
                         select new GetTransactionForViewDto()
            {
                Transaction = new TransactionDto
                {
                    TransType = o.TransType,
                    Id = o.Id
                }
            });


            var transactionListDtos = await query.ToListAsync();

            return(_transactionsExcelExporter.ExportToFile(transactionListDtos));
        }