Ejemplo n.º 1
0
        //
        // Events
        //

        private void btnChangeValue_Click(object sender, EventArgs e)
        {
            if (cbUpdateValue.Text == "Välj värde..." || cbUpdateValue.Text == "Skriv in värde...")
            {
                cbUpdateValue.BackColor = Color.Pink;
            }
            else
            {
                cbUpdateValue.BackColor = Color.White;
                updateInProgress        = true;
                string            columnName = DbDisplay.SortedColumn == null ? "Id" : DbDisplay.SortedColumn.Name;
                SortOrder         order      = DbDisplay.SortOrder;
                ListSortDirection direction  = GetSortOrder(order);

                string column = DbDisplay.Columns[Convert.ToInt32(numChangeColumn.Value)].HeaderText;
                string Id     = DbDisplay.Rows[Convert.ToInt32(numChangeRow.Value) - 1].Cells[0].Value.ToString();

                Db.Command($"UPDATE {cbTabell.SelectedValue.ToString()} SET [{column}] = '{cbUpdateValue.Text}', Version = 0 WHERE Id = '{Id}'", Db.connectionString);

                updateInProgress = false;
                UpdateGridView($"SELECT * FROM {cbTabell.SelectedValue.ToString()}");
                DbDisplay.Sort(DbDisplay.Columns[columnName], direction);

                if (Convert.ToInt32(numChangeRow.Value) < DbDisplay.Rows.Count)
                {
                    DbDisplay.CurrentCell = DbDisplay.Rows[Convert.ToInt32(numChangeRow.Value)].Cells[Convert.ToInt32(numChangeColumn.Value)];
                }
                else
                {
                    DbDisplay.CurrentCell = DbDisplay.Rows[Convert.ToInt32(numChangeRow.Value) - 1].Cells[Convert.ToInt32(numChangeColumn.Value)];
                }
                Db.Command("UPDATE TblVersion SET Modified = 1", Db.connectionString);
            }
        }
Ejemplo n.º 2
0
 public DisplayTransform(DbDisplay display, Matrix transform)
 {
     Display   = display;
     Transform = transform;
 }
Ejemplo n.º 3
0
 public DisplayTransform(DbDisplay display) : this(display, Matrix.Identity)
 {
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Add the display to the list of displays and set it to be the active display.
 /// Uses the Identity matrix as transfomr for the display.
 /// </summary>
 /// <param name="display">The display to add and show.</param>
 public void SetNewDisplay(DbDisplay display)
 {
     SetNewDisplay(display, Matrix.Identity);
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Add the display to the list of displays and set it to be the active display.
 /// </summary>
 /// <param name="display">The display to add and show.</param>
 /// <param name="transform">The transform of the display.</param>
 public void SetNewDisplay(DbDisplay display, Matrix transform)
 {
     Displays.Add(new DisplayTransform(display, transform));
     DisplayIndex = Displays.Count - 1;
 }
Ejemplo n.º 6
0
        private void btnAddRow_Click(object sender, EventArgs e)
        {
            if (Convert.ToInt32(Db.GetValue($"SELECT COUNT(*) FROM {cbTabell.SelectedValue}", Db.connectionString)) > 999)
            {
                MessageBox.Show("Det går inte att lägga till fler ord i den här tabellen");
            }
            else
            {
                updateInProgress = true;

                string            columnName = DbDisplay.SortedColumn.Name == null ? "Id" : DbDisplay.SortedColumn.Name;
                SortOrder         order      = DbDisplay.SortOrder;
                ListSortDirection direction  = GetSortOrder(order);

                switch (cbTabell.SelectedValue)
                {
                case "TblAdjectives":

                    Db.Command($"INSERT INTO TblAdjectives ([N-genus], [T-genus], Plural, Preposition, Passar, [Lämpligt för], Använt, Version) " +
                               $"VALUES ('{tbxAddColumn1.Text}', '{tbxAddColumn2.Text}','{tbxAddColumn3.Text}', " +
                               $"'{tbxAddColumn4.Text}', '{cbRelation.Text}', '{cbCensur.Text}', 0, 0)", Db.connectionString);

                    break;

                case "TblNouns":

                    if (cbGenus.Text == "")
                    {
                    }
                    else
                    {
                        Db.Command($"INSERT INTO TblNouns ([Singular obestämd], [Singular bestämd], Plural, Preposition, Benämner, Genus, [Lämpligt för], " +
                                   $"Använt, Version) VALUES ('{tbxAddColumn1.Text}', '{tbxAddColumn2.Text}','{tbxAddColumn3.Text}', " +
                                   $"'{tbxAddColumn4.Text}', '{cbTermFor.Text}', '{cbGenus.Text}','{cbCensur.Text}', 0, 0)", Db.connectionString);
                    }

                    break;

                case "TblVerbs":

                    Db.Command($"INSERT INTO TblVerbs (Infinitiv, Uppmaning, Perfekt, Presens, Preposition, Passar, [Lämpligt för], Använt, Version)" +
                               $"VALUES ('{tbxAddColumn1.Text}', '{tbxAddColumn2.Text}','{tbxAddColumn3.Text}', " +
                               $"'{tbxAddColumn4.Text}', '{tbxAddColumn5.Text}', '{cbRelation.Text}','{cbCensur.Text}', 0, 0)", Db.connectionString);

                    break;

                case "TblJokeNames":
                    Db.Command($"INSERT INTO TblJokeNames (Namn, [Lämpligt för], Använt, Version) " +
                               $"VALUES ('{tbxAddColumn1.Text}', '{cbCensur.Text}', 0, 0)", Db.connectionString);
                    break;

                case "TblMissions":
                    Db.Command($"INSERT INTO TblMissions (Uppdrag, [Lämpligt för], Använt, Version)" +
                               $"VALUES ('{tbxAddColumn1.Text}', '{cbCensur.Text}', 0, 0)", Db.connectionString);
                    break;

                case "TblNobelPrizes":
                    Db.Command($"INSERT INTO TblNobelPrizes (Pris, [Lämpligt för], Använt, Version) VALUES ('{tbxAddColumn1.Text}','{cbCensur.Text}', 0, 0)", Db.connectionString);
                    break;

                case "TblSavedResults":
                    Db.Command($"INSERT INTO TblSavedResults (Mening, Version) VALUES ('{tbxAddColumn1.Text}', 0)", Db.connectionString);
                    break;

                case "TblStatus":
                    Db.Command($"INSERT INTO TblStatus (Högstatus, Lågstatus, [Lämpligt för], Använt, Version) " +
                               $"VALUES ('{tbxAddColumn1.Text}', '{tbxAddColumn2.Text}', '{cbCensur.Text}', 0, 0)", Db.connectionString);
                    break;
                }
                updateInProgress = false;
                UpdateGridView($"SELECT * FROM {cbTabell.SelectedValue.ToString()}");
                DbDisplay.Sort(DbDisplay.Columns[columnName], direction);
                Db.Command("UPDATE TblVersion SET Modified = 1", Db.connectionString);
            }
        }
Ejemplo n.º 7
0
        private void btnDeleteRow_Click(object sender, EventArgs e)
        {
            string            columnName = DbDisplay.SortedColumn == null ? "Id" : DbDisplay.SortedColumn.Name;
            SortOrder         order      = DbDisplay.SortOrder;
            ListSortDirection direction  = GetSortOrder(order);


            // Kolla att dbdiplay lämpligt för är barn och räkna bara barn i query för det är bara då jag vill att den ska reagera annars kan den ta bort.

            // Target column
            int    tC      = DbDisplay.ColumnCount - 3;
            string message = "Det måste finnas minst 2 av typen av ord som du försöker ta bort";

            if (cbTabell.SelectedValue == "TblAdjectives" && DbDisplay.Rows[(Int32)numDeleteRow.Value - 1].Cells[tC].Value.ToString() == "Barn" &&
                Convert.ToInt32(Db.GetValue($"SELECT COUNT(*) FROM TblAdjectives WHERE Passar = '{DbDisplay.Rows[(Int32)numDeleteRow.Value - 1].Cells[tC - 1].Value.ToString()}'", Db.connectionString)) < 3)
            {
                MessageBox.Show(message);
            }

            else if (cbTabell.SelectedValue == "TblVerbs" && DbDisplay.Rows[(Int32)numDeleteRow.Value - 1].Cells[tC].Value.ToString() == "Barn" &&
                     Convert.ToInt32(Db.GetValue($"SELECT COUNT(*) FROM TblVerbs WHERE Passar = '{DbDisplay.Rows[(Int32)numDeleteRow.Value - 1].Cells[tC - 1].Value.ToString()}'", Db.connectionString)) < 3)
            {
                MessageBox.Show(message);
            }

            else if (cbTabell.SelectedValue == "TblNouns" && DbDisplay.Rows[(Int32)numDeleteRow.Value - 1].Cells[tC].Value.ToString() == "Barn" &&
                     Convert.ToInt32(Db.GetValue($"SELECT COUNT(*) FROM TblNouns WHERE Benämner = '{DbDisplay.Rows[(Int32)numDeleteRow.Value - 1].Cells[tC - 2].Value.ToString()}'", Db.connectionString)) < 3)
            {
                MessageBox.Show(message);
            }

            else if (DbDisplay.Rows[(Int32)numDeleteRow.Value - 1].Cells[tC].Value.ToString() == "Barn" && Convert.ToInt32(Db.GetValue($"SELECT COUNT(*) FROM {cbTabell.SelectedValue}", Db.connectionString)) < 3)
            {
                MessageBox.Show(message);
            }

            else
            {
                updateInProgress = true;

                // Get the value of the first column on the specified row, then use it in the query string.
                string Id = DbDisplay.Rows[Convert.ToInt32(numDeleteRow.Value) - 1].Cells[0].Value.ToString();
                Db.Command($"DELETE FROM {cbTabell.SelectedValue.ToString()} WHERE Id = '{Id}'", Db.connectionString);

                updateInProgress = false;
                UpdateGridView($"SELECT * FROM {cbTabell.SelectedValue.ToString()}");

                // If the number of total rows is less than the number of the specified row, then don't
                // select the row after (because there are none left)
                if (DbDisplay.Rows.Count < Convert.ToInt32(numChangeRow.Value))
                {
                    DbDisplay.CurrentCell = DbDisplay.Rows[Convert.ToInt32(numChangeRow.Value) - 2].Cells[Convert.ToInt32(numChangeColumn.Value)];
                }
                // If there are rows left, then move to the next row.
                else
                {
                    DbDisplay.CurrentCell = DbDisplay.Rows[Convert.ToInt32(numChangeRow.Value) - 1].Cells[Convert.ToInt32(numChangeColumn.Value)];
                }

                Db.Command("UPDATE TblVersion SET Modified = 1", Db.connectionString);
            }
            DbDisplay.Sort(DbDisplay.Columns[columnName], direction);
        }