/// <summary> Saves the data rendered by this element to the provided bibliographic object during postback </summary> /// <param name="Bib"> Object into which to save the user's data, entered into the html rendered by this element </param> public override void Save_To_Bib(SobekCM_Item Bib) { string special_id = FixedTypeFromTemplateFile.Replace(" ", "_").ToLower() + "fixedidentifier"; string[] getKeys = HttpContext.Current.Request.Form.AllKeys; foreach (string thisKey in getKeys.Where(thisKey => thisKey.IndexOf(special_id) == 0)) { Bib.Bib_Info.Add_Identifier(HttpContext.Current.Request.Form[thisKey], FixedTypeFromTemplateFile); } }
/// <summary> Renders the HTML for this element </summary> /// <param name="Output"> Textwriter to write the HTML for this element </param> /// <param name="Bib"> Object to populate this element from </param> /// <param name="Skin_Code"> Code for the current skin </param> /// <param name="IsMozilla"> Flag indicates if the current browse is Mozilla Firefox (different css choices for some elements)</param> /// <param name="PopupFormBuilder"> Builder for any related popup forms for this element </param> /// <param name="Current_User"> Current user, who's rights may impact the way an element is rendered </param> /// <param name="CurrentLanguage"> Current user-interface language </param> /// <param name="Translator"> Language support object which handles simple translational duties </param> /// <param name="Base_URL"> Base URL for the current request </param> /// <remarks> This simple element does not append any popup form to the popup_form_builder</remarks> public override void Render_Template_HTML(TextWriter Output, SobekCM_Item Bib, string Skin_Code, bool IsMozilla, StringBuilder PopupFormBuilder, User_Object Current_User, Web_Language_Enum CurrentLanguage, Language_Support_Info Translator, string Base_URL) { // Check that an acronym exists if (Acronym.Length == 0) { const string defaultAcronym = "Enter any related URL for this material"; switch (CurrentLanguage) { case Web_Language_Enum.English: Acronym = defaultAcronym; break; case Web_Language_Enum.Spanish: Acronym = defaultAcronym; break; case Web_Language_Enum.French: Acronym = defaultAcronym; break; default: Acronym = defaultAcronym; break; } } if ((LabelFromTemplateFile.Length > 0) && (FixedTypeFromTemplateFile.Length == 0)) { FixedTypeFromTemplateFile = LabelFromTemplateFile; } if ((LabelFromTemplateFile.Length == 0) && (FixedTypeFromTemplateFile.Length > 0)) { LabelFromTemplateFile = FixedTypeFromTemplateFile; } if (LabelFromTemplateFile.Length > 0) { Title = LabelFromTemplateFile; } render_helper(Output, Bib.Bib_Info.Location.Other_URL, Skin_Code, Current_User, CurrentLanguage, Translator, Base_URL, "fixed" + FixedTypeFromTemplateFile.Replace(" ", "_").Replace("'", "").ToLower() + "other_url"); }
/// <summary> Renders the HTML for this element </summary> /// <param name="Output"> Textwriter to write the HTML for this element </param> /// <param name="Bib"> Object to populate this element from </param> /// <param name="Skin_Code"> Code for the current skin </param> /// <param name="IsMozilla"> Flag indicates if the current browse is Mozilla Firefox (different css choices for some elements)</param> /// <param name="PopupFormBuilder"> Builder for any related popup forms for this element </param> /// <param name="Current_User"> Current user, who's rights may impact the way an element is rendered </param> /// <param name="CurrentLanguage"> Current user-interface language </param> /// <param name="Translator"> Language support object which handles simple translational duties </param> /// <param name="Base_URL"> Base URL for the current request </param> /// <remarks> This simple element does not append any popup form to the popup_form_builder</remarks> public override void Render_Template_HTML(TextWriter Output, SobekCM_Item Bib, string Skin_Code, bool IsMozilla, StringBuilder PopupFormBuilder, User_Object Current_User, Web_Language_Enum CurrentLanguage, Language_Support_Info Translator, string Base_URL) { // Check that an acronym exists if (Acronym.Length == 0) { const string defaultAcronym = "Enter each person or group which created this material. Personal names should be entered as [Family Name], [Given Name]"; switch (CurrentLanguage) { case Web_Language_Enum.English: Acronym = defaultAcronym; break; case Web_Language_Enum.Spanish: Acronym = defaultAcronym; break; case Web_Language_Enum.French: Acronym = defaultAcronym; break; default: Acronym = defaultAcronym; break; } } if ((LabelFromTemplateFile.Length > 0) && (FixedTypeFromTemplateFile.Length == 0)) { FixedTypeFromTemplateFile = LabelFromTemplateFile; } if ((LabelFromTemplateFile.Length == 0) && (FixedTypeFromTemplateFile.Length > 0)) { LabelFromTemplateFile = FixedTypeFromTemplateFile; } List <string> instanceValues = new List <string>(); if ((Bib.Bib_Info.hasMainEntityName) && (Bib.Bib_Info.Main_Entity_Name.ToString().Length > 0)) { string main_name_as_string = Bib.Bib_Info.Main_Entity_Name.ToString(false); if ((main_name_as_string != "unknown") && (main_name_as_string.Length > 0)) { if (Bib.Bib_Info.Main_Entity_Name.Roles.Any(thisRole => thisRole.Role.ToUpper() == LabelFromTemplateFile.ToUpper())) { instanceValues.Add(main_name_as_string); } } } if (Bib.Bib_Info.Names_Count > 0) { instanceValues.AddRange(from thisName in Bib.Bib_Info.Names let name_as_string = thisName.ToString(false) where (name_as_string != "unknown") && (name_as_string.Length > 0) where thisName.Roles.Any(thisRole => thisRole.Role.ToUpper() == LabelFromTemplateFile.ToUpper()) select name_as_string); } Title = LabelFromTemplateFile; if (LabelFromTemplateFile.Length == 0) { Title = "MISSING LABEL!"; } render_helper(Output, instanceValues, Skin_Code, Current_User, CurrentLanguage, Translator, Base_URL, FixedTypeFromTemplateFile.Replace(" ", "").Replace("_", "").ToLower() + "fixedcreator"); }
/// <summary> Prepares the bib object for the save, by clearing any existing data in this element's related field(s) </summary> /// <param name="Bib"> Existing digital resource object which may already have values for this element's data field(s) </param> /// <param name="Current_User"> Current user, who's rights may impact the way an element is rendered </param> /// <remarks> This clears the main entity name and any other names associated with the digital resource </remarks> public override void Prepare_For_Save(SobekCM_Item Bib, User_Object Current_User) { if ((Bib.Bib_Info.hasMainEntityName) && (Bib.Bib_Info.Main_Entity_Name.ToString().Length > 0)) { string main_name_as_string = Bib.Bib_Info.Main_Entity_Name.ToString(); if ((main_name_as_string != "unknown") && (main_name_as_string.Length > 0)) { if (Bib.Bib_Info.Main_Entity_Name.Roles.Any(thisRole => thisRole.Role.ToUpper() == FixedTypeFromTemplateFile.ToUpper())) { Bib.Bib_Info.Main_Entity_Name.Clear(); } } } if (Bib.Bib_Info.Names_Count > 0) { List <Name_Info> deleteNames = (from thisName in Bib.Bib_Info.Names let name_as_string = thisName.ToString() where (name_as_string != "unknown") && (name_as_string.Length > 0) where thisName.Roles.Any(thisRole => thisRole.Role.ToUpper() == FixedTypeFromTemplateFile.ToUpper()) select thisName).ToList(); foreach (Name_Info thisName in deleteNames) { Bib.Bib_Info.Remove_Name(thisName); } } }
/// <summary> Renders the HTML for this element </summary> /// <param name="Output"> Textwriter to write the HTML for this element </param> /// <param name="Bib"> Object to populate this element from </param> /// <param name="Skin_Code"> Code for the current skin </param> /// <param name="IsMozilla"> Flag indicates if the current browse is Mozilla Firefox (different css choices for some elements)</param> /// <param name="PopupFormBuilder"> Builder for any related popup forms for this element </param> /// <param name="Current_User"> Current user, who's rights may impact the way an element is rendered </param> /// <param name="CurrentLanguage"> Current user-interface language </param> /// <param name="Translator"> Language support object which handles simple translational duties </param> /// <param name="Base_URL"> Base URL for the current request </param> /// <remarks> This simple element does not append any popup form to the popup_form_builder</remarks> public override void Render_Template_HTML(TextWriter Output, SobekCM_Item Bib, string Skin_Code, bool IsMozilla, StringBuilder PopupFormBuilder, User_Object Current_User, Web_Language_Enum CurrentLanguage, Language_Support_Info Translator, string Base_URL) { // Check that an acronym exists if (Acronym.Length == 0) { const string defaultAcronym = "Enter the fixed type of identifier."; switch (CurrentLanguage) { case Web_Language_Enum.English: Acronym = defaultAcronym; break; case Web_Language_Enum.Spanish: Acronym = defaultAcronym; break; case Web_Language_Enum.French: Acronym = defaultAcronym; break; default: Acronym = defaultAcronym; break; } } if ((LabelFromTemplateFile.Length > 0) && (FixedTypeFromTemplateFile.Length == 0)) { FixedTypeFromTemplateFile = LabelFromTemplateFile; } if ((LabelFromTemplateFile.Length == 0) && (FixedTypeFromTemplateFile.Length > 0)) { LabelFromTemplateFile = FixedTypeFromTemplateFile; } List <string> terms = new List <string>(); if (Bib.Bib_Info.Identifiers_Count > 0) { terms.AddRange(Bib.Bib_Info.Identifiers.Select(thisIdentifier => thisIdentifier.Identifier)); } Title = LabelFromTemplateFile; if (LabelFromTemplateFile.Length == 0) { Title = "MISSING LABEL!"; } render_helper(Output, terms, Skin_Code, Current_User, CurrentLanguage, Translator, Base_URL, FixedTypeFromTemplateFile.Replace(" ", "_").ToLower() + "fixedidentifier"); }