public void Initialise(ISiteRepository aSiteRepository, ILinkRepository aLinkRepository, IHardwareRepository aHardwareRepository)
 {
     // Create the Site Data Repository
       siteRepository = aSiteRepository;
       siteRepository.Populate();
       siteRepository.SitesChanged += new SitesChangedHandler(siteRepository_SitesChanged);
       BuildSiteInformation();
       // Create the Link Data Repository
       linkRepository = aLinkRepository;
       List<Link> links = linkRepository.Populate();
       Links = CollectionViewSource.GetDefaultView(links);
       // Create the Hardware Data Repository
       hardwareRepository = aHardwareRepository;
       List<Hardware> hardwares = hardwareRepository.Populate();
       Hardwares = CollectionViewSource.GetDefaultView(hardwares);
       NotifyPropertyChanged("Sites");
       NotifyPropertyChanged("Links");
       NotifyPropertyChanged("Hardwares");
 }