private static List <LinkVm> GetBreadcrumbs(CommunityDetailsVm communityDetails)
        {
            List <LinkVm> breadcrumbs = GetBreadcrumbs((SearchVm)communityDetails);

            breadcrumbs.Add(new LinkVm(communityDetails.Community.Name, MslcUrlBuilder.DetailsUrl(communityDetails.Community, communityDetails.Criteria.SearchType())));
            return(breadcrumbs);
        }
        private static List <LinkVm> GetBreadcrumbs(ServiceProviderDetailsVm serviceProviderDetails)
        {
            List <LinkVm> breadcrumbs = GetBreadcrumbs((SearchVm)serviceProviderDetails);

            breadcrumbs.Add(new LinkVm(serviceProviderDetails.ServiceProvider.Name, MslcUrlBuilder.DetailsUrl(serviceProviderDetails.ServiceProvider)));
            return(breadcrumbs);
        }
Esempio n. 3
0
        private static UrlProcessingResult CheckForOldUrl(string url, out string newUrl)
        {
            newUrl = null;
            Match match = OldDetails.Match(url);

            if (match.Success)
            {
                if (TryParseToPropertyType(match.Groups["searchType"].Value, out var type))
                {
                    if (type == SearchType.ProductsAndServices)
                    {
                        ServiceProviderShortVm serviceProviderShortVm = new ServiceProviderShortVm();
                        serviceProviderShortVm.Id                = Convert.ToInt64(match.Groups["listingId"].Value);
                        serviceProviderShortVm.Name              = match.Groups["listingName"].Value;
                        serviceProviderShortVm.Address           = new AddressVm();
                        serviceProviderShortVm.Address.StateCode = match.Groups["stateCode"].Value;
                        serviceProviderShortVm.Address.City      = match.Groups["city"].Value;
                        newUrl = MslcUrlBuilder.DetailsUrl(serviceProviderShortVm);
                    }
                    else
                    {
                        CommunityShortVm communityShortVm = new CommunityShortVm();
                        communityShortVm.Id                = Convert.ToInt64(match.Groups["listingId"].Value);
                        communityShortVm.Name              = match.Groups["listingName"].Value;
                        communityShortVm.Address           = new AddressVm();
                        communityShortVm.Address.StateCode = match.Groups["stateCode"].Value;
                        communityShortVm.Address.City      = match.Groups["city"].Value;
                        newUrl = MslcUrlBuilder.DetailsUrl(communityShortVm, type);
                    }
                    if (!newUrl.IsNullOrEmpty())
                    {
                        return(UrlProcessingResult.RedirectPermanent);
                    }
                    return(UrlProcessingResult.NotFound);
                }
                return(UrlProcessingResult.NotFound);
            }
            Match match2 = OldSearch.Match(url);

            if (match2.Success)
            {
                if (TryParseToPropertyType(match2.Groups["searchType"].Value, out var type2))
                {
                    SearchCriteria criteria = new SearchCriteria();
                    criteria.StateCode(match2.Groups["stateCode"].Value);
                    criteria.City(match2.Groups["city"].Value);
                    newUrl = MslcUrlBuilder.SearchUrl(criteria, type2);
                    if (!newUrl.IsNullOrEmpty())
                    {
                        return(UrlProcessingResult.RedirectPermanent);
                    }
                    return(UrlProcessingResult.NotFound);
                }
                return(UrlProcessingResult.NotFound);
            }
            return(UrlProcessingResult.Continue);
        }
Esempio n. 4
0
        private static string GetServiceDetailsUrl(long id)
        {
            ServiceProvider serviceProvider = SearchBc.Instance.GetServiceProvider(id);

            if (serviceProvider == null)
            {
                return(null);
            }
            return(MslcUrlBuilder.DetailsUrl(serviceProvider));
        }
Esempio n. 5
0
        private static string GetCommunityDetailsUrl(long id)
        {
            string    result    = null;
            Community community = SearchBc.Instance.GetCommunity(id);

            if (community != null && community.ListingTypes.Any())
            {
                result = MslcUrlBuilder.DetailsUrl(community, community.ListingTypes.ToSearchType());
            }
            return(result);
        }
        private static ServiceProviderShortVm MapToServiceProviderShortVm(this ServiceProvider serviceProvider, ServiceProviderShortVm viewModel)
        {
            ServiceProviderShortVm id = viewModel ?? new ServiceProviderShortVm();

            id.Id                = serviceProvider.Id;
            id.BookNumber        = serviceProvider.BookNumber;
            id.Name              = serviceProvider.Name;
            id.PhotoCount        = serviceProvider.Images.Count <Image>((Image i) => i.Type == ImageType.Image);
            id.Image             = serviceProvider.Images.FirstOrDefault <Image>((Image i) => i.Type == ImageType.Image).MapToImageVm(ImageOwner.Service, id.Name);
            id.Address           = serviceProvider.Address.MapToAddressVm();
            id.DetailsUrl        = MslcUrlBuilder.DetailsUrl(id);
            id.DisplayProperties = new ServiceProviderDisplayProperties(serviceProvider.DisplayOptions);
            id.Package           = (int)serviceProvider.PackageId;
            return(id);
        }
        private static CommunityShortVm MapToCommunityShortVm(this Community community, SearchType searchType, CommunityShortVm viewModel)
        {
            CommunityShortVm id = viewModel ?? new CommunityShortVm();

            id.Id                = community.Id;
            id.BookNumber        = community.BookNumber;
            id.Name              = community.Name;
            id.Price             = community.Price.PriceCaption(id.Name);
            id.PhotoCount        = community.Images.Count <Image>((Image i) => i.Type == ImageType.Image);
            id.Image             = community.Images.FirstOrDefault <Image>((Image i) => i.Type == ImageType.Image).MapToImageVm(ImageOwner.Community, id.Name);
            id.Address           = community.Address.MapToAddressVm();
            id.DetailsUrl        = MslcUrlBuilder.DetailsUrl(id, searchType);
            id.DisplayProperties = new CommunityDisplayProperties(community.DisplayOptions);
            id.Package           = (int)community.PackageId;
            return(id);
        }