static DataWarehouse()
        {
            sites = new Dictionary<AddressBookEntry, Site>();

            // load default address book
            //TODO: if error loading default address book, need a graceful resolution
            addressBook = AddressBookSerializer.LoadFromFile( DEFAULT_ADDRESS_BOOK );
        }
        public static void SaveToFile( AddressBook addressBook, string fileName )
        {
            XmlSerializer serializer = new XmlSerializer( typeof( Domain.AddressBook ) );

            TextWriter tw = new StreamWriter( fileName );

            XmlSerializerNamespaces xns = new XmlSerializerNamespaces();
            xns.Add( string.Empty, string.Empty );

            serializer.Serialize( tw, addressBook, xns );

            tw.Close();
        }
        public FormAddressBook( FormFtpClient formMain )
        {
            InitializeComponent();

            this.formMain = formMain;

            // get address book
            addressBook = DataWarehouse.addressBook;

            // init the grid columns
            InitGrid();

            // refresh grid
            RefreshGrid();
        }
        private void AB_LoadFromFile()
        {
            OpenFileDialog dialog = new OpenFileDialog();
            dialog.Filter = "XML Files (*.xml)|*.xml";
            dialog.FilterIndex = 0;
            dialog.InitialDirectory = Application.StartupPath;

            DialogResult result = dialog.ShowDialog( this );

            if ( result == DialogResult.Cancel )
                return;

            string fileName = dialog.FileName;

            // read file
            addressBook = AddressBookSerializer.LoadFromFile( fileName );
        }