Posted by & filed under .Net.


So welcome to part 2, today we’re going to look at some more config – this time it’s arrays…

So we have a class, that tells us when we can down tools and go to the beach…

public class HolidayService
{
    private DateTime[] _holidays;
 
    public DateTime[] Holidays
    {
        get
        {                
            return _holidays;
        }
        set { _holidays = value; }
    }
 
    public bool IsHoliday(DateTime date)
    {
        if (_holidays != null)
        {
            DateTime matchDate = date.Date;
            foreach (DateTime test in Holidays)
            {
                if (test.Date.Equals(matchDate))
                {
                    return true;
                }
            }
        }
 
        return false;
    }
}

We can set the days we are allowed off by adding dates to the holidays array…

So lets look at our code for running this service:

internal class Program
{
    private static void Main(string[] args)
    {
        WindsorContainer container = new WindsorContainer(new XmlInterpreter());
 
        HolidayService holidayService = container.Resolve();
 
        DateTime xmas = new DateTime(2007, 12, 25);
        DateTime newYears = new DateTime(2008, 1, 1);
 
        if (holidayService.IsHoliday(xmas))
            Console.WriteLine("merry xmas!");
        else
            Console.WriteLine("xmas is only for management!");
 
        if (holidayService.IsHoliday(newYears))
            Console.WriteLine("happy new year");
        else
            Console.WriteLine("new year, you haven't done all the work for last year!");
 
        Console.Read();
    }
}

The service configuration is just like last time, we have the component registered with no parameters… so if we run the program we shall see on the screen:

xmas is only for management!

new year, you haven’t done all the work for last year!

Mum will be dissapointed, she’d done a roast ‘n all… so lets get some configuration in their so we can have a few days off…


 
  
    
2007-12-24 2007-12-25 2008-1-1

Now let’s see if we’re going to have a merry xmas and a happy new year – a quick run of our application….

merry xmas!
happy new year

You don’t just have to use arrays either, you can do lists too – though I didn’t show them here, just use list instead of array in the xml configuration…

See you for part 3 where we do dictionary configurations.

Comments are closed.