Beispiel #1
0
        public List <string> GetFoldersOverFTP(FTPDetails details, string folder)
        {
            try
            {
                Uri mapsUri = new Uri($"{details.address}/{folder}");
                ftpWebRequest             = (FtpWebRequest)WebRequest.Create(mapsUri);
                ftpWebRequest.Credentials = new NetworkCredential(details.username, details.password);
                ftpWebRequest.Method      = WebRequestMethods.Ftp.ListDirectory;
                ftpWebRequest.UsePassive  = details.passiveMode;
                FtpWebResponse response     = (FtpWebResponse)ftpWebRequest.GetResponse();
                StreamReader   streamReader = new StreamReader(response.GetResponseStream());


                List <string> dirs = new List <string>();

                string line = streamReader.ReadLine();
                while (!string.IsNullOrEmpty(line))
                {
                    Console.WriteLine(line);
                    dirs.Add(line.Split('/')[1]);
                    line = streamReader.ReadLine();
                }

                streamReader.Close();

                return(dirs);
            }
            catch (WebException e)
            {
                MessageBox.Show(e.Message);
                return(new List <string>());
            }
        }
Beispiel #2
0
    private void BindData()
    {
        var ftp1 = new FTPDetails {
            Type = "FTP", IP = "1.1.1.1", Port = "21"
        };
        var ftp2 = new FTPDetails {
            Type = "SFTP", IP = "2.2.2.2", Port = "22"
        };

        detailsView.DataSource = new List <FTPDetails> {
            ftp1, ftp2
        };
        detailsView.DataBind();
    }
        public FTPDetails GetFirmwareFtpDetails()
        {
            FTPDetails result = null;

            try
            {
                using (var conn = OpenConnection())
                {
                    result = conn.Query <FTPDetails>("stp_FirmwareFtpDetails_Get", new {  }, commandType: CommandType.StoredProcedure).FirstOrDefault();
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(result);
        }
Beispiel #4
0
        private void SaveSettings()
        {
            var dirtyFields = from x in _propertyFields
                              where x.Value.IsDirty == true && !x.Key.Contains("FTP_")
                              select x;

            foreach (var item in dirtyFields)
            {
                switch (item.Key)
                {
                case "StartMonOnStartUp":
                    UserSettings.StartMonOnStartUp = Convert.ToBoolean(item.Value.NewValue);

                    break;

                case "LaunchWithWindows":
                    UserSettings.LaunchWithWindows = Convert.ToBoolean(item.Value.NewValue);
                    break;

                case "MinimiseonStartup":
                    UserSettings.MinimiseonStartup = Convert.ToBoolean(item.Value.NewValue);
                    break;

                case "MinimiseToTray":
                    UserSettings.MinimiseToTray = Convert.ToBoolean(item.Value.NewValue);
                    break;

                case "LastPlayedCompare":
                    UserSettings.LastPlayedCompare = Convert.ToInt32(item.Value.NewValue);
                    break;

                case "AllowVersionCheck":
                    UserSettings.AllowVersionCheck = Convert.ToBoolean(item.Value.NewValue);
                    break;

                case "VersionCounter":
                    UserSettings.VersionCounter = Convert.ToInt32(item.Value.NewValue);
                    break;

                case "SystemFont":
                    UserSettings.SystemFont = Convert.ToString(item.Value.NewValue);
                    break;

                case "HTMLCellFont":
                    UserSettings.HTMLCellFont = Convert.ToString(item.Value.NewValue);
                    break;

                case "HTMLHeaderFont":
                    UserSettings.HTMLHeaderFont = Convert.ToString(item.Value.NewValue);
                    break;

                case "HTMLTankInfoHeader":
                    UserSettings.HTMLTankInfoHeader = Convert.ToString(item.Value.NewValue);
                    break;

                case "HTMLShowMovementPics":
                    UserSettings.HTMLShowMovementPics = Convert.ToBoolean(item.Value.NewValue);
                    break;

                case "KillCountsShowTierTotals":
                    UserSettings.KillCountsShowTierTotals = Convert.ToBoolean(item.Value.NewValue);
                    break;

                case "KillCountsShowRowTotals":
                    UserSettings.KillCountsShowRowTotals = Convert.ToBoolean(item.Value.NewValue);
                    break;

                case "KillCountsShowColumnTotals":
                    UserSettings.KillCountsShowColumnTotals = Convert.ToBoolean(item.Value.NewValue);
                    break;

                case "DateFormat":
                    UserSettings.DateFormat = Convert.ToString(item.Value.NewValue);
                    break;

                case "TimeStamp":
                    UserSettings.TimeStamp = Convert.ToBoolean(item.Value.NewValue);
                    break;

                case "TimeFormat":
                    UserSettings.TimeFormat = Convert.ToString(item.Value.NewValue);
                    break;

                case "GroupLPT":
                    UserSettings.GroupLPT = Convert.ToString(item.Value.NewValue);
                    break;

                case "AllowvBAddictUpload":
                    UserSettings.AllowvBAddictUpload = Convert.ToBoolean(item.Value.NewValue);
                    break;

                case "AllowvBAddictUploadDossier":
                    UserSettings.AllowvBAddictUploadDossier = Convert.ToBoolean(item.Value.NewValue);
                    break;

                case "AllowvBAddictUploadDossierBattleResult":
                    UserSettings.AllowvBAddictUploadDossierBattleResult = Convert.ToBoolean(item.Value.NewValue);
                    break;

                case "AllowvBAddictUploadDossierBattleResultReplay":
                    UserSettings.AllowvBAddictUploadDossierBattleResultReplay = Convert.ToBoolean(item.Value.NewValue);
                    break;

                case "LastPlayedCompareQuota":
                    UserSettings.LastPlayedCompareQuota = Convert.ToInt32(item.Value.NewValue);
                    break;

                case "ColorPositive":
                    UserSettings.ColorPositive = Convert.ToInt32(item.Value.NewValue);
                    break;

                case "ColorNeutral":
                    UserSettings.ColorNeutral = Convert.ToInt32(item.Value.NewValue);
                    break;

                case "ColorNegative":
                    UserSettings.ColorNegative = Convert.ToInt32(item.Value.NewValue);
                    break;

                case "ChartAppearance":
                    UserSettings.ChartAppearance = item.Value.NewValue.ToString();
                    break;

                case "ChartPalette":
                    UserSettings.ChartPalette = item.Value.NewValue.ToString();
                    break;

                case "colorWNClass1":
                    UserSettings.colorWNClass1 = Convert.ToInt32(item.Value.NewValue);
                    break;

                case "colorWNClass2":
                    UserSettings.colorWNClass2 = Convert.ToInt32(item.Value.NewValue);
                    break;

                case "colorWNClass3":
                    UserSettings.colorWNClass3 = Convert.ToInt32(item.Value.NewValue);
                    break;

                case "colorWNClass4":
                    UserSettings.colorWNClass4 = Convert.ToInt32(item.Value.NewValue);
                    break;

                case "colorWNClass5":
                    UserSettings.colorWNClass5 = Convert.ToInt32(item.Value.NewValue);
                    break;

                case "colorWNClass6":
                    UserSettings.colorWNClass6 = Convert.ToInt32(item.Value.NewValue);
                    break;

                case "colorWNClass7":
                    UserSettings.colorWNClass7 = Convert.ToInt32(item.Value.NewValue);
                    break;

                case "colorWNClass8":
                    UserSettings.colorWNClass8 = Convert.ToInt32(item.Value.NewValue);
                    break;

                case "colorWNClass9":
                    UserSettings.colorWNClass9 = Convert.ToInt32(item.Value.NewValue);
                    break;

                case "Cloud_Allow":
                    UserSettings.Cloud_Allow = Convert.ToBoolean(item.Value.NewValue);
                    break;

                case "Cloud_Path":
                    UserSettings.Cloud_Path = Convert.ToString(item.Value.NewValue);
                    break;

                case "TimeAdjustment":
                    UserSettings.TimeAdjustment = Convert.ToDouble(item.Value.NewValue);
                    break;

                case "TopMinPlayed":
                    UserSettings.TopMinPlayed = Convert.ToInt32(item.Value.NewValue);
                    break;

                //case "RatingSystem":
                //    UserSettings.RatingSystem = Convert.ToString(item.Value.NewValue);
                //    break;
                case "LangID":
                    UserSettings.LangID = Convert.ToString(item.Value.NewValue);
                    DevExpress.XtraEditors.XtraMessageBox.Show(Translations.TranslationGet("STR_LANGIDNOTIFY", "DE", "Please note that the language settings would take effect after application is restarted."), "WOT Statistics", MessageBoxButtons.OK, MessageBoxIcon.Information);
                    break;

                case "AutoCreateSession":
                    UserSettings.AutoCreateSession = Convert.ToBoolean(item.Value.NewValue);
                    break;

                case "AutoSessionOnStartUp":
                    UserSettings.AutoSessionOnStartUp = Convert.ToBoolean(item.Value.NewValue);
                    break;

                case "AutoSessionOnStartUpMessage":
                    UserSettings.AutoSessionOnStartUpMessage = Convert.ToBoolean(item.Value.NewValue);
                    break;

                case "AutoSessionXBattles":
                    UserSettings.AutoSessionXBattles = Convert.ToBoolean(item.Value.NewValue);
                    break;

                case "AutoSessionXBattlesMessage":
                    UserSettings.AutoSessionXBattlesMessage = Convert.ToBoolean(item.Value.NewValue);
                    break;

                case "AutoSessionXBattlesValue":
                    UserSettings.AutoSessionXBattlesValue = Convert.ToInt32(item.Value.NewValue);
                    break;

                case "AutoSessionXHours":
                    UserSettings.AutoSessionXHours = Convert.ToBoolean(item.Value.NewValue);
                    break;

                case "AutoSessionXHoursMessage":
                    UserSettings.AutoSessionXHoursMessage = Convert.ToBoolean(item.Value.NewValue);
                    break;

                case "AutoSessionXHoursValue":
                    UserSettings.AutoSessionXHoursValue = Convert.ToInt32(item.Value.NewValue);
                    break;

                default:
                    break;
                }
                item.Value.OldValue = item.Value.NewValue;
            }

            var dirtyFieldsFTP = from x in _propertyFields
                                 where x.Value.IsDirty == true && x.Key.Contains("FTP_")
                                 select x;

            if (dirtyFieldsFTP.Count() > 0)
            {
                FTPDetails ftpDetails = new FTPDetails();
                ftpDetails.AllowFTP = Convert.ToBoolean(_propertyFields["FTP_AllowFTP"].NewValue);
                ftpDetails.Host     = Convert.ToString(_propertyFields["FTP_Host"].NewValue);
                ftpDetails.UserID   = Convert.ToString(_propertyFields["FTP_UserID"].NewValue);
                ftpDetails.UserPWD  = Convert.ToString(_propertyFields["FTP_UserPWD"].NewValue);

                _propertyFields["FTP_AllowFTP"].OldValue = _propertyFields["FTP_AllowFTP"].NewValue;
                _propertyFields["FTP_Host"].OldValue     = _propertyFields["FTP_Host"].NewValue;
                _propertyFields["FTP_UserID"].OldValue   = _propertyFields["FTP_UserID"].NewValue;
                _propertyFields["FTP_UserPWD"].OldValue  = _propertyFields["FTP_UserPWD"].NewValue;
                ftpDetails.Save();
            }
        }
Beispiel #5
0
        public frmSetup(string page)
        {
            _propertyFields.Add("StartMonOnStartUp", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.StartMonOnStartUp, NewValue = UserSettings.StartMonOnStartUp
            });
            _propertyFields.Add("LaunchWithWindows", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.LaunchWithWindows, NewValue = UserSettings.LaunchWithWindows
            });
            _propertyFields.Add("MinimiseonStartup", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.MinimiseonStartup, NewValue = UserSettings.MinimiseonStartup
            });
            _propertyFields.Add("MinimiseToTray", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.MinimiseToTray, NewValue = UserSettings.MinimiseToTray
            });
            _propertyFields.Add("LastPlayedCompare", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.LastPlayedCompare, NewValue = UserSettings.LastPlayedCompare
            });
            _propertyFields.Add("AllowVersionCheck", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.AllowVersionCheck, NewValue = UserSettings.AllowVersionCheck
            });
            _propertyFields.Add("VersionCounter", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.VersionCounter, NewValue = UserSettings.VersionCounter
            });
            _propertyFields.Add("SystemFont", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.SystemFont, NewValue = UserSettings.SystemFont
            });
            _propertyFields.Add("HTMLCellFont", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.HTMLCellFont, NewValue = UserSettings.HTMLCellFont
            });
            _propertyFields.Add("HTMLHeaderFont", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.HTMLHeaderFont, NewValue = UserSettings.HTMLHeaderFont
            });
            _propertyFields.Add("HTMLTankInfoHeader", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.HTMLTankInfoHeader, NewValue = UserSettings.HTMLTankInfoHeader
            });
            _propertyFields.Add("HTMLShowMovementPics", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.HTMLShowMovementPics, NewValue = UserSettings.HTMLShowMovementPics
            });
            _propertyFields.Add("KillCountsShowTierTotals", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.KillCountsShowTierTotals, NewValue = UserSettings.KillCountsShowTierTotals
            });
            _propertyFields.Add("KillCountsShowRowTotals", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.KillCountsShowRowTotals, NewValue = UserSettings.KillCountsShowRowTotals
            });
            _propertyFields.Add("KillCountsShowColumnTotals", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.KillCountsShowColumnTotals, NewValue = UserSettings.KillCountsShowColumnTotals
            });
            _propertyFields.Add("DateFormat", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.DateFormat, NewValue = UserSettings.DateFormat
            });
            _propertyFields.Add("TimeStamp", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.TimeStamp, NewValue = UserSettings.TimeStamp
            });
            _propertyFields.Add("TimeFormat", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.TimeFormat, NewValue = UserSettings.TimeFormat
            });
            _propertyFields.Add("GroupLPT", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.GroupLPT, NewValue = UserSettings.GroupLPT
            });
            _propertyFields.Add("AllowvBAddictUpload", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.AllowvBAddictUpload, NewValue = UserSettings.AllowvBAddictUpload
            });
            _propertyFields.Add("AllowvBAddictUploadDossier", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.AllowvBAddictUploadDossier, NewValue = UserSettings.AllowvBAddictUploadDossier
            });
            _propertyFields.Add("AllowvBAddictUploadDossierBattleResult", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.AllowvBAddictUploadDossierBattleResult, NewValue = UserSettings.AllowvBAddictUploadDossierBattleResult
            });
            _propertyFields.Add("AllowvBAddictUploadDossierBattleResultReplay", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.AllowvBAddictUploadDossierBattleResultReplay, NewValue = UserSettings.AllowvBAddictUploadDossierBattleResultReplay
            });
            _propertyFields.Add("LastPlayedCompareQuota", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.LastPlayedCompareQuota, NewValue = UserSettings.LastPlayedCompareQuota
            });
            _propertyFields.Add("ColorPositive", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.ColorPositive, NewValue = UserSettings.ColorPositive
            });
            _propertyFields.Add("ColorNeutral", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.ColorNeutral, NewValue = UserSettings.ColorNeutral
            });
            _propertyFields.Add("ColorNegative", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.ColorNegative, NewValue = UserSettings.ColorNegative
            });
            _propertyFields.Add("ChartAppearance", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.ChartAppearance, NewValue = UserSettings.ChartAppearance
            });
            _propertyFields.Add("ChartPalette", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.ChartPalette, NewValue = UserSettings.ChartPalette
            });
            _propertyFields.Add("colorWNClass1", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.colorWNClass1, NewValue = UserSettings.colorWNClass1
            });
            _propertyFields.Add("colorWNClass2", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.colorWNClass2, NewValue = UserSettings.colorWNClass2
            });
            _propertyFields.Add("colorWNClass3", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.colorWNClass3, NewValue = UserSettings.colorWNClass3
            });
            _propertyFields.Add("colorWNClass4", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.colorWNClass4, NewValue = UserSettings.colorWNClass4
            });
            _propertyFields.Add("colorWNClass5", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.colorWNClass5, NewValue = UserSettings.colorWNClass5
            });
            _propertyFields.Add("colorWNClass6", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.colorWNClass6, NewValue = UserSettings.colorWNClass6
            });
            _propertyFields.Add("colorWNClass7", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.colorWNClass7, NewValue = UserSettings.colorWNClass7
            });
            _propertyFields.Add("colorWNClass8", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.colorWNClass8, NewValue = UserSettings.colorWNClass8
            });
            _propertyFields.Add("colorWNClass9", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.colorWNClass9, NewValue = UserSettings.colorWNClass9
            });
            _propertyFields.Add("Cloud_Allow", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.Cloud_Allow, NewValue = UserSettings.Cloud_Allow
            });
            _propertyFields.Add("Cloud_Path", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.Cloud_Path, NewValue = UserSettings.Cloud_Path
            });
            _propertyFields.Add("TimeAdjustment", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.TimeAdjustment, NewValue = UserSettings.TimeAdjustment
            });
            _propertyFields.Add("TopMinPlayed", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.TopMinPlayed, NewValue = UserSettings.TopMinPlayed
            });
            _propertyFields.Add("LangID", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.LangID, NewValue = UserSettings.LangID
            });
            //_propertyFields.Add("RatingSystem", new PropertyFields() { FieldType = typeof(string), OldValue = UserSettings.RatingSystem, NewValue = UserSettings.RatingSystem });

            _propertyFields.Add("AutoCreateSession", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.AutoCreateSession, NewValue = UserSettings.AutoCreateSession
            });
            _propertyFields.Add("AutoSessionOnStartUp", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.AutoSessionOnStartUp, NewValue = UserSettings.AutoSessionOnStartUp
            });
            _propertyFields.Add("AutoSessionOnStartUpMessage", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.AutoSessionOnStartUpMessage, NewValue = UserSettings.AutoSessionOnStartUpMessage
            });
            _propertyFields.Add("AutoSessionXBattles", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.AutoSessionXBattles, NewValue = UserSettings.AutoSessionXBattles
            });
            _propertyFields.Add("AutoSessionXBattlesMessage", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.AutoSessionXBattlesMessage, NewValue = UserSettings.AutoSessionXBattlesMessage
            });
            _propertyFields.Add("AutoSessionXBattlesValue", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.AutoSessionXBattlesValue, NewValue = UserSettings.AutoSessionXBattlesValue
            });
            _propertyFields.Add("AutoSessionXHours", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.AutoSessionXHours, NewValue = UserSettings.AutoSessionXHours
            });
            _propertyFields.Add("AutoSessionXHoursMessage", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.AutoSessionXHoursMessage, NewValue = UserSettings.AutoSessionXHoursMessage
            });
            _propertyFields.Add("AutoSessionXHoursValue", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = UserSettings.AutoSessionXHoursValue, NewValue = UserSettings.AutoSessionXHoursValue
            });


            FTPDetails ftpDetails = new FTPDetails();

            _propertyFields.Add("FTP_AllowFTP", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = ftpDetails.AllowFTP, NewValue = ftpDetails.AllowFTP
            });
            _propertyFields.Add("FTP_Host", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = ftpDetails.Host, NewValue = ftpDetails.Host
            });
            _propertyFields.Add("FTP_UserID", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = ftpDetails.UserID, NewValue = ftpDetails.UserID
            });
            _propertyFields.Add("FTP_UserPWD", new PropertyFields()
            {
                FieldType = typeof(string), OldValue = ftpDetails.UserPWD, NewValue = ftpDetails.UserPWD
            });



            InitializeComponent();
            treeList1.ExpandAll();
            treeList1.Columns[0].SortOrder = SortOrder.None;

            if (page == "LastPlayedTanks")
            {
                SetNodeFocus(Translations.TranslationGet("STR_RECENTBATTLES", "DE", "Recent Battles"));
            }
            else if (page == "KillCounts")
            {
                SetNodeFocus(Translations.TranslationGet("STR_KILLCOUNTS", "DE", "Kill Counts"));
            }
            else if (page == "CustomGroupings")
            {
                SetNodeFocus("Custom Grouping");
            }
            else if (page == "Players")
            {
                SetNodeFocus(Translations.TranslationGet("STR_PLAYERS", "DE", "Players"));
            }
            else
            {
            }

            helpProvider1.HelpNamespace = Path.Combine(WOTHelper.GetEXEPath(), "Help", "WoT_Stats.chm");
        }
Beispiel #6
0
        private void barButtonGetFiles_ItemClick(object sender, DevExpress.XtraBars.ItemClickEventArgs e)
        {
            try
            {
                splashScreenManager1.ShowWaitForm();
            }
            catch { }
            DataTable dtMaster = new DataTable();

            dtMaster.TableName = "master";
            dtMaster.Columns.Add("PlayerName", typeof(string));
            dtMaster.Columns.Add("LastPlayed", typeof(DateTime));
            dtMaster.Columns.Add("BattleCount", typeof(Int32));
            dtMaster.Columns.Add("Victories", typeof(Int32));
            dtMaster.Columns.Add("Defeats", typeof(Int32));
            dtMaster.Columns.Add("Draws", typeof(Int32));
            dtMaster.Columns.Add("Survived", typeof(Int32));
            dtMaster.Columns.Add("Destroyed", typeof(Int32));
            dtMaster.Columns.Add("Detected", typeof(Int32));
            dtMaster.Columns.Add("HitRatio", typeof(double));
            dtMaster.Columns.Add("Damage", typeof(Int32));
            dtMaster.Columns.Add("CapturePoints", typeof(Int32));
            dtMaster.Columns.Add("DefencePoints", typeof(Int32));
            dtMaster.Columns.Add("TotalExperience", typeof(Int32));
            dtMaster.Columns.Add("AvgExperience", typeof(double));
            dtMaster.Columns.Add("AvgDamage", typeof(double));

            DataTable dtChild = new DataTable();

            dtChild.TableName = "child";
            dtChild.Columns.Add("PlayerName", typeof(string));
            dtChild.Columns.Add("Tank", typeof(string));
            dtChild.Columns.Add("LastPlayed", typeof(DateTime));
            dtChild.Columns.Add("BattleCount", typeof(Int32));
            dtChild.Columns.Add("Victories", typeof(Int32));
            dtChild.Columns.Add("Defeats", typeof(Int32));
            dtChild.Columns.Add("Draws", typeof(Int32));
            dtChild.Columns.Add("Survived", typeof(Int32));
            dtChild.Columns.Add("Destroyed", typeof(Int32));
            dtChild.Columns.Add("Detected", typeof(Int32));
            dtChild.Columns.Add("HitRatio", typeof(double));
            dtChild.Columns.Add("Damage", typeof(Int32));
            dtChild.Columns.Add("CapturePoints", typeof(Int32));
            dtChild.Columns.Add("DefencePoints", typeof(Int32));
            dtChild.Columns.Add("TotalExperience", typeof(Int32));
            dtChild.Columns.Add("AvgExperience", typeof(double));
            dtChild.Columns.Add("AvgDamage", typeof(double));
            dtChild.Columns.Add("Hits", typeof(Int32));
            dtChild.Columns.Add("shots", typeof(Int32));



            PlayerListing pl = new PlayerListing(new MessageQueue());


            FTPTools   ftpTools   = new FTPTools();
            FTPDetails ftpDetails = new FTPDetails();

            Encoding      byteConverter = Encoding.GetEncoding("UTF-8");
            List <string> files         = ftpTools.DirectoryListing(ftpDetails.Host, ftpDetails.UserID, ftpDetails.UserPWD);

            foreach (string item in files)
            {
                string playerName = byteConverter.GetString(Base32.Decode(item.Remove(item.IndexOf('.')))).Split(';')[1];
                string fileName   = ftpTools.Download(ftpDetails.Host, item, ftpDetails.UserID, ftpDetails.UserPWD, new MessageQueue(), playerName);
                ProcessDossierFile(fileName, dtChild, playerName);

                if (dtChild.Rows.Count > 0)
                {
                    DataRow rowM = dtMaster.NewRow();

                    var totals = (from x in dtChild.AsEnumerable()
                                  group x by x["PlayerName"] into totalgroup
                                  where totalgroup.Key.ToString() == playerName
                                  select new
                    {
                        PlayerName = totalgroup.Key,
                        LastPlayed = totalgroup.Max((r) => DateTime.Parse(r["LastPlayed"].ToString())),
                        BattleCount = totalgroup.Sum((r) => int.Parse(r["BattleCount"].ToString())),
                        Victories = totalgroup.Sum((r) => int.Parse(r["Victories"].ToString())),
                        Defeats = totalgroup.Sum((r) => int.Parse(r["Defeats"].ToString())),
                        Draws = totalgroup.Sum((r) => int.Parse(r["Draws"].ToString())),
                        Survived = totalgroup.Sum((r) => int.Parse(r["Survived"].ToString())),
                        Destroyed = totalgroup.Sum((r) => int.Parse(r["Destroyed"].ToString())),
                        Detected = totalgroup.Sum((r) => int.Parse(r["Detected"].ToString())),
                        Hits = totalgroup.Sum((r) => int.Parse(r["Hits"].ToString())),
                        Shots = totalgroup.Sum((r) => int.Parse(r["Shots"].ToString())),
                        Damage = totalgroup.Sum((r) => int.Parse(r["Damage"].ToString())),
                        CapturePoints = totalgroup.Sum((r) => int.Parse(r["CapturePoints"].ToString())),
                        DefencePoints = totalgroup.Sum((r) => int.Parse(r["DefencePoints"].ToString())),
                        TotalExperience = totalgroup.Sum((r) => int.Parse(r["TotalExperience"].ToString())),
                    }).FirstOrDefault();

                    if (totals != null)
                    {
                        rowM.SetField("PlayerName", totals.PlayerName);
                        rowM.SetField("LastPlayed", totals.LastPlayed);
                        rowM.SetField("BattleCount", totals.BattleCount);
                        rowM.SetField("Victories", totals.Victories);
                        rowM.SetField("Defeats", totals.Defeats);
                        rowM.SetField("Draws", totals.Draws);
                        rowM.SetField("Survived", totals.Survived);
                        rowM.SetField("Destroyed", totals.Destroyed);
                        rowM.SetField("Detected", totals.Detected);
                        rowM.SetField("HitRatio", ((double)totals.Hits / (double)totals.Shots) * 100);
                        rowM.SetField("Damage", totals.Damage);
                        rowM.SetField("CapturePoints", totals.CapturePoints);
                        rowM.SetField("DefencePoints", totals.DefencePoints);
                        rowM.SetField("TotalExperience", totals.TotalExperience);
                        rowM.SetField("AvgExperience", totals.TotalExperience / totals.BattleCount);
                        rowM.SetField("AvgDamage", totals.Damage / totals.BattleCount);
                        dtMaster.Rows.Add(rowM);
                    }
                }
                //gridControl1.RefreshDataSource();
            }

            DataSet ds = new DataSet();

            ds.Tables.Add(dtMaster);
            ds.Tables.Add(dtChild);

            DataColumn keyColumn        = ds.Tables["master"].Columns["PlayerName"];
            DataColumn foreignKeyColumn = ds.Tables["child"].Columns["PlayerName"];

            ds.Relations.Add("Player_Detail", keyColumn, foreignKeyColumn);

            gridControl1.DataSource = ds.Tables["master"];
            gridControl1.ForceInitialize();
            gridControl1.LevelTree.Nodes.Add("Player_Detail", PlayerDetail);


            try
            {
                if (splashScreenManager1.IsSplashFormVisible)
                {
                    splashScreenManager1.CloseWaitForm();
                }
                DevExpress.XtraSplashScreen.SplashScreenManager.Default.CloseWaitForm();
            }
            catch { }
            //gridControl1.DataSource = ds.Tables["master"];
            //gridControl1.ForceInitialize();
            //gridControl1.LevelTree.Nodes.Add("Player_Detail", PlayerDetail);

            //PlayerDetail.PopulateColumns(ds.Tables["child"]);
        }