Ejemplo n.º 1
0
        public override async Task <AnalyzeTrackResponseMessage> AnalyzeTrack(AnalyzeTrackRequestMessage request, ServerCallContext context)
        {
            var mediatorRequest  = new AnalyzeTrackQuery(request.Tracks.Select(x => convertTimedTrack(x)).ToList());
            var mediatorResponse = await mediator.Send(mediatorRequest);

            var result = new AnalyzeTrackResponseMessage();

            result.AverageSpeed = mediatorResponse.AverageSpeed;
            result.AverateSpeedSplits.AddRange(mediatorResponse.AverageSpeedSplits);
            return(result);
        }
Ejemplo n.º 2
0
        public async Task <TrackSpeedAnalyzeResult> AnalyzeTrack(List <TimedTrack> tracks, CancellationToken cancellationToken = default)
        {
            var message = new AnalyzeTrackRequestMessage();

            message.Tracks.AddRange(tracks.Select(x => convertTrack(x)));
            var result = await client.AnalyzeTrackAsync(message, cancellationToken : cancellationToken);

            return(new TrackSpeedAnalyzeResult()
            {
                Average = result.AverageSpeed,
                Splits = result.AverateSpeedSplits.ToList()
            });
        }