Ejemplo n.º 1
0
        public DatabaseDetailsViewModel(MongoDatabase db)
        {
            _db = db;

            DatabaseStatsResult stats = db.GetStats();

            Size = new Dictionary <string, long>();
            Size.Add("Индексы", stats.IndexSize);
            Size.Add("Данные", stats.DataSize);
            Size.Add("Зарезервированное место", stats.FileSize - stats.IndexSize - stats.DataSize);
        }
Ejemplo n.º 2
0
 /// <summary>
 /// Fill Database status to ListView
 /// </summary>
 /// <param name="lstSvr"></param>
 public static void FillDataBaseStatusToList(ListView lstSvr)
 {
     lstSvr.Clear();
     if (SystemManager.IsUseDefaultLanguage)
     {
         lstSvr.Columns.Add("DataBaseName");
         lstSvr.Columns.Add("CollectionCount");
         lstSvr.Columns.Add("DataSize");
         lstSvr.Columns.Add("FileSize");
         lstSvr.Columns.Add("IndexCount");
         lstSvr.Columns.Add("IndexSize");
         lstSvr.Columns.Add("ObjectCount");
         lstSvr.Columns.Add("StorageSize");
     }
     else
     {
         lstSvr.Columns.Add(SystemManager.mStringResource.GetText(StringResource.TextType.DataBase_Status_DataBaseName));
         lstSvr.Columns.Add(SystemManager.mStringResource.GetText(StringResource.TextType.DataBase_Status_CollectionCount));
         lstSvr.Columns.Add(SystemManager.mStringResource.GetText(StringResource.TextType.DataBase_Status_DataSize));
         lstSvr.Columns.Add(SystemManager.mStringResource.GetText(StringResource.TextType.DataBase_Status_FileSize));
         lstSvr.Columns.Add(SystemManager.mStringResource.GetText(StringResource.TextType.DataBase_Status_IndexCount));
         lstSvr.Columns.Add(SystemManager.mStringResource.GetText(StringResource.TextType.DataBase_Status_IndexSize));
         lstSvr.Columns.Add(SystemManager.mStringResource.GetText(StringResource.TextType.DataBase_Status_ObjectCount));
         lstSvr.Columns.Add(SystemManager.mStringResource.GetText(StringResource.TextType.DataBase_Status_StorageSize));
     }
     foreach (String mongoSvrKey in _mongoConnSvrLst.Keys)
     {
         try
         {
             MongoServer mongoSvr = _mongoConnSvrLst[mongoSvrKey];
             //感谢 魏琼东 的Bug信息,一些命令必须以Admin执行
             if (!SystemManager.GetCurrentServerConfig(mongoSvrKey).Health ||
                 !SystemManager.GetCurrentServerConfig(mongoSvrKey).LoginAsAdmin)
             {
                 continue;
             }
             List <String> databaseNameList = mongoSvr.GetDatabaseNames().ToList <String>();
             foreach (String strDBName in databaseNameList)
             {
                 MongoDatabase       mongoDB  = mongoSvr.GetDatabase(strDBName);
                 DatabaseStatsResult dbStatus = mongoDB.GetStats();
                 ListViewItem        lst      = new ListViewItem(mongoSvrKey + "." + strDBName);
                 try
                 {
                     lst.SubItems.Add(dbStatus.CollectionCount.ToString());
                 }
                 catch (Exception)
                 {
                     lst.SubItems.Add("0");
                 }
                 lst.SubItems.Add(GetSize(dbStatus.DataSize));
                 lst.SubItems.Add(GetSize(dbStatus.FileSize));
                 lst.SubItems.Add(dbStatus.IndexCount.ToString());
                 lst.SubItems.Add(GetSize(dbStatus.IndexSize));
                 lst.SubItems.Add(dbStatus.ObjectCount.ToString());
                 lst.SubItems.Add(GetSize(dbStatus.StorageSize));
                 lstSvr.Items.Add(lst);
             }
         }
         catch (Exception ex)
         {
             throw ex;
         }
     }
 }