示例#1
0
        private void confirmButton_Click(object sender, EventArgs e)
        {
            // Check engine name
            if (!Regex.Match(seriesNameBox.Text, @"^[a-z0-9_.,\-\s\t()]+$", RegexOptions.IgnoreCase).Success)
            {
                // Tell the user this isnt allowed
                MessageBox.Show(
                    "Invalid Series Name string. Please use alpha-numeric, period, underscores, dashes or spaces only",
                    "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning
                    );
            }


            // Save or update the engine series
            try
            {
                // Add or update the truck in the database
                using (AppDatabase db = new AppDatabase())
                {
                    if (NewSeries)
                    {
                        Series = new TransmissionSeries()
                        {
                            Name = seriesNameBox.Text.Trim(),
                            Icon = iconBox.SelectedItem.ToString()
                        };
                        db.TransmissionSeries.Add(Series);
                    }
                    else
                    {
                        Series.Name = seriesNameBox.Text.Trim();
                        Series.Icon = iconBox.SelectedItem.ToString();
                        db.TransmissionSeries.Update(Series);
                    }
                }
            }
            catch (Exception ex)
            {
                // Tell the user about the failed validation error
                MessageBox.Show(ex.Message, "Database Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            this.DialogResult = DialogResult.OK;
        }
示例#2
0
        public TransSeriesEditForm(TransmissionSeries series = null)
        {
            InitializeComponent();
            headerPanel.BackColor = Color.FromArgb(51, 53, 53);
            shadowLabel1.Text     = (series == null) ? "New Transmission Series" : "Edit Transmission Series";
            Series    = series;
            NewSeries = series == null;

            // Add engine icons
            var images = Directory.GetFiles(MatPath, "*.dds");

            foreach (string image in images)
            {
                string fn = Path.GetFileNameWithoutExtension(image);
                iconBox.Items.Add(fn);
                if (series != null)
                {
                    if (fn.Equals(series.Icon, StringComparison.OrdinalIgnoreCase))
                    {
                        iconBox.SelectedIndex = iconBox.Items.Count - 1;
                    }
                }
                else if (fn.Equals("transmission_generic", StringComparison.OrdinalIgnoreCase))
                {
                    iconBox.SelectedIndex = iconBox.Items.Count - 1;
                }
            }

            if (iconBox.SelectedIndex == -1 && iconBox.Items.Count > 0)
            {
                iconBox.SelectedIndex = 0;
            }

            // Set texts
            if (series != null)
            {
                seriesNameBox.Text = series.Name;
                iconBox.Focus();
            }
        }