public async Task <ATransaction_TransactionList> GetTransactionsAsync(string unitOfWork, string source)
        {
            using var log = BeginFunction(nameof(TransactionAdminService), nameof(GetTransactionsAsync), unitOfWork);
            try
            {
                await Assert(SecurityPolicy.IsPrivileged).ConfigureAwait(false);

                var transactions = new ATransaction_TransactionList()
                {
                    MFunderTransactions          = await FundingMicroService.GetFunderTransactionSummariesAsync(null, unitOfWork, source).ConfigureAwait(false),
                    MFundableTransactions        = await FundingMicroService.GetFundableTransactionSummariesAsync(null, unitOfWork, source).ConfigureAwait(false),
                    MFulfillableTransactions     = await FulfillmentMicroService.GetFulfillableTransactionSummariesAsync(null, unitOfWork, source).ConfigureAwait(false),
                    MShipmentRequestTransactions = await FulfillmentMicroService.GetShipmentRequestTransactionSummariesAsync(null, unitOfWork, source).ConfigureAwait(false),
                    MShipmentTransactions        = await FulfillmentMicroService.GetShipmentTransactionSummariesAsync(null, unitOfWork, source).ConfigureAwait(false),
                    MReturnRequestTrnsactions    = await FulfillmentMicroService.GetReturnRequestTransactionSummariesAsync(null, unitOfWork, source).ConfigureAwait(false),
                    MReturnTransactions          = await FulfillmentMicroService.GetReturnTransactionSummariesAsync(null, unitOfWork, source).ConfigureAwait(false),
                    MLedgerTransactions          = await LedgerMicroService.GetLedgerTransactionSummariesAsync(unitOfWork, source).ConfigureAwait(false),
                    MOrderTransactions           = await OrderMicroService.GetOrderTransactionSummariesAsync(null, unitOfWork, source).ConfigureAwait(false),
                    MSquarePaymentTransactions   = await SquareMicroService.GetPaymentTransactionSummariesAsync(null, unitOfWork, source).ConfigureAwait(false),
                    MSquareRefundTransactions    = await SquareMicroService.GetRefundTransactionSummariesAsync(null, null, unitOfWork, source).ConfigureAwait(false)
                };

                var result = transactions;

                log.Result(result);

                return(result);
            }
            catch (Exception ex)
            {
                log.Exception(ex);
                throw;
            }
        }
Пример #2
0
        private List <TransactionListItem> CreateTransactions(ATransaction_TransactionList aTransactionList)
        {
            var transactions = new List <TransactionListItem>();

            transactions.AddRange(aTransactionList.MFunderTransactions.Summaries.Select(r => CreateTransactionListItem(r)));
            transactions.AddRange(aTransactionList.MFundableTransactions.Summaries.Select(r => CreateTransactionListItem(r)));
            transactions.AddRange(aTransactionList.MFulfillableTransactions.Summaries.Select(r => CreateTransactionListItem(r)));
            transactions.AddRange(aTransactionList.MShipmentRequestTransactions.Summaries.Select(r => CreateTransactionListItem(r)));
            transactions.AddRange(aTransactionList.MShipmentTransactions.Summaries.Select(r => CreateTransactionListItem(r)));
            transactions.AddRange(aTransactionList.MReturnRequestTrnsactions.Summaries.Select(r => CreateTransactionListItem(r)));
            transactions.AddRange(aTransactionList.MReturnTransactions.Summaries.Select(r => CreateTransactionListItem(r)));
            transactions.AddRange(aTransactionList.MLedgerTransactions.Summaries.Select(r => CreateTransactionListItem(r)));
            transactions.AddRange(aTransactionList.MOrderTransactions.Summaries.Select(r => CreateTransactionListItem(r)));
            transactions.AddRange(aTransactionList.MSquarePaymentTransactions.Summaries.Select(r => CreateTransactionListItem(r)));
            transactions.AddRange(aTransactionList.MSquareRefundTransactions.Summaries.Select(r => CreateTransactionListItem(r)));

            return(transactions);
        }
Пример #3
0
        public TransactionList CreateTransactionList(ATransaction_TransactionList mTransaction, PagingState pagingState)
        {
            var summaries = CreateTransactions(mTransaction);

            var sortFunction    = GetSortFunction(pagingState.Sort);
            var sortedSummaries = sortFunction != null
                ? pagingState.Descending
                    ? summaries.OrderByDescending(sortFunction).ToList()
                    : summaries.OrderBy(sortFunction).ToList()
                : summaries;

            var pageSize       = PagingState.PageSize;
            var pageNumber     = WebMath.GetPageNumber(pagingState.Page, sortedSummaries.Count, pageSize);
            var pagedSummaries = sortedSummaries.ToPagedList(pageNumber, pageSize);

            var(unitOfWork, source) = ParsePagingStateFilter(pagingState.Filter);

            var model = new TransactionList()
            {
                Items  = pagedSummaries,
                Filter = new TransactionListFilter()
                {
                    UnitOfWork = unitOfWork,
                    Source     = source,
                    SourceList = new List <SelectListItem>
                    {
                        new SelectListItem()
                        {
                            Text = "(Any)", Value = AnySource
                        },
                        new SelectListItem()
                        {
                            Text = "Fulfillable", Value = MSources.Fulfillable
                        },
                        new SelectListItem()
                        {
                            Text = "Fundable", Value = MSources.Fundable
                        },
                        new SelectListItem()
                        {
                            Text = "Funder", Value = MSources.Funder
                        },
                        new SelectListItem()
                        {
                            Text = "Order", Value = MSources.Order
                        },
                        new SelectListItem()
                        {
                            Text = "Shipment", Value = MSources.Shipment
                        },
                        new SelectListItem()
                        {
                            Text = "Shipment Request", Value = MSources.ShipmentRequest
                        },
                        new SelectListItem()
                        {
                            Text = "Square Payment", Value = MSources.SquarePayment
                        },
                        new SelectListItem()
                        {
                            Text = "Square Refund", Value = MSources.SquareRefund
                        },
                        new SelectListItem()
                        {
                            Text = "Return", Value = MSources.Return
                        },
                        new SelectListItem()
                        {
                            Text = "Return Request", Value = MSources.ReturnRequest
                        }
                    }
                }
            };

            return(model);
        }