Esempio n. 1
0
        public PagedList <RubReport> GetReportTransactions(ReportsResourceParameters parameters)
        {
            var collectionBeforePaging = _context.RubReports
                                         .AsNoTracking()
                                         .OrderByDescending(c => c.QpayCreatedAt)
                                         .AsQueryable();

            // Search.
            // if (!string.IsNullOrEmpty(parameters.SearchQuery)) {
            //     var searchQyeries = parameters.SearchQuery.Split(" ").ToList();

            //     foreach (var query in searchQyeries) {
            //         var searchQueryForWhereClause = query.Trim().ToLowerInvariant();
            //         collectionBeforePaging = collectionBeforePaging
            //             .Where(c => c.QpayTransactionId.ToLowerInvariant().Contains(searchQueryForWhereClause)
            //                 || c.GatewayTransactionId.ToLowerInvariant().Contains(searchQueryForWhereClause)
            //                 || c.ServiceProviderTransactionId.ToLowerInvariant().Contains(searchQueryForWhereClause)
            //                 || c.Account.ToLowerInvariant().Contains(searchQueryForWhereClause)
            //             );
            //     }
            // }

            var reports = PagedList <RubReport> .Create(collectionBeforePaging,
                                                        parameters.PageNumber,
                                                        parameters.PageSize);

            return(reports);
        }
Esempio n. 2
0
        private string CreateReportsResourceUri(ReportsResourceParameters parameters, ResourceUriType type)
        {
            switch (type)
            {
            case ResourceUriType.PreviousPage:
                return(_urlHelper.Link("GetRubReports",
                                       new {
                    pageNumber = parameters.PageNumber - 1,
                    pageSize = parameters.PageSize,
                    searchQuery = parameters.SearchQuery
                }));

            case ResourceUriType.NextPage:
                return(_urlHelper.Link("GetRubReports",
                                       new {
                    pageNumber = parameters.PageNumber + 1,
                    pageSize = parameters.PageSize,
                    searchQuery = parameters.SearchQuery
                }));

            default:
                return(_urlHelper.Link("GetRubReports",
                                       new {
                    pageNumber = parameters.PageNumber,
                    pageSize = parameters.PageSize,
                    searchQuery = parameters.SearchQuery
                }));
            }
        }
Esempio n. 3
0
        public async Task <IActionResult> GenerateCsvFile([FromQuery] int?serviceId = null,
                                                          [FromQuery] DateTime?from = null,
                                                          [FromQuery] DateTime?to   = null)
        {
            var data       = "Created at,QPay ID,Gateway ID,Provider ID,TJS,RUB,Rate,Service,Terminal\n";
            var parameters = new ReportsResourceParameters {
            };

            //var transactionsFromRepo = _rep.GetReportTransactions(parameters);
            var transactionsFromRepo = _rep.GetReportTransactions(from, to, serviceId);


            foreach (var transaction in transactionsFromRepo)
            {
                data += transaction.QpayCreatedAt;
                data += "," + transaction.QpayTransactionId;
                data += "," + transaction.GatewayTransactionId;
                data += "," + transaction.ServiceProviderTransactionId;
                data += "," + transaction.AmountInTjs;
                data += "," + transaction.AmountInRub;
                data += "," + transaction.RubRate;

                switch (transaction.ServiceUpgId)
                {
                case 323:
                    data += ",Megafon RT (IBT RUB)";
                    break;

                case 325:
                    data += ",Tcell (IBT RUB)";
                    break;

                case 326:
                    data += ",Babilon-M (IBT RUB)";
                    break;

                case 324:
                    data += ",Beeline RT (IBT RUB)";
                    break;
                }

                data += "," + transaction.TerminalNumber;
                data += "\n";
            }

            var bytes = UnicodeEncoding.UTF8.GetBytes(data);

            return(File(bytes, "text/csv"));
        }
Esempio n. 4
0
        public async Task <IActionResult> GetRubReports([FromQuery] ReportsResourceParameters parameters)
        {
            var transactionsFromRepo = _rep.GetReportTransactions(parameters);

            var paginationMetadata = new {
                totalCount  = transactionsFromRepo.TotalCount,
                pageSize    = transactionsFromRepo.PageSize,
                currentPage = transactionsFromRepo.CurrentPage,
                totalPages  = transactionsFromRepo.TotalPages,
                // previousPageLink = previousPageLink,
                // nextPageLink = nextPageLink
            };

            Response.Headers.Add("X-Pagination",
                                 Newtonsoft.Json.JsonConvert.SerializeObject(paginationMetadata));

            var clients = Mapper.Map <IEnumerable <RubReportDto> >(transactionsFromRepo);

            return(Ok(clients));
        }