From f6f1f7d104de2182134029b61996fa25ce9e8bbe Mon Sep 17 00:00:00 2001 From: inga-lovinde <52715130+inga-lovinde@users.noreply.github.com> Date: Wed, 22 Sep 2010 20:45:37 +0000 Subject: [PATCH] Follow-up to previous commit --- .../handlers/response/PollsListHandler.cs | 50 +++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 IISMainHandler/handlers/response/PollsListHandler.cs diff --git a/IISMainHandler/handlers/response/PollsListHandler.cs b/IISMainHandler/handlers/response/PollsListHandler.cs new file mode 100644 index 0000000..bf625d4 --- /dev/null +++ b/IISMainHandler/handlers/response/PollsListHandler.cs @@ -0,0 +1,50 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Web; +using System.Xml.Linq; +using FLocal.Common; +using FLocal.Common.dataobjects; +using FLocal.Core; +using FLocal.Core.DB; +using FLocal.Core.DB.conditions; + +namespace FLocal.IISHandler.handlers.response { + + class PollsListHandler : AbstractGetHandler { + + override protected string templateName { + get { + return "PollsList.xslt"; + } + } + + override protected IEnumerable getSpecificData(WebContext context) { + PageOuter pageOuter = PageOuter.createFromUrl(this.url, context.userSettings.threadsPerPage); + IEnumerable polls = Poll.LoadByIds( + from stringId in Config.instance.mainConnection.LoadIdsByConditions( + Poll.TableSpec.instance, + new EmptyCondition(), + pageOuter, + new JoinSpec[0], + new SortSpec[] { + new SortSpec( + Poll.TableSpec.instance.getIdSpec(), + pageOuter.reversed + ) + } + ) select int.Parse(stringId) + ); + + return new XElement[] { + new XElement("polls", + from poll in polls select poll.exportToXml(context), + pageOuter.exportToXml(2, 5, 2) + ) + }; + } + + } + +} \ No newline at end of file