public GeneralVM() { if (Festival.GetFestivals() != null) { if (Festival.GetFestivals().Count > 0) { Festival = Festival.GetFestivals()[0]; _OldFestival = new Festival() {ID = Festival.ID, Name = Festival.Name, Street = Festival.Street, City = Festival.City}; // There's data to display, so disable the textboxes and show edit button ShowEdit = "Visible"; ShowCancel = "Hidden"; ShowSave = "Hidden"; Enabled = false; return; } } _OldFestival = null; // Else enable the textboxes and show the save button ShowEdit = "Hidden"; ShowCancel = "Hidden"; ShowSave = "Visible"; Enabled = true; }
public static void UpdateFestival(Festival festival) { // If _Festivals is null, create the Observable Collection if (_Festivals == null) GetFestivals(); try { // Update db DbParameter param1 = Database.AddParameter("@id", festival.ID); DbParameter param2 = Database.AddParameter("@name", festival.Name); DbParameter param3 = Database.AddParameter("@street", festival.Street); DbParameter param4 = Database.AddParameter("@city", festival.City); int affectedRows = Database.ModifyData("UPDATE festival SET name = @name, street = @street, city = @city WHERE id = @id", param1, param2, param3, param4); if (affectedRows == 0) return; // Update _Festivals for (int i = 0; i < _Festivals.Count; ++i) { if (_Festivals[i].ID == festival.ID) { _Festivals[i] = festival; i = _Festivals.Count; } } } // Fail catch (Exception ex) { Console.WriteLine(ex.Message); } }
public static ObservableCollection<Festival> GetFestivals() { // If _Festivals is null, create the Observable Collection if (_Festivals == null) { try { // Create _Festivals _Festivals = new ObservableCollection<Festival>(); // Get data DbDataReader reader = Database.GetData("SELECT * FROM festival"); foreach (DbDataRecord record in reader) { // Create new Festival Festival festival = new Festival(); // Get ID if (DBNull.Value.Equals(record["ID"])) festival.ID = -1; else festival.ID = Convert.ToInt32(record["ID"]); // Get Name if (DBNull.Value.Equals(record["Name"])) festival.Name = ""; else festival.Name = record["Name"].ToString(); // Get Street if (DBNull.Value.Equals(record["Street"])) festival.Street = ""; else festival.Street = record["Street"].ToString(); // Get City if (DBNull.Value.Equals(record["City"])) festival.City = ""; else festival.City = record["City"].ToString(); // Add Festival _Festivals.Add(festival); } if (reader != null) reader.Close(); } // Fail catch (Exception ex) { Console.WriteLine(ex.Message); // Clear Festivals _Festivals.Clear(); _Festivals = null; } } // Return Festivals return _Festivals; }
public static int AddFestival(Festival festival) { // If _Festivals is null, create the Observable Collection if (_Festivals == null) GetFestivals(); try { // Add to db DbParameter param1 = Database.AddParameter("@name", festival.Name); DbParameter param2 = Database.AddParameter("@street", festival.Street); DbParameter param3 = Database.AddParameter("@city", festival.City); DbDataReader reader = Database.GetData("INSERT INTO festival(Name, Street, City) VALUES(@name, @street, @city);SELECT LAST_INSERT_ID() AS ID", param1, param2, param3); foreach (DbDataRecord record in reader) { // Get ID if (DBNull.Value.Equals(record["ID"])) festival.ID = -1; else festival.ID = Convert.ToInt32(record["ID"]); } if (reader != null) reader.Close(); _Festivals.Add(festival); return festival.ID; } // Fail catch (Exception ex) { Console.WriteLine(ex.Message); } return -1; }
private void SaveUpdateFestival(GeneralVM generalvm) { if (!Festival.IsValid()) return; // Save Changes if (_OldFestival == null) { // Insert into db Festival.AddFestival(Festival); if (Festival.GetFestivals() != null) { if (Festival.GetFestivals().Count > 0) { Festival = Festival.GetFestivals()[0]; _OldFestival = Festival; } } } else { // Update db Festival.UpdateFestival(Festival); _OldFestival = new Festival() { ID = Festival.ID, Name = Festival.Name, Street = Festival.Street, City = Festival.City }; } // Update GUI generalvm.ShowEdit = "Visible"; generalvm.ShowCancel = "Hidden"; generalvm.ShowSave = "Hidden"; Enabled = false; }