/// <summary> /// create/update note and return new note data /// </summary> internal static NoteData pushNote(NoteItem note, SQLiteConnection sql) { var js = new JavaScriptSerializer(); var node = new NoteDataUser(); node.deleted = (note.Deleted) ? (byte)1 : (byte)0; node.modifydate = note.ModifyDate.ToString("R").Replace(',', '.'); node.tags = new string[note.Tags.Count]; for (int i = 0; i < note.Tags.Count; i++) { node.tags[i] = note.Tags[i].Name; } //read additional info from db var systemtags = ""; using (SQLiteCommand cmd = new SQLiteCommand(sql)) { cmd.CommandText = "SELECT content, createdate, systemtags, version FROM notes WHERE id=" + note.Id; using (SQLiteDataReader rdr = cmd.ExecuteReader()) { while (rdr.Read()) { node.content = rdr.GetString(0); node.createdate = rdr.GetDouble(1).ToString("R").Replace(',', '.');; if (!rdr.IsDBNull(2)) { systemtags = rdr.GetString(2); } if (!rdr.IsDBNull(3)) { node.version = rdr.GetInt32(3); } } } } // fill systemtags if (note.Pinned) { systemtags += " pinned"; } if (note.Unread) { systemtags += " unread"; } if (!string.IsNullOrEmpty(note.Lexer)) { systemtags += " sn-lexer=" + note.Lexer; } node.systemtags = systemtags.Trim().Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); var data = js.Serialize(node); var url = (string.IsNullOrEmpty(note.Key)) ? "/api2/data" : "/api2/data/" + note.Key; // create/update var s = RequestRetry(url, "POST", data); return(js.Deserialize <NoteData>(s)); }
/// <summary> /// create/update note and return new note data /// </summary> internal static NoteData pushNote(NoteItem note, SQLiteConnection sql) { var js = new JavaScriptSerializer(); var node = new NoteDataUser(); node.deleted = (note.Deleted) ? (byte)1 : (byte)0; node.modifydate = note.ModifyDate.ToString("R").Replace(',','.'); node.tags = new string[note.Tags.Count]; for (int i = 0; i < note.Tags.Count; i++) node.tags[i] = note.Tags[i].Name; //read additional info from db var systemtags=""; using (SQLiteCommand cmd = new SQLiteCommand(sql)) { cmd.CommandText = "SELECT content, createdate, systemtags, version FROM notes WHERE id=" + note.Id; using (SQLiteDataReader rdr = cmd.ExecuteReader()) { while (rdr.Read()) { node.content = rdr.GetString(0); node.createdate = rdr.GetDouble(1).ToString("R").Replace(',','.');; if (!rdr.IsDBNull(2)) systemtags = rdr.GetString(2); if (!rdr.IsDBNull(3)) node.version = rdr.GetInt32(3); } } } // fill systemtags if (note.Pinned) systemtags += " pinned"; if (note.Unread) systemtags += " unread"; if (!string.IsNullOrEmpty(note.Lexer)) systemtags += " sn-lexer=" + note.Lexer; node.systemtags = systemtags.Trim().Split(new char[] {' '}, StringSplitOptions.RemoveEmptyEntries); var data = js.Serialize(node); var url = (string.IsNullOrEmpty(note.Key)) ? "/api2/data" : "/api2/data/"+note.Key; // create/update var s = RequestRetry(url, "POST", data); return js.Deserialize<NoteData>(s); }