コード例 #1
0
 public static Auction Translate(GetAuctionRequest model) =>
 model != null?Auction.Create(
     userId : model.UserId,
     name : model.Name,
     initialValue : model.InitialValue,
     used : model.Used,
     startDate : model.StartDate,
     endDate : model.EndDate
     ) : Auction.Create();
コード例 #2
0
        public override async Task <GetAuctionResponse> GetAuction(GetAuctionRequest request, ServerCallContext context)
        {
            Models.Auction auction;
            if (request.AuctionId == "active")
            {
                auction = await _auctionService.GetActiveAuction();

                if (auction == null)
                {
                    throw new RpcException(new Status(StatusCode.NotFound, "no active auction running"));
                }
            }
            else
            {
                Guid auctionId;
                if (!Guid.TryParse(request.AuctionId, out auctionId))
                {
                    throw new RpcException(new Status(StatusCode.InvalidArgument, "entryid is not a guid"));
                }
                auction = _auctionService.GetAuction(auctionId);
            }

            if (auction == null)
            {
                throw new RpcException(new Status(StatusCode.NotFound, "auction not found"));
            }
            var res = new GetAuctionResponse
            {
                Auction = new Auction
                {
                    Id         = auction.Id.ToString(),
                    StartedAt  = auction.StartedAt,
                    Duration   = auction.Duration,
                    FinishedAt = auction.FinishedAt,
                }
            };

            return(res);
        }