1. using System;
  2. using System.Xml.Linq;
  3.  
  4. namespace clempaul
  5. {
  6.     internal static class DreamhostExtensionMethods
  7.     {
  8.         internal static bool AsBool(this XElement element)
  9.         {
  10.                 if (element == null)
  11.                 {
  12.                     return false;
  13.                 }
  14.                 else
  15.                 {
  16.                     return !element.Value.Equals("0") && !element.Value.Equals("no") && !element.Value.Equals("N");
  17.                 }
  18.         }
  19.  
  20.         internal static string AsString(this XElement element)
  21.         {
  22.             if (element == null)
  23.             {
  24.                 return string.Empty;
  25.             }
  26.             else
  27.             {
  28.                 return element.Value;
  29.             }
  30.         }
  31.  
  32.         internal static DateTime AsDateTime(this XElement element)
  33.         {
  34.             if (element == null)
  35.             {
  36.                 return new DateTime();
  37.             }
  38.             else
  39.             {
  40.                 return DateTime.Parse(element.Value);
  41.             }
  42.         }
  43.  
  44.         internal static int AsInt(this XElement element) {
  45.             if (element == null)
  46.             {
  47.                 return 0;
  48.             }
  49.             else
  50.             {
  51.                 return int.Parse(element.Value);
  52.             }
  53.         }
  54.  
  55.         internal static double AsDouble(this XElement element)
  56.         {
  57.             if (element == null)
  58.             {
  59.                 return 0;
  60.             }
  61.             else
  62.             {
  63.                 return double.Parse(element.Value);
  64.             }
  65.         }
  66.  
  67.         internal static string AsYYYYMMDD(this DateTime? value)
  68.         {
  69.             return ((DateTime)value).ToString("YYYY-MM-DD");
  70.         }
  71.  
  72.         internal static string AsTimestamp(this DateTime? value)
  73.         {
  74.             return ((DateTime)value).ToString("YYYY-MM-DD HH:mm");
  75.         }
  76.  
  77.         internal static string AsBit(this bool value)
  78.         {
  79.             if (value)
  80.             {
  81.                 return "1";
  82.             }
  83.             else
  84.             {
  85.                 return "0";
  86.             }
  87.         }
  88.  
  89.         internal static string AsBit(this bool? value)
  90.         {
  91.             if ((bool)value)
  92.             {
  93.                 return "1";
  94.             }
  95.             else
  96.             {
  97.                 return "0";
  98.             }
  99.         }
  100.  
  101.         internal static string AsYN(this bool? value)
  102.         {
  103.             if ((bool)value)
  104.             {
  105.                 return "Y";
  106.             }
  107.             else
  108.             {
  109.                 return "N";
  110.             }
  111.         }
  112.  
  113.         internal static string Asyesno(this bool? value)
  114.         {
  115.             if ((bool)value)
  116.             {
  117.                 return "yes";
  118.             }
  119.             else
  120.             {
  121.                 return "no";
  122.             }
  123.         }
  124.     }
  125. }
  126.