private void SetNav(HyperLink navLink, EntrySummary entry) { if (navLink == null) { return; } string format = navLink.Attributes["Format"]; if (String.IsNullOrEmpty(format)) { format = "{0}"; } navLink.Attributes.Remove("Format"); string entryTitle = HttpUtility.HtmlDecode(entry.Title); string sizeLimitText = navLink.Attributes["TextSizeLimit"]; if (!String.IsNullOrEmpty(sizeLimitText)) { int sizeLimit; if (int.TryParse(sizeLimitText, out sizeLimit)) { if (sizeLimit > 0 && sizeLimit < entryTitle.Length) { entryTitle = entryTitle.Substring(0, sizeLimit) + "..."; } } } navLink.Attributes.Remove("TextSizeLimit"); navLink.Text = HttpUtility.HtmlEncode(string.Format(format, entryTitle)); navLink.NavigateUrl = Url.EntryUrl(entry); }
public override string ToString() { if (Items.Count != 1) { return(string.Format("{0}[{1}]", this.GetType().Name, Items.Count.ToString())); } else { EntrySummary summary = DataManager.Instance.DataIndices[DataManager.DataType.Item].Entries[Items.GetSpawn(0).ID]; return(string.Format("{0}: {1}", this.GetType().Name, summary.Name.ToLocal())); } }
private void OpenList(DataManager.DataType dataType, GetEntry entryOp, CreateEntry createOp) { DataList choices = new DataList(); choices.Text = dataType.ToString(); string[] entries = DataManager.Instance.DataIndices[dataType].GetLocalStringArray(true); choices.AddEntries(entries); choices.SelectedOKEvent = () => { if (choices.ChosenEntry > -1) { ElementForm editor = new ElementForm(); int entryNum = choices.ChosenEntry; editor.Text = entries[entryNum]; IEntryData data = entryOp(entryNum); editor.Text = data.ToString();//data.GetType().ToString() + "#" + entryNum; DataEditor.LoadDataControls(data, editor.ControlPanel); editor.OnOK += (object okSender, EventArgs okE) => { object obj = data; DataEditor.SaveDataControls(ref obj, editor.ControlPanel); data = (IEntryData)obj; DataManager.SaveData(entryNum, dataType.ToString(), data); DataManager.Instance.ClearCache(dataType); IEntryData entryData = ((IEntryData)data); EntrySummary entrySummary = entryData.GenerateEntrySummary(); DataManager.Instance.DataIndices[dataType].Entries[entryNum] = entrySummary; DataManager.Instance.SaveIndex(dataType); choices.ModifyEntry(entryNum, entrySummary.GetLocalString(true)); editor.Close(); }; editor.OnCancel += (object okSender, EventArgs okE) => { editor.Close(); }; editor.Show(); } }; choices.SelectedAddEvent = () => { ElementForm editor = new ElementForm(); int entryNum = DataManager.Instance.DataIndices[dataType].Entries.Count; editor.Text = "New " + dataType.ToString(); IEntryData data = createOp(); editor.Text = data.ToString();//data.GetType().ToString() + "#" + entryNum; DataEditor.LoadDataControls(data, editor.ControlPanel); editor.OnOK += (object okSender, EventArgs okE) => { object obj = data; DataEditor.SaveDataControls(ref obj, editor.ControlPanel); data = (IEntryData)obj; DataManager.SaveData(entryNum, dataType.ToString(), data); DataManager.Instance.ClearCache(dataType); IEntryData entryData = ((IEntryData)data); EntrySummary entrySummary = entryData.GenerateEntrySummary(); DataManager.Instance.DataIndices[dataType].Entries.Add(entrySummary); DataManager.Instance.SaveIndex(dataType); entries = DataManager.Instance.DataIndices[dataType].GetLocalStringArray(true); choices.AddEntry(entrySummary.GetLocalString(true)); editor.Close(); }; editor.OnCancel += (object okSender, EventArgs okE) => { editor.Close(); }; editor.Show(); }; choices.Show(); }
public static Func <QueryOverProjectionBuilder <Entry>, QueryOverProjectionBuilder <Entry> > FromEntry(EntrySummary entrySummaryAlias) { return(list => { list .Select(e => e.TagsCommaSeparated).WithAlias(() => entrySummaryAlias.TagsCommaSeparated) .Select(e => e.CommentCount).WithAlias(() => entrySummaryAlias.CommentCount) .Select(e => e.MetaDescription).WithAlias(() => entrySummaryAlias.MetaDescription) .Select(e => e.Name).WithAlias(() => entrySummaryAlias.Name) .Select(e => e.Published).WithAlias(() => entrySummaryAlias.Published) .Select(e => e.Author).WithAlias(() => entrySummaryAlias.Author) .Select(e => e.Summary).WithAlias(() => entrySummaryAlias.Summary) .Select(e => e.Title).WithAlias(() => entrySummaryAlias.Title) .Select(e => e.Status).WithAlias(() => entrySummaryAlias.Status) .Select(e => e.LatestRevision.Revised).WithAlias(() => entrySummaryAlias.LastRevised) .Select(x => x.Id).WithAlias(() => entrySummaryAlias.Id); return list; }); }
public static IEnumerable <MvcHtmlString> CssKeywordsFor(this HtmlHelper html, EntrySummary entry) { var tags = entry.TagsCommaSeparated.Split(new[] { "," }, StringSplitOptions.RemoveEmptyEntries); return(from tagName in tags select CssKeywordsForTag(html, tagName)); }