private ContactEntityModel GetContactAdvisor(AdvisorDetailInfo info)
        {
            var isConditionalLead = !string.IsNullOrEmpty(HttpContext.Current.Request.QueryString["cla"]);
            var selectedCla       = new List <string>();

            if (isConditionalLead)
            {
                var    token = HttpContext.Current.Request.QueryString["cla"];
                var    iv    = Config.AppSettings.AesIv;
                var    key   = Config.AppSettings.AesKey;
                string conditionalLeadsName = new TokenManager(iv, key).DeTokenize(token).ConditionalLeadsName;
                if (!string.IsNullOrEmpty(conditionalLeadsName))
                {
                    var conditionalLeadsList = conditionalLeadsName.Split(true, new[] { '|' });
                    selectedCla       = conditionalLeadsList.Intersect(info.ConditionalLeadsName).ToList();
                    isConditionalLead = selectedCla.Any();
                }
                else
                {
                    isConditionalLead = false;
                }
            }

            var contactAdvisor = AdvisorContact.GetContactModel(info, FederatedLoginClient.User, isConditionalLead);

            if (isConditionalLead)
            {
                contactAdvisor.ConditionalLeadsName = selectedCla;
            }
            contactAdvisor.ContactUri = ContactEntityHelper.BuildContactUri(contactAdvisor, true);
            return(contactAdvisor);
        }
        private ProfileOverviewInfo GetProfileOverviewInfo(AdvisorDetailInfo info)
        {
            var mapOptions     = GetTpMapOptions(info);
            var mapOptionsJson = Json.Serialize(mapOptions);
            var model          = new ProfileOverviewInfo(info.IsEditable, info.AdvisorAboutMe, info.VisitedPlaces, mapOptionsJson,
                                                         info.AdvisorCompanyParentMasterEntityId, info.AdvisorCompanyMasterEntityId, info.AdvisorMasterEntityId);

            model.IsPreview = info.IsPreview;

            return(model);
        }
        public static ReviewsInfo GetRatingAndReviewInfo(AdvisorDetailInfo detailInfo)
        {
            RatingAndReviewManager ratingAndReviewManager = new RatingAndReviewManager();
            ReviewsInfo            reviewseviewsInfo      = ratingAndReviewManager.GetReviewsInfoForAdvisor(detailInfo);

            ratingAndReviewManager.GetReviews(reviewseviewsInfo);
            ReviewsPaging reviewaPaging = new ReviewsPaging();

            reviewaPaging.SortType = ReviewsPaging.SortTypeNone;
            ratingAndReviewManager.SortReviews(reviewseviewsInfo, reviewaPaging);

            return(reviewseviewsInfo);
        }
        private TpMapOptions GetTpMapOptions(AdvisorDetailInfo info)
        {
            var options = new TpMapOptions();

            options.ShowNumbers             = false;
            options.ShowPushpins            = true;
            options.ShowMapList             = true;
            options.ClosePreviousInfoWindow = true;
            options.ZoomLevel = "auto";
            options.MapType   = TpMapOptions.MapTypeTerrain;

            foreach (var poi in info.VisitedPlaces)
            {
                var    seq   = TypeChanger.Do(poi.PointOfInterestId, 0);
                string title = null;

                if (string.Equals(poi.CountryName, "United States", StringComparison.CurrentCultureIgnoreCase) || string.Equals(poi.CountryName, "Canada", StringComparison.CurrentCultureIgnoreCase))
                {
                    title = string.Format("{0}, {1}", poi.PlaceName, poi.CountryName);
                }
                else
                {
                    var place = poi.PlaceName;
                    if (place.IndexOf('(') > -1)
                    {
                        place = place.Substring(0, poi.PlaceName.IndexOf('('));
                    }
                    title = string.Format("{0}, {1}", place, poi.CountryName);
                }

                options.MapMarkers.Add(new TpMapOptions.TpMapMarker()
                {
                    Id              = seq,
                    SequenceLabel   = poi.PointOfInterestId.ToString(),
                    Latitude        = poi.Latitude.ToString("0.0"),
                    Longitude       = poi.Longitude.ToString("0.0"),
                    Title           = title,
                    InfoWindowHtml  = "<h3>" + poi.PlaceName + ", " + poi.CountryName + "</h3><div>Last Trip: " + poi.LastYearVisited + "<br/>Number of Trips: " + poi.NumOfVisits,
                    CountryCodeIso2 = poi.CountryCodeISO2,
                    NumOfVisits     = poi.NumOfVisits.ToString(),
                    Date            = new DateTime(poi.LastYearVisited, 1, 1).ToString("yyyy")
                });
            }
            return(options);
        }