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);
        }