// This updates the database with this entry public static bool SqlSwap(NoteItem first, NoteItem second) { string q; int result; General.DB.ConnectSafe(); // TODO: Add locking mechanism so that this is perfored as a single operation q = "UPDATE `notes` SET " + "`id` = '-1' " + "WHERE `id` = '" + first.id + "' LIMIT 1;"; result = General.DB.Update(q); if(result <= 0) return false; q = "UPDATE `notes` SET " + "`id` = '" + first.id + "' " + "WHERE `id` = '" + second.id + "' LIMIT 1;"; result = General.DB.Update(q); if(result <= 0) return false; q = "UPDATE `notes` SET " + "`id` = '" + second.id + "' " + "WHERE `id` = '-1' LIMIT 1;"; result = General.DB.Update(q); if(result <= 0) return false; General.DB.Disconnect(); return true; }
// This returns items private List <NoteItem> SelectItems(string sql) { General.DB.ConnectSafe(); DataTable t = General.DB.Query(sql); if (t != null) { List <NoteItem> list = new List <NoteItem>(t.Count); foreach (DataTableRow r in t) { list.Add(NoteItem.FromDataRow(r)); } General.DB.Disconnect(); return(list); } else { // Failed! General.DB.Disconnect(); return(null); } }
// This reads from a data row public static NoteItem FromDataRow(DataTableRow r) { NoteItem i = new NoteItem(); i.id = r.GetLong("id"); i.note = r.GetString("note"); return i; }
// This reads from a data row public static NoteItem FromDataRow(DataTableRow r) { NoteItem i = new NoteItem(); i.id = r.GetLong("id"); i.note = r.GetString("note"); return(i); }
// Move item down private void downbutton_Click(object sender, EventArgs e) { if (selectedindex < (items.Length - 1)) { NoteItem.SqlSwap(items[selectedindex], items[selectedindex + 1]); selectedindex++; General.MainWindow.OverviewPanel.UpdateNotes(); items = General.Notes.GetAllItems().ToArray(); RefreshMainItems(); } }
// Add new item private void addbutton_Click(object sender, EventArgs e) { NoteItem newitem = new NoteItem(); if (!newitem.SqlInsert()) { return; } items = General.Notes.GetAllItems().ToArray(); RefreshMainItems(); General.MainWindow.OverviewPanel.UpdateNotes(); SelectByID(newitem.id); }
// This updates the database with this entry public static bool SqlSwap(NoteItem first, NoteItem second) { string q; int result; General.DB.ConnectSafe(); // TODO: Add locking mechanism so that this is perfored as a single operation q = "UPDATE `notes` SET " + "`id` = '-1' " + "WHERE `id` = '" + first.id + "' LIMIT 1;"; result = General.DB.Update(q); if (result <= 0) { return(false); } q = "UPDATE `notes` SET " + "`id` = '" + first.id + "' " + "WHERE `id` = '" + second.id + "' LIMIT 1;"; result = General.DB.Update(q); if (result <= 0) { return(false); } q = "UPDATE `notes` SET " + "`id` = '" + second.id + "' " + "WHERE `id` = '-1' LIMIT 1;"; result = General.DB.Update(q); if (result <= 0) { return(false); } General.DB.Disconnect(); return(true); }
// Add new item private void addbutton_Click(object sender, EventArgs e) { NoteItem newitem = new NoteItem(); if(!newitem.SqlInsert()) return; items = General.Notes.GetAllItems().ToArray(); RefreshMainItems(); General.MainWindow.OverviewPanel.UpdateNotes(); SelectByID(newitem.id); }