/// <summary> /// Gets content from the ContentItemCountryLanguages table according user location/language. /// </summary> /// <param name="request"></param> public static List <ContentItem> GetContentBlock(GetContentItemCountryLanguagesRequest request) { var content = ContentService.GetContentItemCountryLanguages(request); // Default to US English if the content block does not exist for specified country/language. if (!content.Any()) { request.CountryCode = CountryCodes.UnitedStates; request.LanguageID = Languages.English; content = ContentService.GetContentItemCountryLanguages(request); } return(content); }
/// <summary> /// Gets all content from ContentItemCountryLanguages table and returns them in a list. /// </summary> /// <param name="contentItemID">Optional parameter. If passed it will only retrieve that specific contnent item.</param> /// <returns></returns> private static List <ContentItem> GetContentItemCountryLanguages(GetContentItemCountryLanguagesRequest request) { // Establish the base query var query = "SELECT"; query += " ContentItemCountryLanguageID, ContentItemID, CountryID, LanguageID, Content"; query += " FROM ExigoWebContext.ContentItemCountryLanguages"; if (request.CountryCode != "" && request.LanguageID != null) { query += " Where CountryID = @countrycode"; query += " And LanguageID = @languageid"; if (request.ContentItemIDs.Any()) { query += " And ContentItemID in @contentitemids"; } } else if (request.ContentItemIDs.Any()) { query += " Where ContentItemID in @contentitemids"; } var model = new List <ContentItem>(); using (var context = ExigoDAL.Sql()) { model = context.Query <ContentItem>(query, new { countrycode = request.CountryCode, languageid = request.LanguageID, contentitemids = request.ContentItemIDs }).ToList(); } if (model.Any() && request.ContentItems.Any()) { foreach (var requestContentItem in request.ContentItems) { var contentItem = model.Where(c => c.ContentItemID == requestContentItem.ContentItemID).FirstOrDefault(); if (contentItem != null) { model.Where(c => c.ContentItemID == requestContentItem.ContentItemID).FirstOrDefault().ContentDescription = requestContentItem.ContentDescription; } } } return(model); }
/// <summary> /// Retrieves alert from ContentItemCountryLanguages database table. /// </summary> /// <param name="contentItemCountryLanguagesRequest"></param> /// <returns></returns> public static List <ContentItem> GetAlert(GetContentItemCountryLanguagesRequest contentItemCountryLanguagesRequest) { return(ContentService.GetContentItemCountryLanguages(contentItemCountryLanguagesRequest)); }