public void ThrowsWhenGivenStateThatDoesNotExist() { Lstring stateThatDoesNotExist = "foobar"; TestDelegate fromLStringCall = () => ApprovalWorkflowState.FromLString(stateThatDoesNotExist); Assert.Throws <ArgumentException>(fromLStringCall); }
public void ReturnNullWhenGivenNullOrWhiteSpaceValue(string nullOrWhiteSpaceString) { Lstring value = nullOrWhiteSpaceString; ApprovalWorkflowState approvalWorkflowState = ApprovalWorkflowState.FromLString(value); Assert.IsNull(approvalWorkflowState); }
public void ReturnMatchingApprovalWorkflowState() { ApprovalWorkflowState expected = ApprovalWorkflowState.Scheduled; Lstring matchingString = "Scheduled"; ApprovalWorkflowState result = ApprovalWorkflowState.FromLString(matchingString); Assert.AreEqual(expected, result); }
/// <summary> /// Gets an ApprovalWorkflowState object from a Sitefinity Lstring. /// </summary> /// <exception cref="ArgumentException">Thrown when one or more arguments have unsupported or /// illegal values.</exception> /// <param name="state">The state.</param> /// <returns> /// An ApprovalWorkflowState. /// </returns> public static ApprovalWorkflowState FromLString(Lstring state) { if (string.IsNullOrWhiteSpace(state)) { return(null); } var states = new[] { AwaitingApproval, Draft, Published, Scheduled }; var selectedState = states.SingleOrDefault(s => s == state); if (selectedState == null) { throw new ArgumentException("Invalid ApprovalWorkFlowState string given.", "state"); } return(selectedState); }
static void Main(string[] args) { Lstring input = Console.ReadLine(); string inputSecond = Console.ReadLine(); if (input == "int") { int temp = int.Parse(inputSecond); FormatOutput(temp); } else if (input == "real") { double temp = double.Parse(inputSecond); FormatOutput(temp); } else if (input == "string") { FormatOutput(inputSecond); } }
/// <summary> /// Gets the hreflangs /// </summary> /// <param name="e"></param> /// <param name="includeCurrentLanguage"></param> /// <returns></returns> private List <HtmlLink> GetAlternateLinks(IPagePreRenderCompleteEvent e, bool includeCurrentLanguage) { _logiszDebugger.AddDebugData("Include current language", includeCurrentLanguage.ToString()); var alternateLinks = new List <HtmlLink>(); #region Get page node PageNode pageNode = pageManager.GetPageNodes().Where(pN => pN.PageId == e.PageSiteNode.PageId).FirstOrDefault(); #endregion #region Try get content item bool foundDetailContentItem = false; string urlName = RemoveHostFromUrl(e.Page.Request); _logiszDebugger.AddDebugData("Urlname", urlName); object contentObject = null; IHasUrlName o = null; Lstring finalUrlName = new Lstring(); //Check if excluded if (globalConfig.Modules.Hreflang.PageIsExcluded(urlName)) { _logiszDebugger.AddDebugData("Page is excluded", "True"); return(null); } bool pageWithUrlNameExists = (pageManager.GetPageNodes().Where(q => q.UrlName == urlName).Count() != 0); _logiszDebugger.AddDebugData("Found page with urlname", pageWithUrlNameExists.ToString()); if (!pageWithUrlNameExists) { //No page found, search object. foundDetailContentItem = GetObjectByUrlName(pageNode, urlName, out contentObject); _logiszDebugger.AddDebugData("Found content item with urlname", foundDetailContentItem.ToString()); if (contentObject != null) { o = (IHasUrlName)contentObject; if (o != null) { finalUrlName = o.UrlName; } //validate type of static modules _logiszDebugger.AddDebugData("Type of content", contentObject.GetType().Name); if (contentObject.GetType() == typeof(NewsItem)) { NewsItem n = (NewsItem)contentObject; finalUrlName = n.ItemDefaultUrl; } } } #endregion #region Check for detailed page //Detailed page var cultures = includeCurrentLanguage ? e.PageSiteNode.AvailableLanguages : e.PageSiteNode.AvailableLanguages.Where(c => c != CultureInfo.CurrentUICulture); var ulService = ObjectFactory.Resolve <UrlLocalizationService>(); if (foundDetailContentItem) { foreach (var culture in cultures.Where(c => !string.IsNullOrWhiteSpace(c.Name))) { var defaultLocation = UrlPath.ResolveUrl(ulService.ResolveUrl(e.PageSiteNode.GetUrl(culture, false), culture), true, true); if (!string.IsNullOrWhiteSpace(defaultLocation)) { string languagedUrlName = String.Empty; finalUrlName.TryGetValue(out languagedUrlName, culture); defaultLocation += "/" + languagedUrlName; var alternateControl = new HtmlLink(); alternateControl.Attributes.Add("rel", "alternate"); alternateControl.Attributes.Add("href", defaultLocation); alternateControl.Attributes.Add("hreflang", culture.TextInfo.CultureName); _logiszDebugger.AddDebugData("Added hreflang tag (" + culture.TextInfo.CultureName + ")", defaultLocation); alternateLinks.Add(alternateControl); } } } #endregion #region Static page //Static page else { foreach (var culture in cultures.Where(c => !string.IsNullOrWhiteSpace(c.Name))) { var defaultLocation = UrlPath.ResolveUrl(ulService.ResolveUrl(e.PageSiteNode.GetUrl(culture, false), culture), true, true); if (!string.IsNullOrWhiteSpace(defaultLocation)) { var alternateControl = new HtmlLink(); alternateControl.Attributes.Add("rel", "alternate"); alternateControl.Attributes.Add("href", defaultLocation); alternateControl.Attributes.Add("hreflang", culture.TextInfo.CultureName); _logiszDebugger.AddDebugData("Added hreflang tag (" + culture.TextInfo.CultureName + ")", defaultLocation); alternateLinks.Add(alternateControl); } } } #endregion return(alternateLinks); }
public static string GetLstringValue(Lstring lstring) { return(lstring?.Value); }