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); } }
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; }
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); } }
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; }