/// <summary> /// Handles Click event for Update button /// </summary> /// <param name='sender'> /// Sender. /// </param> /// <param name='e'> /// Event args. /// </param> protected void buttonUpdate_Click (object sender, EventArgs e) { try { DivisionInfo item; // determine if we are adding or updating // ALT: if (Null.IsNull (itemId)) if (!itemId.HasValue) { // add new record item = new DivisionInfo (); } else { // update existing record item = DivisionController.Get<DivisionInfo> (itemId.Value); } // fill the object item.Title = txtTitle.Text.Trim (); item.ShortTitle = txtShortTitle.Text.Trim (); item.Email = txtEmail.Text.Trim ().ToLowerInvariant (); item.SecondaryEmail = txtSecondaryEmail.Text.Trim ().ToLowerInvariant (); item.Phone = txtPhone.Text.Trim (); item.Fax = txtFax.Text.Trim (); item.Location = txtLocation.Text.Trim (); item.WebSite = txtWebSite.Text.Trim (); item.WebSiteLabel = textWebSiteLabel.Text.Trim (); item.ParentDivisionID = Utils.ParseToNullableInt (treeParentDivisions.SelectedValue); item.DivisionTermID = Utils.ParseToNullableInt (treeDivisionTerms.SelectedValue); item.HomePage = urlHomePage.Url; item.DocumentUrl = urlDocumentUrl.Url; // update working hours item.WorkingHours = WorkingHoursLogic.Update (comboWorkingHours, textWorkingHours.Text, checkAddToVocabulary.Checked); if (!itemId.HasValue) { // update audit info item.CreatedByUserID = item.LastModifiedByUserID = this.UserId; item.CreatedOnDate = item.LastModifiedOnDate = DateTime.Now; DivisionController.Add<DivisionInfo> (item); // then adding new division from Division module, // set calling module to display new division info if (ModuleConfiguration.ModuleDefinition.DefinitionName == "R7.University.Division") { var mctrl = new ModuleController (); DivisionSettings.DivisionID = item.DivisionID; } } else { // update audit info item.LastModifiedByUserID = this.UserId; item.LastModifiedOnDate = DateTime.Now; DivisionController.Update<DivisionInfo> (item); } Utils.SynchronizeModule (this); Response.Redirect (Globals.NavigateURL (), true); } catch (Exception ex) { Exceptions.ProcessModuleLoadException (this, ex); } }
protected void DisplayDivision (DivisionInfo division) { // division title var divisionTitle = division.Title; // add division short title if (division.HasUniqueShortTitle) { divisionTitle += string.Format (" ({0})", division.ShortTitle); } // home page int homeTabId; if (int.TryParse (division.HomePage, out homeTabId) && TabId != homeTabId) { // has home page, display as link linkHomePage.Text = divisionTitle; linkHomePage.NavigateUrl = Globals.NavigateURL (homeTabId); labelTitle.Visible = false; } else { // no home page, display as label labelTitle.Text = divisionTitle; linkHomePage.Visible = false; } // link to division resources var displaySearchByTerm = false; if (division.DivisionTermID != null) { var termCtrl = new TermController (); var term = termCtrl.GetTerm (division.DivisionTermID.Value); if (term != null) { // NOTE: Add raw tag to Globals.NavigateURL to allow search work // independently of current friendly urls settings // linkSearchByTerm.NavigateUrl = "/Default.aspx?tabid=" + PortalSettings.SearchTabId + "&tag=" + term.Name; linkSearchByTerm.NavigateUrl = Globals.NavigateURL (PortalSettings.SearchTabId) + "?tag=" + term.Name; displaySearchByTerm = true; } } if (!displaySearchByTerm) linkSearchByTerm.Visible = false; // WebSite if (!string.IsNullOrWhiteSpace (division.WebSite)) { linkWebSite.NavigateUrl = division.FormatWebSiteUrl; linkWebSite.Text = division.FormatWebSiteLabel; } else linkWebSite.Visible = false; // email if (!string.IsNullOrWhiteSpace (division.Email)) { linkEmail.Text = division.Email; linkEmail.NavigateUrl = "mailto:" + division.Email; } else linkEmail.Visible = false; // secondary email if (!string.IsNullOrWhiteSpace (division.SecondaryEmail)) { linkSecondaryEmail.Text = division.SecondaryEmail; linkSecondaryEmail.NavigateUrl = "mailto:" + division.SecondaryEmail; } else linkSecondaryEmail.Visible = false; // phone if (!string.IsNullOrWhiteSpace (division.Phone)) labelPhone.Text = division.Phone; else labelPhone.Visible = false; // fax if (!string.IsNullOrWhiteSpace (division.Fax)) labelFax.Text = string.Format (Localization.GetString ("Fax.Format", LocalResourceFile), division.Fax); else labelFax.Visible = false; // location if (!string.IsNullOrWhiteSpace (division.Location)) labelLocation.Text = division.Location; else labelLocation.Visible = false; // working hours if (!string.IsNullOrWhiteSpace (division.WorkingHours)) labelWorkingHours.Text = division.WorkingHours; else labelWorkingHours.Visible = false; // document if (!string.IsNullOrWhiteSpace (division.DocumentUrl)) { // apply CSS class according to url type or file extension var urlType = Globals.GetURLType (division.DocumentUrl); if (urlType == TabType.File) { var file = FileManager.Instance.GetFile (int.Parse (division.DocumentUrl.Remove (0, "FileID=".Length))); linkDocumentUrl.CssClass += " " + file.Extension.ToLowerInvariant (); } else if (urlType == TabType.Tab) linkDocumentUrl.CssClass += " page"; else linkDocumentUrl.CssClass += " url"; linkDocumentUrl.Text = LocalizeString ("DocumentUrl.Text"); linkDocumentUrl.NavigateUrl = Globals.LinkClick (division.DocumentUrl, TabId, ModuleId); linkDocumentUrl.Target = "_blank"; } else linkDocumentUrl.Visible = false; // barcode image test var barcodeWidth = DivisionSettings.BarcodeWidth; imageBarcode.ImageUrl = R7.University.Utilities.UrlUtils.FullUrl (string.Format ( "/imagehandler.ashx?barcode=1&width={0}&height={1}&type=qrcode&encoding=UTF-8&content={2}", barcodeWidth, barcodeWidth, Server.UrlEncode (division.VCard.ToString () .Replace ("+", "%2b")) // fix for "+" signs in phone numbers )); imageBarcode.ToolTip = Localization.GetString ("imageBarcode.ToolTip", LocalResourceFile); imageBarcode.AlternateText = Localization.GetString ("imageBarcode.AlternateText", LocalResourceFile); // get & bind subdivisions var subDivisions = DivisionController.GetObjects<DivisionInfo> ( "WHERE [ParentDivisionID] = @0 ORDER BY [Title]", division.DivisionID); if (subDivisions.Any ()) { repeatSubDivisions.DataSource = subDivisions; repeatSubDivisions.DataBind (); } }
/// <summary> /// Imports a module from an XML /// </summary> /// <param name="ModuleID"></param> /// <param name="Content"></param> /// <param name="Version"></param> /// <param name="UserID"></param> public void ImportModule (int ModuleID, string Content, string Version, int UserID) { var infos = DotNetNuke.Common.Globals.GetContent (Content, "Divisions"); foreach (XmlNode info in infos.SelectNodes("Division")) { var item = new DivisionInfo (); item.Title = info.SelectSingleNode ("content").InnerText; item.CreatedByUserID = UserID; Add<DivisionInfo> (item); } }