C# Class SobekCM.Engine_Library.Aggregations.Item_Aggregation_Utilities

Class is used to build the appropriate instance of the Item_Aggregation object. This class pulls the data from the database, fills the object, and then performs final preparation for displaying the item aggregation via the web.
Mostra file Open project: MarkVSullivan/SobekCM-Web-Application

Public Methods

Method Description
Gat_All_Browse ( Complete_Item_Aggregation ItemAggr, int Page, int Sort, int Results_Per_Page, bool Potentially_Include_Facets, bool Need_Browse_Statistics, Custom_Tracer Tracer ) : SobekCM.Core.Results.Multiple_Paged_Results_Args

Method returns the table of results for the browse indicated

Get_Browse_Results ( Item_Aggregation ItemAggr, SobekCM.Core.Aggregations.Item_Aggregation_Child_Page ChildPageObject, int Page, int Sort, int Results_Per_Page, bool Potentially_Include_Facets, bool Need_Browse_Statistics, Custom_Tracer Tracer ) : SobekCM.Core.Results.Multiple_Paged_Results_Args

Method returns the table of results for the browse indicated

Get_Collection_Hierarchy ( Custom_Tracer Tracer ) : SobekCM.Core.Aggregations.Aggregation_Hierarchy

Adds the entire collection hierarchy under the ALL aggregation object

This is postponed until it is needed for the TREE VIEW on the home page, to allow the system to start faster, even with a great number of item aggregationPermissions in the hierarchy

Get_Complete_Item_Aggregation ( string AggregationCode, Custom_Tracer Tracer ) : Complete_Item_Aggregation

Gets a fully built item aggregation object for a particular aggregation code

Item aggregation object is also placed in the cache.

Building of an item aggregation always starts by pulling the item from the database ( either Engine_Database.Get_Item_Aggregation or Engine_Database.Get_Main_Aggregation ).

Then, either the Item Aggregation XML file is read (if present) or the entire folder hierarchy is analyzed to find the browses, infos, banners, etc..

Get_Item_Aggregation ( Complete_Item_Aggregation CompAggr, Web_Language_Enum RequestedLanguage, Custom_Tracer Tracer ) : Item_Aggregation

Get the language specific item aggregation, from the complete item aggregation object

Save_To_Database ( Complete_Item_Aggregation ItemAggr, string Username, Custom_Tracer Tracer ) : bool

Saves the information about this item aggregation to the database

Protected Methods

Method Description
Add_All_New_Browses ( Complete_Item_Aggregation ThisObject ) : void

Adds the ALL ITEMS and NEW ITEMS browses to the item aggregation, if the display options and last added item date call for it

This method is always called while building an item aggregation, irregardless of whether there is an item aggregation configuration XML file or not.

Add_Browse_Files ( Complete_Item_Aggregation ThisObject, Custom_Tracer Tracer ) : void

Checks the appropriate design folders to add any existing browse or info pages to the item aggregation

This method is only called if the item aggregation does not have an existing XML configuration file.

Add_HTML ( Complete_Item_Aggregation ThisObject ) : void

Finds the home page source file and banner images or html for this item aggregation

This method is only called if the item aggregation does not have an existing XML configuration file.

Private Methods

Method Description
Get_Home_HTML ( Complete_Item_Aggregation CompAggr, Web_Language_Enum Language, Custom_Tracer Tracer ) : HTML_Based_Content

Method gets the HOME PAGE html for the appropriate UI settings

Get_Item_Aggregation_Browse_Info ( string FileName, Item_Aggregation_Child_Visibility_Enum Browse_Type, Custom_Tracer Tracer ) : Complete_Item_Aggregation_Child_Page

Reads the item aggregation browse or info file and returns a built Item_Aggregation_Child_Page object for inclusion in the item aggregation

add_hierarchy_children ( List AggrList, DataTable ChildInfo ) : void

Adds the child information to the item aggregation object from the datatable extracted from the database

Method Details

Add_All_New_Browses() protected static method

Adds the ALL ITEMS and NEW ITEMS browses to the item aggregation, if the display options and last added item date call for it
This method is always called while building an item aggregation, irregardless of whether there is an item aggregation configuration XML file or not.
protected static Add_All_New_Browses ( Complete_Item_Aggregation ThisObject ) : void
ThisObject SobekCM.Core.Aggregations.Complete_Item_Aggregation Item aggregation to which to add the ALL ITEMS and NEW ITEMS browse
return void

Add_Browse_Files() protected static method

Checks the appropriate design folders to add any existing browse or info pages to the item aggregation
This method is only called if the item aggregation does not have an existing XML configuration file.
protected static Add_Browse_Files ( Complete_Item_Aggregation ThisObject, Custom_Tracer Tracer ) : void
ThisObject SobekCM.Core.Aggregations.Complete_Item_Aggregation Item aggregation object to add the browse and info pages to
Tracer SobekCM.Tools.Custom_Tracer Trace object keeps a list of each method executed and important milestones in rendering
return void

Add_HTML() protected static method

Finds the home page source file and banner images or html for this item aggregation
This method is only called if the item aggregation does not have an existing XML configuration file.
protected static Add_HTML ( Complete_Item_Aggregation ThisObject ) : void
ThisObject SobekCM.Core.Aggregations.Complete_Item_Aggregation Item aggregation to add the home page link and banner html
return void

Gat_All_Browse() public static method

Method returns the table of results for the browse indicated
public static Gat_All_Browse ( Complete_Item_Aggregation ItemAggr, int Page, int Sort, int Results_Per_Page, bool Potentially_Include_Facets, bool Need_Browse_Statistics, Custom_Tracer Tracer ) : SobekCM.Core.Results.Multiple_Paged_Results_Args
ItemAggr SobekCM.Core.Aggregations.Complete_Item_Aggregation Object with all the information about the browse
Page int Page of results requested for the indicated browse
Sort int Sort applied to the results before being returned
Results_Per_Page int Number of results to retrieve per page
Potentially_Include_Facets bool Flag indicates if facets could be included in this browse results
Need_Browse_Statistics bool Flag indicates if the browse statistics (facets and total counts) are required for this browse as well
Tracer SobekCM.Tools.Custom_Tracer Trace object keeps a list of each method executed and important milestones in rendering
return SobekCM.Core.Results.Multiple_Paged_Results_Args

Get_Browse_Results() public static method

Method returns the table of results for the browse indicated
public static Get_Browse_Results ( Item_Aggregation ItemAggr, SobekCM.Core.Aggregations.Item_Aggregation_Child_Page ChildPageObject, int Page, int Sort, int Results_Per_Page, bool Potentially_Include_Facets, bool Need_Browse_Statistics, Custom_Tracer Tracer ) : SobekCM.Core.Results.Multiple_Paged_Results_Args
ItemAggr SobekCM.Core.Aggregations.Item_Aggregation Item Aggregation from which to return the browse
ChildPageObject SobekCM.Core.Aggregations.Item_Aggregation_Child_Page Object with all the information about the browse
Page int Page of results requested for the indicated browse
Sort int Sort applied to the results before being returned
Results_Per_Page int Number of results to retrieve per page
Potentially_Include_Facets bool Flag indicates if facets could be included in this browse results
Need_Browse_Statistics bool Flag indicates if the browse statistics (facets and total counts) are required for this browse as well
Tracer SobekCM.Tools.Custom_Tracer Trace object keeps a list of each method executed and important milestones in rendering
return SobekCM.Core.Results.Multiple_Paged_Results_Args

Get_Collection_Hierarchy() public static method

Adds the entire collection hierarchy under the ALL aggregation object
This is postponed until it is needed for the TREE VIEW on the home page, to allow the system to start faster, even with a great number of item aggregationPermissions in the hierarchy
public static Get_Collection_Hierarchy ( Custom_Tracer Tracer ) : SobekCM.Core.Aggregations.Aggregation_Hierarchy
Tracer SobekCM.Tools.Custom_Tracer Trace object keeps a list of each method executed and important milestones in rendering
return SobekCM.Core.Aggregations.Aggregation_Hierarchy

Get_Complete_Item_Aggregation() public static method

Gets a fully built item aggregation object for a particular aggregation code
Item aggregation object is also placed in the cache.

Building of an item aggregation always starts by pulling the item from the database ( either Engine_Database.Get_Item_Aggregation or Engine_Database.Get_Main_Aggregation ).

Then, either the Item Aggregation XML file is read (if present) or the entire folder hierarchy is analyzed to find the browses, infos, banners, etc..
public static Get_Complete_Item_Aggregation ( string AggregationCode, Custom_Tracer Tracer ) : Complete_Item_Aggregation
AggregationCode string Code for this aggregation object
Tracer SobekCM.Tools.Custom_Tracer Trace object keeps a list of each method executed and important milestones in rendering
return SobekCM.Core.Aggregations.Complete_Item_Aggregation

Get_Item_Aggregation() public static method

Get the language specific item aggregation, from the complete item aggregation object
public static Get_Item_Aggregation ( Complete_Item_Aggregation CompAggr, Web_Language_Enum RequestedLanguage, Custom_Tracer Tracer ) : Item_Aggregation
CompAggr SobekCM.Core.Aggregations.Complete_Item_Aggregation Copmlete item aggregation object
RequestedLanguage Web_Language_Enum Language version requested
Tracer SobekCM.Tools.Custom_Tracer
return SobekCM.Core.Aggregations.Item_Aggregation

Save_To_Database() public static method

Saves the information about this item aggregation to the database
public static Save_To_Database ( Complete_Item_Aggregation ItemAggr, string Username, Custom_Tracer Tracer ) : bool
ItemAggr SobekCM.Core.Aggregations.Complete_Item_Aggregation Item aggregation object with all the information to be saved
Username string Name of the user performing this save, for the item aggregation milestones
Tracer SobekCM.Tools.Custom_Tracer Trace object keeps a list of each method executed and important milestones in rendering
return bool