public WebModuleInfo CreateModule(WebpageInfo page) { WebModuleType moduleType = MasterDetailItem.ModuleType; return(WebModule.CreateModule( MasterDetailItem.Chop(page.Title, 30, false), moduleType.WebApplicationType.Name, moduleType.Name, page.Id, "Body", -1)); }
public void LoadContentItem(int moduleId) { this.ModuleId = moduleId; MasterDetailItem itemRes = GetCurrentMasterDetailItem(); if (itemRes.IsNew) { calPostDate.Date = DateTime.Today; tbPostTime.Text = DateTime.Now.ToShortTimeString(); } else { Load_MasterDetail_ItemResource_AndAssociatedObjects(itemRes); } }
public MasterDetailItem GetCurrentMasterDetailItem() { //get associated resource for the current culture. MasterDetailItem itemRes = MasterDetailItem.GetResource(this.ModuleId); if (null == itemRes) { //create new itemRes = new MasterDetailItem(); itemRes.ModuleId = this.ModuleId; itemRes.Culture = WM.CultureCode.Current; } //if (null == itemRes) // throw new ArgumentException(string.Format("Invalid MasterDetail item resource (it may have been deleted). editModuleId: {0}.", this.EditModuleId)); //check permissions... //if(itemRes.UserId != (Guid)_user.ProviderUserKey) throw new System.Security.SecurityException("The current user is not authorized to view that item."); return(itemRes); }
public void SaveMasterDetailItem() { MasterDetailItem itemRes = GetCurrentMasterDetailItem(); itemRes.Culture = WM.CultureCode.Current; itemRes.StatusId = (int)MasterDetailStatus.Pending; itemRes.ShortDescription = tbShortDesc.Text.Trim(); itemRes.LongDescription = tbLongDesc.Text.Trim(); if (string.IsNullOrEmpty(tbTags.Text.Trim())) { itemRes.Tags = "General"; } else { // Get tags and strip out any extra spaces itemRes.Tags = tbTags.Text.Trim().Replace(" ,", ",").Replace(", ", ","); } itemRes.ImagePath = ImagePathCtl.ImagePath; itemRes.IsFeatured = cbIsFeatured.Checked; itemRes.Save(); }
public void Load_MasterDetail_ItemResource_AndAssociatedObjects(MasterDetailItem itemRes) { WebModuleInfo module = WebModule.GetModule(itemRes.ModuleId); WebpageInfo page = Webpage.GetWebpage(module.Webpage.InstanceId); tbTitle.Text = page.Title; //WebpageInfo respects current culture. tbMetaKeywords.Text = page.MetaKeywords; tbMetaDescription.Text = page.MetaDescription; tbPageNavigationText.Text = page.Text; tbShortDesc.Text = itemRes.ShortDescription; tbLongDesc.Text = itemRes.LongDescription; tbTags.Text = itemRes.Tags; ImagePathCtl.ImagePath = itemRes.ImagePath; cbIsVisible.Checked = page.Visible; cbIsFeatured.Checked = itemRes.IsFeatured; if (page.PostDate.HasValue) { calPostDate.Date = page.PostDate.Value.Date; if (page.PostDate.Value.TimeOfDay.TotalSeconds > 0.001) { tbPostTime.Text = page.PostDate.Value.ToShortTimeString(); } else { tbPostTime.Text = string.Empty; } } if (page.RemoveDate.HasValue) { calRemoveDate.Date = page.RemoveDate.Value; } }
protected override void PopulateRss(string channelName, string userName) { // Get the data string qModuleId = HttpContext.Current.Request["moduleId"]; int moduleId; if (!int.TryParse(qModuleId, out moduleId) || moduleId <= 0) { throw new ArgumentException("Invalid or missing module id: " + moduleId); } WebModuleInfo MasterDetailListModule = WebModule.GetModule(moduleId); if (MasterDetailListModule.WebModuleType != MasterDetailList.ModuleType) { throw new ArgumentException(string.Format("Invalid module type '{0}'. Module type must be '{1}'", MasterDetailListModule.ModuleTypeName, MasterDetailList.ModuleType.Name)); } WebpageInfo MasterDetailListPage = MasterDetailListModule.Webpage; if (null == MasterDetailListModule) { throw new ArgumentException("Invalid module id: " + moduleId); } List <WebModuleInfo> MasterDetailItemModules = MasterDetailList.GetMasterDetailChildren(moduleId, true, true); // Build the feed Rss.Channel = new MasterDetailChannel(); Rss.Version = "2.0"; Rss.Channel.Title = MasterDetailListPage.Title; Rss.Channel.Description = MasterDetailListPage.MetaDescription; Rss.Channel.Link = MasterDetailListPage.Path; Rss.Channel.Items = new List <MasterDetailRssItem>(); if (!string.IsNullOrEmpty(channelName)) { Rss.Channel.Title += " '" + channelName + "'"; } if (!string.IsNullOrEmpty(userName)) { Rss.Channel.Title += " (generated for " + userName + ")"; } int maxItemsPerPage = 25; int i = 0; foreach (WebModuleInfo m in MasterDetailItemModules) { WebpageInfo p = m.Webpage; MasterDetailItem itemRes = MasterDetailItem.GetSafeResource(m.Id); //string postDateString = ""; //if (p.PostDate.HasValue) //{ //this is a hack // postDateString = p.PostDate.Value.GetDateTimeFormats( // System.Globalization.CultureInfo.GetCultureInfo("en-US"))[103]; //} MasterDetailRssItem item = new MasterDetailRssItem(); item.Title = p.Title; item.Description = itemRes.GetSummary(p); if (p.PostDate.HasValue) { item.PubDate = RssXmlHelper.ToRfc822(p.PostDate.Value); } item.Link = VirtualPathUtility.ToAbsolute(p.Path); Rss.Channel.Items.Add(item); i++; if (i == maxItemsPerPage) { break; } } }