protected static TextEntry GetPublishPath(PublishLocationInfo publishInfo, string appendText) { if (publishInfo != null) { string path = publishInfo.PublishPath.Replace(@"\", "/"); if (!string.IsNullOrWhiteSpace(appendText)) { path = string.Format(CultureInfo.InvariantCulture, "{0}/{1}", path.TrimEnd('/'), appendText); } return(TextEntry.From(path, Resources.LabelPathOnWebsite)); } return(null); }
public SocialPageData Execute(string pageUri) { SessionAwareCoreServiceClient client = null; SocialPageData socialPageData = new SocialPageData(); try { client = Client.GetCoreService(); string liveTargetUri = Configuration.GetConfigString("livetargeturi"); string liveUrl = Configuration.GetConfigString("liveurl"); PageData pageData = (PageData)client.Read(pageUri, new ReadOptions()); PublishLocationInfo pubInfo = (PublishLocationInfo)pageData.LocationInfo; socialPageData.Title = pageData.Title; socialPageData.Uri = pageUri; socialPageData.Url = liveUrl + pubInfo.PublishLocationUrl; socialPageData.IsPublished = client.IsPublished(pageUri, liveTargetUri, true); socialPageData.UseShortUrl = bool.Parse(Configuration.GetConfigString("shorturl")); string shortUrl = string.Empty; if (socialPageData.UseShortUrl) { ApplicationData appData = client.ReadApplicationData(pageUri, SHORT_URL_APP_ID); if (appData != null) { Byte[] data = appData.Data; shortUrl = Encoding.Unicode.GetString(data); } if (shortUrl.Equals(string.Empty)) { Bitly service = new Bitly(socialPageData.Url); string shorter = service.ShortenUrl(service.UrlToShorten, service.BitlyLogin, service.BitlyAPIKey); shortUrl = Bitly.ParseXmlResponse(shorter, false); Byte[] byteData = Encoding.Unicode.GetBytes(shortUrl); appData = new ApplicationData { ApplicationId = SHORT_URL_APP_ID, Data = byteData, TypeId = shortUrl.GetType().ToString() }; client.SaveApplicationData(pageUri, new[] { appData }); } } socialPageData.ShortUrl = shortUrl; } catch (Exception ex) { socialPageData.HasError = true; socialPageData.ErrorInfo = ex; } finally { if (client != null) { if (client.State == CommunicationState.Faulted) { client.Abort(); } else { client.Close(); } } } return(socialPageData); }
protected static TextEntry GetPublishPath(PublishLocationInfo publishInfo, string appendText) { if (publishInfo != null) { string path = publishInfo.PublishPath.Replace(@"\", "/"); if (!string.IsNullOrWhiteSpace(appendText)) { path = string.Format(CultureInfo.InvariantCulture, "{0}/{1}", path.TrimEnd('/'), appendText); } return TextEntry.From(path, Resources.LabelPathOnWebsite); } return null; }