/// <summary>
 /// Remove the item from collection
 /// </summary>
 /// <param name="onlineConnectionDetail"></param>
 public void Remove(OnlineConnectionDetail onlineConnectionDetail)
 {
     this.InnerList.Remove(onlineConnectionDetail);
 }
 /// <summary>
 /// Add the details into the collection
 /// </summary>
 /// <param name="databaseInfo"></param>
 public void Add(OnlineConnectionDetail onlineConnectionDetail)
 {
     bool IsDuplicate = false;
     foreach (OnlineConnectionDetail Connection in this.InnerList)
     {
         if (string.Compare(onlineConnectionDetail.Connection, Connection.Connection, true) == 0)
         {
             IsDuplicate = true;
             break;
         }
     }
     if (!IsDuplicate)
     {
         this.InnerList.Add(onlineConnectionDetail);
     }
 }
 /// <summary>
 /// Insert the connection details at the specified location.
 /// </summary>
 /// <param name="index">Index</param>
 /// <param name="onlineConnectionDetail">Connection Details</param>
 public void Insert(int index, OnlineConnectionDetail onlineConnectionDetail)
 {
     this.InnerList.Insert(index, onlineConnectionDetail);
 }
 /// <summary>
 /// Add the access database in the collection
 /// </summary>
 /// <param name="dataFolderPath"></param>
 private void OfflineDbCollection(string dataFolderPath)
 {
     string[] DbFiles = new string[0];
     DbFiles = Directory.GetFiles(dataFolderPath, "*.mdb");
     foreach (string OfflineDatabase in DbFiles)
     {
         //-- Offline database not exists in the collection.
         if (!IsOfflineDatabaseExists(OfflineDatabase))
         {
             DIConnectionDetails OfflineConnectionDetail = new DIConnectionDetails(DIServerType.MsAccess, "", "", OfflineDatabase, USERNAME, PASSWORD);
             //-- Set the connection
             DIConnection DIConnection = new DIConnection(OfflineConnectionDetail);
             //-- Get all the datasets.
             DataTable DataSetTable = DIConnection.DIDataSets();
             DatabasePreference.OnlineConnectionDetail.OnlineDataSets OfflineDataSets = new OnlineConnectionDetail.OnlineDataSets();
             //-- add all datasets into the collection.
             foreach (DataRow Row in DataSetTable.Rows)
             {
                 OfflineDataSets.Add(new DatabasePreference.OnlineConnectionDetail.OnlineDataSet(Row[DBAvailableDatabases.AvlDBPrefix].ToString(), Row[DBAvailableDatabases.AvlDBName].ToString()));
             }
             DatabasePreference.OnlineConnectionDetail ConnectionDetail = new OnlineConnectionDetail(OfflineConnectionDetail, OfflineDataSets, Path.GetFileName(OfflineDatabase));
             //-- add the offline database details.
             this.OnlineDatabaseDetails.Add(ConnectionDetail);
         }
     }
 }