public string Download(string host, string fileName, string userName, string password, MessageQueue message, string playerName) { try { FileInfo fi = new FileInfo(fileName); WebClient request = new WebClient(); if (!string.IsNullOrEmpty(userName) && !string.IsNullOrEmpty(password)) { request.Credentials = new NetworkCredential(userName, password); } byte[] fileData = request.DownloadData(@"ftp://" + host + "/" + fi.Name); string dropFileName = WOTHelper.GetTempFolder() + @"\" + fi.Name; //will dot this at a later stage //File.WriteAllBytes(dropFileName, WOTStatistics.Core.GZIP.Decompress(fileData)); File.WriteAllBytes(dropFileName, fileData); message.Add("Info : Retrieved file from FTP. [" + playerName + "]"); return(dropFileName); } catch (Exception ex) { message.Add("Error : " + ex.Message); return(fileName); } }
public void UploadToVBAddict(string filePath, string playerID, MessageQueue message) { try { FileInfo toUpload = new FileInfo(filePath); byte[] data = File.ReadAllBytes(filePath); HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://www.vbaddict.net/xxx.php"); request.Proxy.Credentials = CredentialCache.DefaultCredentials; request.Method = "PUT"; request.ContentType = "application/x-www-form-urlencoded"; request.ContentLength = data.Length; request.Headers.Clear(); request.Referer = toUpload.Name; request.UserAgent = "WOTStatistics 2.1.0.0"; request.ServicePoint.Expect100Continue = false; using (Stream stream = request.GetRequestStream()) { stream.Write(data, 0, data.Length); } var response = request.GetResponse(); Stream outStream = response.GetResponseStream(); StreamReader reader = new StreamReader(outStream); // Read the content. string responseFromServer = reader.ReadToEnd(); if (responseFromServer.Contains("SUCCESS")) { using (PlayerListing pl = new PlayerListing(new MessageQueue())) { if (pl.GetPlayer(playerID).OnlineURL == "#") { pl.SetPlayerOnlineURL(playerID, responseFromServer.Substring(responseFromServer.IndexOf("Link: ") + 6).Replace("SUCCESS", "")); try { pl.Save(); } catch { } } } } response.Close(); } catch (Exception ex) { message.Add(ex.Message); } }
public void SetPlayer(string id, string playerID, string playerRealm, string watchFile, bool monitor) { Player player; if (!_players.TryGetValue(id.Replace("_", "*"), out player)) { player = new Player() { PlayerID = playerID, PlayerRealm = playerRealm, WatchFile = watchFile, Monitor = (monitor == true ? "Yes" : "No"), PreviousFile = "1", CurrentFile = "0" }; _players.Add(id, player); _message.Add("Added Player : " + playerID); } else { player.PlayerID = playerID; player.WatchFile = watchFile; player.Monitor = (monitor == true ? "Yes" : "No"); } }
public void Remove(string name) { XmlDocument xmlDoc = new XmlDocument(); xmlDoc.Load(WOTHelper.GetUserFile()); XmlElement root = xmlDoc.DocumentElement; XmlNodeList oldCustomGroups = root.SelectNodes(string.Format(@"CustomGroups/CustomGroup[@Name=""{0}""]", name.Replace(" ", "_"))); try { foreach (XmlNode item in oldCustomGroups) { item.ParentNode.RemoveChild(item); } } catch { _message.Add("Info : cant find item in settings."); } xmlDoc.Save(WOTHelper.GetUserFile()); }
public void Start() { _fileMonitor.EnableRaisingEvents = true; _messages.Add(string.Format("Info : Monitor Started ({0})", _playerName)); }
public void Save() { try { Dictionary <string, string> lastbattle = new Dictionary <string, string>(); WN8ExpValues WN8ExpectedTankList = new WN8ExpValues(); foreach (RecentBattle item in this.Values.Where(dbEntry => dbEntry.DBEntry == false)) { lastbattle.Clear(); lastbattle.Add("rbCountryID", item.CountryID.ToString()); lastbattle.Add("rbTankID", item.TankID.ToString()); lastbattle.Add("rbOriginalBattleCount", (Math.Round(item.OriginalBattleCount, 2) * 100).ToString()); lastbattle.Add("rbBattles", (Math.Round(item.Battles, 2) * 100).ToString()); lastbattle.Add("rbKills", (Math.Round(item.Kills, 2) * 100).ToString()); lastbattle.Add("rbDamageReceived", (Math.Round(item.DamageReceived, 2) * 100).ToString()); lastbattle.Add("rbDamageDealt", (Math.Round(item.DamageDealt, 2) * 100).ToString()); lastbattle.Add("rbDamageAssistedRadio", (Math.Round(item.DamageAssistedRadio, 2) * 100).ToString()); lastbattle.Add("rbDamageAssistedTracks", (Math.Round(item.DamageAssistedTracks, 2) * 100).ToString()); lastbattle.Add("rbXPReceived", (Math.Round(item.XPReceived, 2) * 100).ToString()); lastbattle.Add("rbSpotted", (Math.Round(item.Spotted, 2) * 100).ToString()); lastbattle.Add("rbCapturePoints", (Math.Round(item.CapturePoints, 2) * 100).ToString()); lastbattle.Add("rbDefencePoints", (Math.Round(item.DefencePoints, 2) * 100).ToString()); lastbattle.Add("rbSurvived", item.Survived.ToString()); lastbattle.Add("rbVictory", item.Victory.ToString()); lastbattle.Add("rbBattleTime", item.BattleTime.ToString()); lastbattle.Add("rbBattleTimeFriendly", new DateTime(item.BattleTime_Friendly.Year, item.BattleTime_Friendly.Month, item.BattleTime_Friendly.Day, item.BattleTime_Friendly.Hour, item.BattleTime_Friendly.Minute, item.BattleTime_Friendly.Second, item.BattleTime_Friendly.Millisecond).ToString("yyyy-MM-dd HH:mm:ss")); lastbattle.Add("rbShot", (Math.Round(item.Shot, 2) * 100).ToString()); lastbattle.Add("rbHits", (Math.Round(item.Hits, 2) * 100).ToString()); lastbattle.Add("rbTier", item.Tier.ToString()); lastbattle.Add("rbBattlesPerTier", item.BattlesPerTier.ToString()); lastbattle.Add("rbVictoryCount", item.VictoryCount.ToString()); lastbattle.Add("rbDefeatCount", item.DefeatCount.ToString()); lastbattle.Add("rbDrawCount", item.DrawCount.ToString()); lastbattle.Add("rbSurviveYesCount", item.SurviveYesCount.ToString()); lastbattle.Add("rbSurviveNoCount", item.SurviveNoCount.ToString()); lastbattle.Add("rbFragList", item.FragList); lastbattle.Add("rbGlobalAvgTier", (Math.Round(item.GlobalAvgTier, 2) * 100).ToString()); lastbattle.Add("rbGlobalWinPercentage", (Math.Round(item.GlobalWinPercentage, 2) * 100).ToString()); lastbattle.Add("rbGlobalAvgDefPoints", (Math.Round(item.GlobalAvgDefencePoints, 2) * 100).ToString()); lastbattle.Add("rbBattleMode", item.BattleMode.ToString()); RatingStructure ratingStruct = new RatingStructure(); ratingStruct.WN8ExpectedTankList = WN8ExpectedTankList; ratingStruct.countryID = item.CountryID; ratingStruct.tankID = item.TankID; ratingStruct.tier = item.Tier; ratingStruct.globalTier = item.GlobalAvgTier; ratingStruct.singleTank = true; ratingStruct.battlesCount = Convert.ToInt32(item.Battles); ratingStruct.battlesCount8_8 = Convert.ToInt32(item.Battles88); ratingStruct.capturePoints = item.CapturePoints; ratingStruct.defencePoints = item.DefencePoints; ratingStruct.damageAssistedRadio = item.DamageAssistedRadio; ratingStruct.damageAssistedTracks = item.DamageAssistedTracks; ratingStruct.damageDealt = item.DamageDealt; ratingStruct.frags = item.Kills; ratingStruct.spotted = item.Spotted; ratingStruct.wins = item.VictoryCount; ratingStruct.gWinRate = item.GlobalWinPercentage; lastbattle.Add("rbRatingEff", WOTStatistics.Core.WOTHelper.FormatNumberToString(WOTStatistics.Core.Ratings.GetRatingEff(ratingStruct).Value, 2)); lastbattle.Add("rbRatingBR", WOTStatistics.Core.WOTHelper.FormatNumberToString(WOTStatistics.Core.Ratings.GetRatingBR(ratingStruct).Value, 2)); lastbattle.Add("rbRatingWN7", WOTStatistics.Core.WOTHelper.FormatNumberToString(WOTStatistics.Core.Ratings.GetRatingWN7(ratingStruct).Value, 2)); lastbattle.Add("rbRatingWN8", WOTStatistics.Core.WOTHelper.FormatNumberToString(WOTStatistics.Core.Ratings.GetRatingWN8(ratingStruct).Value, 2)); lastbattle.Add("rbSessionID", AutoSessions()); using (IDBHelpers sqlLDB = new DBHelpers(Path.Combine(WOTHelper.GetApplicationData(), "Hist_" + _playerName, "LastBattle", "WOTSStore.db"))) { sqlLDB.Insert("RecentBattles", lastbattle); } } } catch (Exception ex) { _message.Add(ex.Message); } }
public void LoadDossierFiles() { System.Diagnostics.Stopwatch digSW = new Stopwatch(); digSW.Start(); _HistoryFiles.Clear(); string sql = @"select fiID from Files"; string battleMode = UserSettings.BattleMode; if (battleMode != "All") { sql += " inner join File_TankDetails on fiID = cmFileID inner join File_Battles on cmID = bpParentID "; } sql += " where fiID <= " + Int32.Parse(DateTime.Now.AddHours(UserSettings.TimeAdjustment).ToString("yyyyMMdd")); if (battleMode == "15") { sql += " and ifnull(bpBattleMode,0) in (15, 0) group by fiID"; } else if (battleMode == "7") { sql += " and ifnull(bpBattleMode,0) = 7 group by fiID"; } sql += " order by fiID"; Dictionary <int, int> tempDic = new Dictionary <int, int>(); using (IDBHelpers db = new DBHelpers(WOTHelper.GetDBPath(_playerName))) { DataTable dt = db.GetDataTable(sql); foreach (DataRow file in dt.Rows) { tempDic.Add(Convert.ToInt32(file["fiID"]), Convert.ToInt32(file["fiID"])); } _HistoryFiles.Add(GetPlayerID, tempDic); } //DirectoryInfo AppPath = new DirectoryInfo(WOTHelper.GetApplicationData()); //DirectoryInfo[] subDirs = AppPath.GetDirectories(_HistoryIndicator + "*"); //int currentFile = Int32.Parse(DateTime.Now.AddHours(UserSettings.TimeAdjustment).ToString("yyyyMMdd")); //foreach (DirectoryInfo dir in subDirs) //{ // if (dir.Name.Replace(_HistoryIndicator, "") == _playerName) // { // FileSystemInfo[] files = dir.GetFileSystemInfos(); // Dictionary<int, string> tempDic = new Dictionary<int, string>(); // foreach (FileSystemInfo file in files.OrderBy(f => f.Name).Where(w => w.Extension == ".txt")) // { // if (Int32.Parse(file.Name.Replace(file.Extension, "")) <= currentFile) // tempDic.Add(Int32.Parse(file.Name.Replace(file.Extension, "")), file.FullName); // } // } //} //AppPath = null; //subDirs = null; digSW.Stop(); _messages.Add("Diagnostics : Dossier Loading Finished in " + digSW.ElapsedMilliseconds + " miliseconds"); }