示例#1
0
        // 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;
        }
示例#2
0
        // 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);
            }
        }
示例#3
0
 // 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;
 }
示例#4
0
        // 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);
        }
示例#5
0
        // 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();
            }
        }
示例#6
0
        // 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);
        }
示例#7
0
        // 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);
        }
示例#8
0
        // 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);
        }