public List <ITable> ReadTablesByArea(IAreaOfTables area) { List <ITable> output = new List <ITable>(); IEnumerable <ITable> list = new List <ITable>(); using (IDbConnection db = new SQLiteConnection(ConfigurationManager.ConnectionStrings["SQLite"].ConnectionString)) { string readTables = "SELECT * FROM [Tables] Where [AreaId] = @idArea"; DynamicParameters parameter = new DynamicParameters(); parameter.Add("@idArea", area.Id); list = db.Query <Table>(readTables, parameter).ToList(); } foreach (Table p in list) { p.Area = area; } foreach (ITable table in list) { output.Add(table); } return(output); }
private void addNewAreaButton_Click(object sender, EventArgs e) { if (CheckValidAreaData()) { if (CheckLimitOfAreas()) { IAreaOfTables area = Factory.InstanceAreaOfTables(); area.AreaName = newAreaNameTextBox.Text; GlobalConfig.connection.AddNewAreaOfTables(area); newAreaNameTextBox.Text = ""; List <IAreaOfTables> areas = GlobalConfig.connection.ReadAllAreas(); UpdateAreasComboBox(areas); UpdateAreasList(areas); } else { MessageBox.Show("You have already reached the maximum number of areas, please delete some.", "Limit exceeded"); } } else { MessageBox.Show("You must insert a valid Area name for a group of tables", "Wrong Data"); } }
private void deleteTablesItemButton_Click(object sender, EventArgs e) { if (tablesList.SelectedItem is ITable) { ITable selected = (ITable)tablesList.SelectedItem; DialogResult result = MessageBox.Show($"Are you sure you want to delete the table {selected.DisplayText}?", "Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (result == DialogResult.Yes) { GlobalConfig.connection.DeleteTable(selected); List <ITable> tables = GlobalConfig.connection.ReadTablesByArea(selected.Area); UpdateTablesList(tables); } } else if (tablesList.SelectedItem is IAreaOfTables) { IAreaOfTables selected = (IAreaOfTables)tablesList.SelectedItem; List <ITable> products = GlobalConfig.connection.ReadTablesByArea(selected); int amountOfTables = products.Count; DialogResult result = MessageBox.Show($"Are you sure you want to delete the {selected.AreaName} area and all its {amountOfTables} tables?", "Delete", MessageBoxButtons.YesNo, MessageBoxIcon.Warning); if (result == DialogResult.Yes) { GlobalConfig.connection.DeleteAreaAndAllItsTables(selected); List <IAreaOfTables> areas = GlobalConfig.connection.ReadAllAreas(); UpdateAreasList(areas); UpdateAreasComboBox(areas); } } }
public void AddNewAreaOfTables(IAreaOfTables area) { using (IDbConnection db = new SQLiteConnection(ConfigurationManager.ConnectionStrings["SQLite"].ConnectionString)) { string insertArea = "INSERT INTO [Areas] ([AreaName]) VALUES (@AreaName)"; db.Execute(insertArea, area); } }
private void newTableAreaComboBox_SelectionChangeCommitted(object sender, EventArgs e) { IAreaOfTables selectedArea = (IAreaOfTables)newTableAreaComboBox.SelectedItem; if (selectedArea != null) { List <ITable> tablesByArea = GlobalConfig.connection.ReadTablesByArea(selectedArea); UpdateTablesList(tablesByArea); } }
public void DeleteAreaAndAllItsTables(IAreaOfTables area) { using (IDbConnection db = new SQLiteConnection(ConfigurationManager.ConnectionStrings["SQLite"].ConnectionString)) { string deleteArea = "DELETE FROM [Areas] Where [id] = @areaID"; string deleteTables = "DELETE FROM [Tables] Where [AreaId] = @areaId"; DynamicParameters parameter = new DynamicParameters(); parameter.Add("@areaId", area.Id); db.Execute(deleteTables, parameter); db.Execute(deleteArea, parameter); } }