/// <summary> Returns a built collection viewer matching request </summary> /// <param name="ViewType"> Aggregation view type </param> /// <param name="Current_Aggregation"> Current item aggregation object </param> /// <param name="Current_Mode"> Mode / navigation information for the current request </param> /// <returns> Collection viewer that extends the <see cref="abstractAggregationViewer"/> class. </returns> public static abstractAggregationViewer Get_Viewer(Item_Aggregation.CollectionViewsAndSearchesEnum ViewType, Item_Aggregation Current_Aggregation, SobekCM_Navigation_Object Current_Mode) { switch (ViewType) { case Item_Aggregation.CollectionViewsAndSearchesEnum.Advanced_Search: return(new Advanced_Search_AggregationViewer(Current_Aggregation, Current_Mode)); case Item_Aggregation.CollectionViewsAndSearchesEnum.Advanced_Search_YearRange: return(new Advanced_Search_YearRange_AggregationViewer(Current_Aggregation, Current_Mode)); case Item_Aggregation.CollectionViewsAndSearchesEnum.Basic_Search: Item_Aggregation_Front_Banner frontBannerImage = Current_Aggregation.Front_Banner_Image(Current_Mode.Language); if ((frontBannerImage != null) && (Current_Aggregation.Highlights.Count > 0)) { return(new Rotating_Highlight_Search_AggregationViewer(Current_Aggregation, Current_Mode)); } return(new Basic_Search_AggregationViewer(Current_Aggregation, Current_Mode)); case Item_Aggregation.CollectionViewsAndSearchesEnum.Basic_Search_YearRange: return(new Basic_Search_YearRange_AggregationViewer(Current_Aggregation, Current_Mode)); case Item_Aggregation.CollectionViewsAndSearchesEnum.FullText_Search: return(new Full_Text_Search_AggregationViewer(Current_Aggregation, Current_Mode)); case Item_Aggregation.CollectionViewsAndSearchesEnum.No_Home_Search: return(new No_Search_AggregationViewer()); case Item_Aggregation.CollectionViewsAndSearchesEnum.Newspaper_Search: return(new Newspaper_Search_AggregationViewer(Current_Aggregation, Current_Mode)); case Item_Aggregation.CollectionViewsAndSearchesEnum.Map_Search: return(new Map_Search_AggregationViewer(Current_Aggregation, Current_Mode)); case Item_Aggregation.CollectionViewsAndSearchesEnum.Map_Search_Beta: return(new Map_Search_AggregationViewer_Beta(Current_Aggregation, Current_Mode)); case Item_Aggregation.CollectionViewsAndSearchesEnum.DLOC_FullText_Search: return(new dLOC_Search_AggregationViewer(Current_Aggregation, Current_Mode)); default: return(null); } }
/// <summary> Returns a built collection viewer matching request </summary> /// <param name="SearchType"> Type of search from the current http request </param> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> View bag holds specific data that was pulled for an aggregation request </param> /// <returns> Collection viewer that extends the <see cref="abstractAggregationViewer"/> class. </returns> public static abstractAggregationViewer Get_Viewer(Search_Type_Enum SearchType, RequestCache RequestSpecificValues, AggregationViewBag ViewBag) { switch (SearchType) { case Search_Type_Enum.Advanced: if (ViewBag.Hierarchy_Object.Views_And_Searches.Contains(Item_Aggregation_Views_Searches_Enum.Advanced_Search_YearRange)) { return(new Advanced_Search_YearRange_AggregationViewer(RequestSpecificValues, ViewBag)); } if (ViewBag.Hierarchy_Object.Views_And_Searches.Contains(Item_Aggregation_Views_Searches_Enum.Advanced_Search_MimeType)) { return(new Advanced_Search_MimeType_AggregationViewer(RequestSpecificValues, ViewBag)); } return(new Advanced_Search_AggregationViewer(RequestSpecificValues, ViewBag)); case Search_Type_Enum.Basic: Item_Aggregation_Front_Banner frontBannerImage = ViewBag.Hierarchy_Object.FrontBannerObj; if ((frontBannerImage != null) && (ViewBag.Hierarchy_Object.Highlights != null) && (ViewBag.Hierarchy_Object.Highlights.Count > 0)) { return(new Rotating_Highlight_Search_AggregationViewer(RequestSpecificValues, ViewBag)); } return(new Basic_Search_AggregationViewer(RequestSpecificValues, ViewBag)); case Search_Type_Enum.Full_Text: return(new Full_Text_Search_AggregationViewer(RequestSpecificValues, ViewBag)); case Search_Type_Enum.Newspaper: return(new Newspaper_Search_AggregationViewer(RequestSpecificValues, ViewBag)); case Search_Type_Enum.Map: return(new Map_Search_AggregationViewer(RequestSpecificValues, ViewBag)); case Search_Type_Enum.Map_Beta: return(new Map_Search_AggregationViewer_Beta(RequestSpecificValues, ViewBag)); case Search_Type_Enum.dLOC_Full_Text: return(new dLOC_Search_AggregationViewer(RequestSpecificValues, ViewBag)); default: return(null); } }
/// <summary> Returns a built collection viewer matching request </summary> /// <param name="SearchType"> Type of search from the current http request </param> /// <param name="Current_Aggregation"> Current item aggregation object </param> /// <param name="Current_Mode"> Mode / navigation information for the current request </param> /// <param name="Current_User"> Currently logged on user, if there is one </param> /// <returns> Collection viewer that extends the <see cref="abstractAggregationViewer"/> class. </returns> public static abstractAggregationViewer Get_Viewer(Search_Type_Enum SearchType, Item_Aggregation Current_Aggregation, SobekCM_Navigation_Object Current_Mode, User_Object Current_User) { switch (SearchType) { case Search_Type_Enum.Advanced: if (Current_Aggregation.Views_And_Searches.Contains(Item_Aggregation.CollectionViewsAndSearchesEnum.Advanced_Search_YearRange)) { return(new Advanced_Search_YearRange_AggregationViewer(Current_Aggregation, Current_Mode)); } return(new Advanced_Search_AggregationViewer(Current_Aggregation, Current_Mode)); case Search_Type_Enum.Basic: Item_Aggregation_Front_Banner frontBannerImage = Current_Aggregation.Front_Banner_Image(Current_Mode.Language); if ((frontBannerImage != null) && (Current_Aggregation.Highlights.Count > 0)) { return(new Rotating_Highlight_Search_AggregationViewer(Current_Aggregation, Current_Mode)); } return(new Basic_Search_AggregationViewer(Current_Aggregation, Current_Mode)); case Search_Type_Enum.Full_Text: return(new Full_Text_Search_AggregationViewer(Current_Aggregation, Current_Mode)); case Search_Type_Enum.Newspaper: return(new Newspaper_Search_AggregationViewer(Current_Aggregation, Current_Mode)); case Search_Type_Enum.Map: return(new Map_Search_AggregationViewer(Current_Aggregation, Current_Mode)); case Search_Type_Enum.Map_Beta: return(new Map_Search_AggregationViewer_Beta(Current_Aggregation, Current_Mode)); case Search_Type_Enum.dLOC_Full_Text: return(new dLOC_Search_AggregationViewer(Current_Aggregation, Current_Mode)); default: return(null); } }
private static void read_banners(XmlNodeReader NodeReader, Complete_Item_Aggregation HierarchyObject) { while (NodeReader.Read()) { // If this is the beginning tag for an element, assign the next values accordingly if (NodeReader.NodeType == XmlNodeType.Element) { // Get the node name, trimmed and to upper string nodeName = NodeReader.Name.Trim().ToUpper(); // switch the rest based on the tag name switch (nodeName) { case "HI:SOURCE": // Check for any attributes to this banner node string lang = String.Empty; bool special = false; Item_Aggregation_Front_Banner_Type_Enum type = Item_Aggregation_Front_Banner_Type_Enum.Left; ushort width = 550; ushort height = 230; if (NodeReader.HasAttributes) { if (NodeReader.MoveToAttribute("lang")) { lang = NodeReader.Value.Trim().ToUpper(); } if (NodeReader.MoveToAttribute("type")) { if ((NodeReader.Value.Trim().ToUpper() == "HIGHLIGHT") || (NodeReader.Value.Trim().ToUpper() == "FRONT")) { special = true; } } if (NodeReader.MoveToAttribute("side")) { switch (NodeReader.Value.Trim().ToUpper()) { case "RIGHT": type = Item_Aggregation_Front_Banner_Type_Enum.Right; break; case "LEFT": type = Item_Aggregation_Front_Banner_Type_Enum.Left; break; case "FULL": type = Item_Aggregation_Front_Banner_Type_Enum.Full; break; } } if (NodeReader.MoveToAttribute("width")) { ushort.TryParse(NodeReader.Value, out width); } if (NodeReader.MoveToAttribute("height")) { ushort.TryParse(NodeReader.Value, out height); } } // Now read the banner information and add to the aggregation object NodeReader.Read(); if (special) { Item_Aggregation_Front_Banner bannerObj = HierarchyObject.Add_Front_Banner_Image(NodeReader.Value, Web_Language_Enum_Converter.Code_To_Enum(lang)); bannerObj.Width = width; bannerObj.Height = height; bannerObj.Type = type; } else { HierarchyObject.Add_Banner_Image(NodeReader.Value, Web_Language_Enum_Converter.Code_To_Enum(lang)); } break; } } if ((NodeReader.NodeType == XmlNodeType.EndElement) && (NodeReader.Name.Trim().ToUpper() == "HI:BANNER")) { return; } } }
/// <summary> Returns a built collection viewer matching request </summary> /// <param name="ViewType"> Aggregation view type </param> /// <param name="RequestSpecificValues"> All the necessary, non-global data specific to the current request </param> /// <param name="ViewBag"> View bag holds specific data that was pulled for an aggregation request </param> /// <returns> Collection viewer that extends the <see cref="abstractAggregationViewer"/> class. </returns> public static abstractAggregationViewer Get_Viewer(Item_Aggregation_Views_Searches_Enum ViewType, RequestCache RequestSpecificValues, AggregationViewBag ViewBag) { switch (ViewType) { case Item_Aggregation_Views_Searches_Enum.Advanced_Search: return(new Advanced_Search_AggregationViewer(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.Advanced_Search_MimeType: return(new Advanced_Search_MimeType_AggregationViewer(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.Advanced_Search_YearRange: return(new Advanced_Search_YearRange_AggregationViewer(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.Basic_Search: Item_Aggregation_Front_Banner frontBannerImage = ViewBag.Hierarchy_Object.FrontBannerObj; if ((frontBannerImage != null) && (ViewBag.Hierarchy_Object.Highlights != null) && (ViewBag.Hierarchy_Object.Highlights.Count > 0)) { return(new Rotating_Highlight_Search_AggregationViewer(RequestSpecificValues, ViewBag)); } return(new Basic_Search_AggregationViewer(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.Basic_Search_YearRange: return(new Basic_Search_YearRange_AggregationViewer(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.Basic_Search_FullTextOption: return(new Basic_Text_Search_Combined_AggregationViewer(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.Basic_Search_MimeType: Item_Aggregation_Front_Banner frontBannerImage2 = ViewBag.Hierarchy_Object.FrontBannerObj; if ((frontBannerImage2 != null) && (ViewBag.Hierarchy_Object.Highlights != null) && (ViewBag.Hierarchy_Object.Highlights.Count > 0)) { return(new Rotating_Highlight_MimeType_AggregationViewer(RequestSpecificValues, ViewBag)); } return(new Basic_Search_MimeType_AggregationViewer(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.FullText_Search: return(new Full_Text_Search_AggregationViewer(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.No_Home_Search: return(new No_Search_AggregationViewer(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.Newspaper_Search: return(new Newspaper_Search_AggregationViewer(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.Map_Search: return(new Map_Search_AggregationViewer(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.Map_Search_Beta: return(new Map_Search_AggregationViewer_Beta(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.DLOC_FullText_Search: return(new dLOC_Search_AggregationViewer(RequestSpecificValues, ViewBag)); case Item_Aggregation_Views_Searches_Enum.Empty: return(new Empty_AggregationViewer(RequestSpecificValues, ViewBag)); default: return(null); } }