fixes the compilation, adding:

* ThanksConfigurationCollection.cs: 
* Estim.cs:
* ThanksHelper.cs:
* ThanksConfigurationElement.cs:
* ThanksConfigurationSection.cs:
This commit is contained in:
Paul Schneider 2015-01-22 11:13:54 +01:00
commit 39f43af916
5 changed files with 934 additions and 0 deletions

View file

@ -0,0 +1,22 @@
using System;
using System.Configuration;
namespace Yavsc
{
public class ThanksConfigurationCollection : ConfigurationElementCollection
{
protected override object GetElementKey (ConfigurationElement element)
{
return ((ThanksConfigurationElement) element).Name;
}
protected override ConfigurationElement CreateNewElement ()
{
return new ThanksConfigurationElement();
}
public ThanksConfigurationElement GetElement (string name)
{
return this.BaseGet(name) as ThanksConfigurationElement;
}
}
}

View file

@ -0,0 +1,48 @@
using System;
using System.Configuration;
namespace Yavsc
{
public class ThanksConfigurationElement : ConfigurationElement
{
[ConfigurationProperty("name", IsKey=true, IsRequired=true)]
public string Name {
get {
return (string) base ["name"];
}
set { base ["name"] = value; }
}
[ConfigurationProperty("url")]
public string Url {
get {
return (string) base ["url"];
}
set { base ["url"] = value; }
}
[ConfigurationProperty("image")]
public string Image {
get {
return (string) base ["image"];
}
set { base ["image"] = value; }
}
/// <summary>
/// Gets or sets the display.
/// </summary>
/// <value>
/// The displaied text when no image is provided and we
/// don't want use the name attribute.
/// </value>
[ConfigurationProperty("display")]
public string Display {
get {
return (string) base ["display"];
}
set { base ["display"] = value; }
}
}
}

View file

@ -0,0 +1,39 @@
using System;
using System.Configuration;
namespace Yavsc
{
public class ThanksConfigurationSection : ConfigurationSection
{
[ConfigurationProperty("to")]
public ThanksConfigurationCollection To {
get {
return (ThanksConfigurationCollection) this["to"];
}
set {
this ["to"] = value;
}
}
[ConfigurationProperty("html_class")]
public string HtmlClass {
get {
return (string)this ["html_class"];
}
set {
this ["html_class"] = value;
}
}
[ConfigurationProperty("title_format")]
public string TitleFormat {
get {
return (string)this ["title_format"];
}
set {
this ["title_format"] = value;
}
}
}
}

View file

@ -0,0 +1,43 @@
using System;
using System.Configuration;
using System.Collections.Generic;
namespace Yavsc
{
public static class ThanksHelper {
static private ThanksConfigurationSection configurationSection=null;
static public ThanksConfigurationSection ConfigurationSection {
get {
if (configurationSection==null)
configurationSection = (ThanksConfigurationSection) ConfigurationManager.GetSection ("system.web/thanks");
return configurationSection;
}
}
public static string[] Links ()
{
List<string> result = new List<string>() ;
if (ConfigurationSection == null) return result.ToArray();
if (ConfigurationSection.To == null) return result.ToArray();
foreach (ThanksConfigurationElement e in ConfigurationSection.To) {
string link = "";
if (!string.IsNullOrEmpty(e.Url))
link = string.Format("<a href=\"{0}\">",e.Url);
string dsp = (string.IsNullOrEmpty(e.Display))?e.Name:e.Display;
if (!string.IsNullOrEmpty(e.Image)) {
string ttl = (string.IsNullOrEmpty(ConfigurationSection.TitleFormat))?"Go and see the website ({0})":ConfigurationSection.TitleFormat;
ttl = string.Format(ttl,dsp);
link += string.Format(
"<img src=\"{1}\" alt=\"{0}\" title=\"{2}\"/>",
dsp,e.Image,ttl);
}
else link += dsp;
if (e.Url!=null)
link += "</a> ";
result.Add (link);
}
return result.ToArray();
}
}
}