* LocalizedText.resx:
* LocalizedText.fr.resx: * RssFeedsFormatter.cs: * LocalizedText.Designer.cs: * Web.csproj: * Contact.aspx: * AOEMail.aspx: * AssemblyInfo.aspx: * ReferencedAssemblies.aspx: refactoring * RssFeeds.cs: Rss feeds in progress * HomeController.cs: - refactoring - fixes contact page * style.css: css for textarea and input * Index.aspx: Contact & Assembly info in index * YavscModel.csproj: Rss feedsvnext
parent
2f6146c0f7
commit
7694f4d8b3
@ -0,0 +1,97 @@
|
||||
//
|
||||
// RssFormatter.cs
|
||||
//
|
||||
// Author:
|
||||
// paul <${AuthorEmail}>
|
||||
//
|
||||
// Copyright (c) 2015 paul
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify
|
||||
// it under the terms of the GNU Lesser General Public License as published by
|
||||
// the Free Software Foundation, either version 3 of the License, or
|
||||
// (at your option) any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful,
|
||||
// but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
// GNU Lesser General Public License for more details.
|
||||
//
|
||||
// You should have received a copy of the GNU Lesser General Public License
|
||||
// along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
using System;
|
||||
using System.Net.Http.Formatting;
|
||||
using System.Net.Http.Headers;
|
||||
using System.Collections.Generic;
|
||||
using System.IO;
|
||||
using System.Net.Http;
|
||||
using System.Web.Mvc;
|
||||
using System.Net;
|
||||
using Yavsc.Model;
|
||||
using System.Text;
|
||||
|
||||
namespace Yavsc.Formatters
|
||||
{
|
||||
|
||||
public class RssFeedsFormatter:SimpleFormatter
|
||||
{
|
||||
string doctype = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>";
|
||||
|
||||
public RssFeedsFormatter
|
||||
() : base ("application/rss+xml")
|
||||
{
|
||||
}
|
||||
|
||||
private const string dateformat = "ddd, dd MMM yyyy HH:mm:ss K";
|
||||
|
||||
public override void WriteToStream (Type type, object value, Stream stream, HttpContentHeaders contentHeaders)
|
||||
{
|
||||
RssFeedsChannel feeds = value as RssFeedsChannel;
|
||||
using (var writer = new StreamWriter (stream)) {
|
||||
TagBuilder rss = new TagBuilder ("rss");
|
||||
rss.Attributes.Add ("version", "2.0");
|
||||
TagBuilder channel = new TagBuilder ("channel");
|
||||
TagBuilder title = new TagBuilder ("title");
|
||||
TagBuilder description = new TagBuilder ("description");
|
||||
TagBuilder lastBuildDate = new TagBuilder ("lastBuildDate");
|
||||
TagBuilder link = new TagBuilder ("link");
|
||||
|
||||
title.InnerHtml = MvcHtmlString.Create (feeds.Title).ToHtmlString ();
|
||||
description.InnerHtml = MvcHtmlString.Create (feeds.Description).ToHtmlString ();
|
||||
lastBuildDate.InnerHtml = MvcHtmlString.Create (feeds.LastBuildDate.ToString (dateformat)).ToHtmlString ();
|
||||
link.InnerHtml = MvcHtmlString.Create (feeds.Link).ToHtmlString ();
|
||||
StringBuilder sb = new StringBuilder ();
|
||||
foreach (RssFeedsEntry e in feeds.Entries) {
|
||||
TagBuilder item = new TagBuilder ("item");
|
||||
TagBuilder ititle = new TagBuilder ("title");
|
||||
ititle.InnerHtml = e.Title;
|
||||
|
||||
TagBuilder idescription = new TagBuilder ("description");
|
||||
idescription.InnerHtml = MvcHtmlString.Create (e.Description).ToHtmlString ();
|
||||
TagBuilder ipubDate = new TagBuilder ("pubDate");
|
||||
ipubDate.InnerHtml = MvcHtmlString.Create (
|
||||
e.PubDate.ToString (dateformat)).ToHtmlString ();
|
||||
|
||||
TagBuilder ilink = new TagBuilder ("link");
|
||||
ilink.InnerHtml = MvcHtmlString.Create (e.Link).ToHtmlString ();
|
||||
|
||||
item.InnerHtml = ititle.ToString () + "\n" +
|
||||
idescription.ToString () + "\n" +
|
||||
ipubDate.ToString () + "\n" +
|
||||
ilink.ToString () + "\n";
|
||||
|
||||
sb.Append (item.ToString () + "\n");
|
||||
}
|
||||
channel.InnerHtml = title.ToString () + "\n" +
|
||||
description.ToString () + "\n" +
|
||||
lastBuildDate.ToString () + "\n" +
|
||||
link.ToString () + "\n" +
|
||||
sb.ToString () + "\n";
|
||||
rss.InnerHtml = channel.ToString ();
|
||||
writer.WriteLine (doctype);
|
||||
writer.Write (rss.ToString ());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
@ -1,2 +0,0 @@
|
||||
<%@ Page Language="C#" MasterPageFile="~/Models/App.master" Inherits="System.Web.Mvc.ViewPage" %>
|
||||
|
@ -1,9 +1,12 @@
|
||||
<%@ Page Title="Yavsc - indexe" Language="C#" Inherits="System.Web.Mvc.ViewPage<IEnumerable<System.Reflection.AssemblyName>>" MasterPageFile="~/Models/App.master"%>
|
||||
<asp:Content ContentPlaceHolderID="MainContent" ID="MainContentContent" runat="server">
|
||||
<p><%= GetType().Assembly.FullName %></p>
|
||||
<p>
|
||||
<ul>
|
||||
<% foreach (System.Reflection.AssemblyName item in Model) { %>
|
||||
<li><%= item.FullName %></li>
|
||||
<% } %>
|
||||
</ul>
|
||||
</p>
|
||||
</asp:Content>
|
||||
|
@ -0,0 +1,23 @@
|
||||
<%@ Page Title="Contact" Language="C#" MasterPageFile="~/Models/App.master" Inherits="System.Web.Mvc.ViewPage" %>
|
||||
|
||||
<asp:Content ContentPlaceHolderID="MainContent" ID="MainContentContent" runat="server">
|
||||
<% using (Html.BeginForm("Contact", "Home")) { %>
|
||||
<p>
|
||||
<%= Html.Label("email") %>:
|
||||
<%= Html.ValidationMessage("email") %><br/>
|
||||
<%= Html.TextBox("email") %>
|
||||
</p>
|
||||
<p>
|
||||
<%= Html.Label("reason") %>:
|
||||
<%= Html.ValidationMessage("reason") %><br/>
|
||||
<%= Html.TextBox("reason") %>
|
||||
</p>
|
||||
<p>
|
||||
<%= Html.Label("body") %>:
|
||||
<%= Html.ValidationMessage("body") %><br/>
|
||||
<%= Html.TextArea("body") %>
|
||||
</p>
|
||||
<input type="submit">
|
||||
<% } %>
|
||||
|
||||
</asp:Content>
|
Loading…
Reference in New Issue