public async Task <string> GetShortTitle(int routeId) { var route = await DomainRouteService.Get(routeId); if (route == null) { throw new EntityNotFoundException($"RouteId:{route} not found", "Id"); } var transportationsLegs = await DomainRouteLegService.GetByRoute(routeId, RouteLegKind.Transportation); var shortTitles = new List <string>(); foreach (var leg in transportationsLegs) { var startShortTitle = await AddressService.GetShortTitle(leg.StartAddressId); var endShortTitle = await AddressService.GetShortTitle(leg.EndAddressId); shortTitles.Add(startShortTitle); shortTitles.Add(endShortTitle); } var normalizedShortTitles = GetNormalizedShortTitles(shortTitles); return(string.Join(" - ", normalizedShortTitles)); }
public async Task <Route> CreateDomainRoute(RouteAM route) { var domainRoute = await DomainRouteService.Create(route.Comment); foreach (var leg in route.Legs) { var startDomainAddress = await AddressService.GetOrCreateDomainAddress(leg.StartAddress); var endDomainAddress = await AddressService.GetOrCreateDomainAddress(leg.EndAddress); var routeLeg = await DomainRouteLegService.Create( domainRoute.Id, leg.Kind, startDomainAddress.Id, endDomainAddress.Id, leg.Duration, leg.Distance); } return(domainRoute); }