public override async Task <ListAuctionsResponse> ListAuctions(ListAuctionsRequest request, ServerCallContext context) { var auctions = await _auctionService.GetAllAuctions(request.OnlyFinished, request.OnlyActive); var res = new ListAuctionsResponse(); foreach (var auction in auctions) { var auctionItem = new Auction { Id = auction.Id.ToString(), StartedAt = auction.StartedAt, Duration = auction.Duration, FinishedAt = auction.FinishedAt }; try { var winningEntry = JsonSerializer.Deserialize <LightningAuction.Models.AuctionInvoice>(auction.WinningEntry); auctionItem.WinningEntry = new AuctionEntry { Amount = winningEntry.Amount, Message = winningEntry.WinningMessage }; } catch { } res.Auctions.Add(auctionItem); } return(res); }
public override async Task <ListAuctionsResponse> ListAuctions(ListAuctionsRequest request, ServerCallContext context) { if (!(await CheckPassword(context))) { throw new RpcException(new Status(StatusCode.PermissionDenied, "you are not authorized")); } var auctions = await _auctionService.GetAllAuctions(request.OnlyFinished, request.OnlyActive); var res = new ListAuctionsResponse(); foreach (var auction in auctions) { var auctionItem = new Auction { Id = auction.Id.ToString(), StartedAt = auction.StartedAt, Duration = auction.Duration, FinishedAt = auction.FinishedAt }; try { var winningEntry = JsonSerializer.Deserialize <LightningAuction.Models.AuctionInvoice>(auction.WinningEntry); auctionItem.WinningEntry = new AuctionEntry { Amount = winningEntry.Amount, Message = winningEntry.WinningMessage }; } catch { } res.Auctions.Add(auctionItem); } return(res); }