Example #1
0
 /// <summary>
 /// GameServer的插件的插入操作
 /// </summary>
 /// <param name="plugIns"></param>
 public bool InsertPlugIn(GameServer server, IList plugIns)
 {
     IBlazeDatabase db = null;
     //插入数据到服务器表
     string[] fields = new string[] {
             TableString.ServerPlugInFieldGameServerId,
             TableString.ServerPlugInFieldPlugInGuid,
             TableString.ServerPlugInFieldParameter1,
             TableString.ServerPlugInFieldParameter2,
             TableString.ServerPlugInFieldParameter3,
             TableString.ServerPlugInFieldPlugInName
         };
     try
     {
         db = DbFactory.GetDatabase();
         db.BeginTrans();
         foreach (IPlugIn plugIn in plugIns)
         {                    
             IBlazeTable plugInTable = db.GetTable(TableString.ServerPlugInTableName);
             plugInTable.Add(fields, ServerPlugInFactory.GetData(server.Id, plugIn));
             server.InstallPlugIn(plugIn);
         }
         db.CommitTrans();
         return true;
     }
     catch (Exception)
     {
         if (db != null)
             db.RollbackTrans();
         return false;                
     }
     finally
     {
         if (db != null)
             db.Close();
     }            
 }