public async Task <List <FreightRegisterModel> > GetFreightsRegisterByTruckerId(int truckerId) { var channel = GrpcChannel.ForAddress("https://localhost:5003"); try { var client = new Greeter.GreeterClient(channel); var request = new GetFreightsRegisterByTruckerIdRequest(); request.TruckerId = truckerId; var response = await client.GetFreightsRegisterByTruckerIdAsync(request); var freights = response.FreightRegisters.Select(s => new FreightRegisterModel() { Id = s.Id, TruckerId = s.TruckerId, FreightId = s.FreightId, Payment = s.Payment, Status = s.Status }).ToList(); return(freights); } finally { await channel.ShutdownAsync(); } }
public override async Task <GetFreightsRegisterByTruckerIdResponse> GetFreightsRegisterByTruckerId(GetFreightsRegisterByTruckerIdRequest request, ServerCallContext context) { var results = await _freightRegisterQueries.GetCompletedRegistersForTrucker(request.TruckerId); var messages = new List <FreightRegisterMessage>(); foreach (var result in results) { var freightMessage = new FreightRegisterMessage() { Id = result.Id, FreightId = result.FreightId, TruckerId = result.TruckerId, Status = result.Status, Payment = result.Payment }; messages.Add(freightMessage); } var freightResponse = new GetFreightsRegisterByTruckerIdResponse(); freightResponse.FreightRegisters.AddRange(messages); return(freightResponse); }