public WebSiteOverViewViewModel(string name, IisInformationController controller)
        {
            if(string.IsNullOrWhiteSpace(name)) throw new ArgumentException("name");
            if (controller == null) throw new ArgumentNullException("controller");
            Name = name;

            NumberOfApplications = controller.ListApplicaitonsForWebSite(name).Count;
            AppPoolName = controller.GetWebSite(name).ApplicationDefaults.ApplicationPoolName;
        }
        public static IList<ApplicationOverVewViewModel> Get(string websiteName, IisInformationController controller)
        {
            Site webSite = controller.GetWebSite(websiteName);
            if(webSite == null) throw new ArgumentOutOfRangeException("websiteName");

            return webSite.Applications.Select(app => new ApplicationOverVewViewModel()
                                                          {
                                                              Path = app.Path, AppPoolName = app.ApplicationPoolName, EnabledProtocols = app.EnabledProtocols, ParentWebsite = websiteName
                                                          }).ToList();
        }