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 AsBit(this bool value)
  73.         {
  74.             if (value)
  75.             {
  76.                 return "1";
  77.             }
  78.             else
  79.             {
  80.                 return "0";
  81.             }
  82.         }
  83.  
  84.         internal static string AsBit(this bool? value)
  85.         {
  86.             if ((bool)value)
  87.             {
  88.                 return "1";
  89.             }
  90.             else
  91.             {
  92.                 return "0";
  93.             }
  94.         }
  95.  
  96.         internal static string AsYN(this bool? value)
  97.         {
  98.             if ((bool)value)
  99.             {
  100.                 return "Y";
  101.             }
  102.             else
  103.             {
  104.                 return "N";
  105.             }
  106.         }
  107.  
  108.         internal static string Asyesno(this bool? value)
  109.         {
  110.             if ((bool)value)
  111.             {
  112.                 return "yes";
  113.             }
  114.             else
  115.             {
  116.                 return "no";
  117.             }
  118.         }
  119.     }
  120. }
  121.