예제 #1
0
        public override async Task <TakeFreightCommandResponse> TakeFreight(TakeFreightCommandRequest request, ServerCallContext context)
        {
            var addTruckerCommand = new TakeFreightCommand(request.TruckerId, request.Payment, request.FreightId);
            var result            = await _mediator.Send(addTruckerCommand);

            var truckerMessage = new TakeFreightCommandResponse();

            truckerMessage.Success = result;
            return(truckerMessage);
        }
        public async Task <bool> TakeFreight(int truckerId, int freightId, int payment)
        {
            var channel = GrpcChannel.ForAddress("https://localhost:5003");

            try
            {
                var client  = new Greeter.GreeterClient(channel);
                var request = new TakeFreightCommandRequest();
                request.TruckerId = truckerId;
                request.FreightId = freightId;
                request.Payment   = payment;
                var response = await client.TakeFreightAsync(request);

                return(response.Success);
            }
            finally
            {
                await channel.ShutdownAsync();
            }
        }