Beispiel #1
0
 public IEnumerable <IBucketPlayer> Get(string realmName)
 {
     using (var connection = new MySqlConnection(ConnectionString))
     {
         connection.Open();
         using (var command = new MySqlCommand {
             Connection = connection
         })
         {
             command.CommandText = @"select x.count, x.playerid as PlayerId, d.datavalue as DataValue
                 from (select 
                         count(1) AS `count`,
                         `gp`.`PlayerId` AS `playerid`
                     from
                         `games_players` `gp`
                         join `games` `g` ON `g`.`ServerName` = `gp`.`ServerName` and `g`.`StartTimeSeconds` = `gp`.`StartTimeSeconds`
                     where
                         `gp`.`RowCreated` > (curdate() - interval 14 day)
                             and `g`.`Realm` = @RealmName
                     group by `gp`.`PlayerId`
                 order by 1 desc) x
                 inner join `data` `d` ON `d`.`DataTypeName` = 'bka' and `d`.`DataRecordId` = `x`.`PlayerId` and d.datarealm = @RealmName
                 order by x.count desc";
             command.Prepare();
             command.Parameters.AddWithValue("@RealmName", realmName);
             using (var reader = command.ExecuteReader())
             {
                 while (reader.Read())
                 {
                     var playerId = reader.GetInt64("PlayerId");
                     var bkaJson  = reader.GetString("DataValue");
                     IDictionary <string, object> bkaDictionary = null;
                     IEnumerable <string>         akas          = null;
                     try
                     {
                         bkaDictionary = JsonConvert.DeserializeObject <Dictionary <string, object> >(bkaJson);
                         akas          = ((Newtonsoft.Json.Linq.JArray)bkaDictionary["AKAs"]).ToObject <IEnumerable <string> >();
                     }
                     catch (Exception)
                     {
                     }
                     if (bkaDictionary != null)
                     {
                         var playerName = bkaDictionary["BKA"] as string;
                         if (string.IsNullOrWhiteSpace(playerName) && akas != null)
                         {
                             playerName = akas.First();
                         }
                         if (!string.IsNullOrWhiteSpace(playerName))
                         {
                             var player = new BucketPlayer(playerName, playerId);
                             yield return(player);
                         }
                     }
                 }
             }
         }
     }
 }
Beispiel #2
0
        public ActionResult Add(long playerId, string playerName, string bucketName)
        {
            var player = new BucketPlayer(playerName, playerId);

            _bucketNamePlayerAddActions[bucketName](player);
            var activity = string.Format("Added {0} ({1}) to {2} bucket.", playerName, playerId, bucketName);

            TempData["Success"] = activity;
            Logs.Insert(0, string.Format("{0} {1} {2}: {3}", DateTime.Now.ToShortDateString(), DateTime.Now.ToLongTimeString(), UserName, activity));
            return(RedirectToAction("Manage"));
        }