Ejemplo n.º 1
0
        public TransactionsModule(IBrightstarService brightstarService, AbstractStorePermissionsProvider storePermissionsProvider)
        {
            this.RequiresBrightstarStorePermission(storePermissionsProvider, get: StorePermissions.ViewHistory);

            Get["/{storeName}/transactions"] = parameters =>
            {
                var transactionsRequest = this.Bind <TransactionsRequestObject>();
                if (transactionsRequest.Take <= 0)
                {
                    transactionsRequest.Take = DefaultPageSize;
                }
                var transactions = brightstarService.GetTransactions(transactionsRequest.StoreName,
                                                                     transactionsRequest.Skip,
                                                                     transactionsRequest.Take + 1);
                return(Negotiate.WithPagedList(transactionsRequest,
                                               transactions.Select(MakeResponseObject),
                                               transactionsRequest.Skip, transactionsRequest.Take, DefaultPageSize,
                                               "transactions"));
            };

            Get["/{storeName}/transactions/byjob/{jobId}"] = parameters =>
            {
                Guid jobId;
                if (!Guid.TryParse(parameters["jobId"], out jobId))
                {
                    return(HttpStatusCode.NotFound);
                }
                var txn = brightstarService.GetTransaction(parameters["storeName"], jobId);
                return(txn == null ? HttpStatusCode.NotFound : MakeResponseObject(txn));
            };
        }
Ejemplo n.º 2
0
        public TransactionsModule(IBrightstarService brightstarService, AbstractStorePermissionsProvider storePermissionsProvider)
        {
            this.RequiresBrightstarStorePermission(storePermissionsProvider, get:StorePermissions.ViewHistory);

            Get["/{storeName}/transactions"] = parameters =>
                {
                    var transactionsRequest = this.Bind<TransactionsRequestObject>();
                    ViewBag.Title = transactionsRequest.StoreName + " - Transactions";
                    if (transactionsRequest.Take <= 0) transactionsRequest.Take = DefaultPageSize;
                    var transactions = brightstarService.GetTransactions(transactionsRequest.StoreName,
                                                                                 transactionsRequest.Skip,
                                                                                 transactionsRequest.Take + 1);
                    return Negotiate.WithPagedList(transactionsRequest,
                                                   transactions.Select(MakeResponseObject),
                                                   transactionsRequest.Skip, transactionsRequest.Take, DefaultPageSize,
                                                   "transactions");
                };

            Get["/{storeName}/transactions/byjob/{jobId}"] = parameters =>
                {
                    Guid jobId;
                    if (!Guid.TryParse(parameters["jobId"], out jobId))
                    {
                        return HttpStatusCode.NotFound;
                    }
                    var storeName = parameters["storeName"];
                    ViewBag.Title = storeName + " - Transaction - Job " + jobId;
                    var txn = brightstarService.GetTransaction(parameters["storeName"], jobId);
                    return txn == null ? HttpStatusCode.NotFound : MakeResponseObject(txn);
                };
        }