Example #1
0
 private void butSave_Click(object sender, EventArgs e)
 {
     if (textName.Text != "" && comboDataField.Text != "")
     {
         if (radioGroup1.EditValue.ToString() == "Tanks" && listTanks.CheckedItems.Count == 0)
         {
             DevExpress.XtraEditors.XtraMessageBox.Show(Translations.TranslationGet("STR_CHARTTANKSAVENOTICE", "DE", "Please select tank/s to be displayed in the chart."), "WOT Statistics", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
         else
         {
             if (_ID == "")
             {
                 _ID = Guid.NewGuid().ToString();
             }
             GraphsSettings gs = new GraphsSettings(_message);
             GraphFields    gf = new GraphFields()
             {
                 Caption   = textName.Text,
                 Type      = "Line",
                 DataField = comboDataField.Text,
                 Name      = _ID,
                 StatsBase = radioGroup1.EditValue.ToString(),
                 InnerText = CreateInnerText(),
                 Period    = int.Parse(radioGroupPeriod.EditValue.ToString())
             };
             gs.Save(gf);
             Close();
         }
     }
     else
     {
         DevExpress.XtraEditors.XtraMessageBox.Show(Translations.TranslationGet("STR_CHARTFIELDSSAVENOTICE", "DE", "Please complete all fields."), "WOT Statistics", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Example #2
0
        private void LoadSettings()
        {
            GraphsSettings gs = new GraphsSettings(_message);
            GraphFields    gf = gs.FieldValues(_ID);

            textName.Text = gf.Caption;

            radioGroup1.EditValue = gf.StatsBase;

            if (gf.StatsBase == "Tanks")
            {
                Width    = 684;
                Location = new Point(Screen.PrimaryScreen.WorkingArea.Width / 2 - Width / 2, Screen.PrimaryScreen.WorkingArea.Height / 2 - Height / 2);
            }

            radioGroupPeriod.EditValue = gf.Period.ToString();

            comboDataField.Text = gf.DataField;
        }
Example #3
0
 private void butSave_Click(object sender, EventArgs e)
 {
     if (textName.Text != "" && comboDataField.Text != "")
     {
         if (radioGroup1.EditValue.ToString() == "Tanks" && listTanks.CheckedItems.Count == 0)
         {
             DevExpress.XtraEditors.XtraMessageBox.Show(Translations.TranslationGet("STR_CHARTTANKSAVENOTICE", "DE", "Please select tank/s to be displayed in the chart."), "WOT Statistics", MessageBoxButtons.OK, MessageBoxIcon.Error);
         }
         else
         {
             if (_ID == "")
                 _ID = Guid.NewGuid().ToString();
             GraphsSettings gs = new GraphsSettings(_message);
             GraphFields gf = new GraphFields()
             {
                 Caption = textName.Text,
                 Type = "Line",
                 DataField = comboDataField.Text,
                 Name = _ID,
                 StatsBase = radioGroup1.EditValue.ToString(),
                 InnerText = CreateInnerText(),
                 Period = int.Parse(radioGroupPeriod.EditValue.ToString())
             };
             gs.Save(gf);
             Close();
         }
     }
     else
     {
         DevExpress.XtraEditors.XtraMessageBox.Show(Translations.TranslationGet("STR_CHARTFIELDSSAVENOTICE", "DE", "Please complete all fields."), "WOT Statistics", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
Example #4
0
        private static void OverallChart(string playerName, string chartID, GraphFields gFields, ChartControl chartControl)
        {
            chartControl.Series.Clear();
            chartControl.Titles.Clear();
            Player         player         = new PlayerListing(new MessageQueue()).GetPlayer(playerName);
            DossierManager dossierManager = new DossierManager(player.PlayerID, player.WatchFile, player.Monitor, new MessageQueue(), null);

            DateTime endFile   = dossierManager.FormatTextDate(dossierManager.GetCurrentPlayerFile().ToString());
            DateTime startFile = dossierManager.FormatTextDate(dossierManager.GetCurrentPlayerFile().ToString()).AddDays((gFields.Period + 1) * -1);

            Dictionary <Int32, Int32> files         = dossierManager.GetAllFilesForPlayer();
            Dictionary <Int32, Int32> selectedFiles = (from d in files
                                                       where dossierManager.FormatTextDate(d.Key.ToString()) >= startFile && dossierManager.FormatTextDate(d.Key.ToString()) <= endFile
                                                       select d).ToDictionary(x => x.Key, x => x.Value);

            Series series1 = new Series(gFields.Caption, ViewType.Line);

            series1.Label.Font = new System.Drawing.Font("Tahoma", float.Parse(UserSettings.HTMLCellFont), System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel, ((byte)(0)));
            foreach (KeyValuePair <Int32, Int32> file in selectedFiles.OrderBy(x => x.Key))
            {
                Dossier  dossierFile  = new Dossier(file.Value, player.PlayerID, new MessageQueue());
                WOTStats dossierStats = dossierFile.GetStats();
                series1.Points.Add(new SeriesPoint(dossierManager.FormatTextDate(file.Key.ToString()), Math.Round(GetStatValue(gFields.DataField, dossierStats), 2)));
            }



            // Add the series to the chart.
            chartControl.Series.Add(series1);

            // Set the numerical argument scale types for the series,
            // as it is qualitative, by default.
            series1.ArgumentScaleType            = ScaleType.DateTime;
            series1.Label.ResolveOverlappingMode = ResolveOverlappingMode.HideOverlapped;

            // Access the view-type-specific options of the series.
            ((LineSeriesView)series1.View).LineMarkerOptions.Kind = MarkerKind.Circle;
            ((LineSeriesView)series1.View).LineStyle.DashStyle    = DashStyle.Solid;

            // Access the type-specific options of the diagram.
            ((XYDiagram)chartControl.Diagram).EnableAxisXZooming = true;

            // Hide the legend (if necessary).
            chartControl.Legend.Visible = false;


            // Add a title to the chart (if necessary).
            chartControl.Titles.Add(new ChartTitle());
            chartControl.Titles[0].Font = new System.Drawing.Font("Tahoma", float.Parse(UserSettings.HTMLHeaderFont), System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Pixel, ((byte)(0)));
            chartControl.Titles[0].Text = gFields.Caption;
            chartControl.Titles.Add(new ChartTitle());
            chartControl.Titles[1].Font = new System.Drawing.Font("Tahoma", float.Parse(UserSettings.HTMLHeaderFont) - 1.5F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Pixel, ((byte)(0)));
            chartControl.Titles[1].Text = startFile.ToString(UserSettings.DateFormat) + " to " + endFile.ToString(UserSettings.DateFormat);
            chartControl.Titles.Add(new ChartTitle());
            chartControl.Titles[2].Font = new System.Drawing.Font("Tahoma", float.Parse(UserSettings.HTMLHeaderFont) - 3, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Pixel, ((byte)(0)));
            chartControl.Titles[2].Text = gFields.DataField;

            XYDiagram diagram = (XYDiagram)chartControl.Diagram;

            switch (gFields.Period)
            {
            case 7:
                diagram.AxisX.DateTimeScaleOptions.GridAlignment = DateTimeGridAlignment.Day;
                diagram.AxisX.DateTimeScaleOptions.MeasureUnit   = DateTimeMeasureUnit.Day;
                break;

            case 14:
                diagram.AxisX.DateTimeScaleOptions.GridAlignment = DateTimeGridAlignment.Day;
                diagram.AxisX.DateTimeScaleOptions.MeasureUnit   = DateTimeMeasureUnit.Day;
                break;

            case 92:
            case 184:
            case 365:
                diagram.AxisX.DateTimeScaleOptions.GridAlignment = DateTimeGridAlignment.Month;
                diagram.AxisX.DateTimeScaleOptions.MeasureUnit   = DateTimeMeasureUnit.Day;
                diagram.AxisX.Label.TextPattern = "MMM yy";
                break;

            default:
                diagram.AxisX.DateTimeScaleOptions.GridAlignment = DateTimeGridAlignment.Week;
                diagram.AxisX.DateTimeScaleOptions.MeasureUnit   = DateTimeMeasureUnit.Day;
                break;
            }


            diagram.AxisX.Label.Font = new System.Drawing.Font("Tahoma", float.Parse(UserSettings.HTMLCellFont), System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel, ((byte)(0)));
            diagram.AxisY.Label.Font = new System.Drawing.Font("Tahoma", float.Parse(UserSettings.HTMLCellFont), System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Pixel, ((byte)(0)));


            diagram.AxisY.WholeRange.AlwaysShowZeroLevel = false;
            diagram.AxisY.NumericScaleOptions.AutoGrid   = true;
            diagram.AxisY.DateTimeScaleOptions.AutoGrid  = true;
        }