public TaggedVerseMenuOptionItem( string menu_option_id, string link_val, string select_action, string display_text, VerseTag verse_tag) : base(menu_option_id, link_val, select_action, display_text) { this.verse_tag = verse_tag; }
public VerseTagTask( long user_id, int emotion_id, String start_verse, String end_verse, DateTime datetime, String description, VerseTag vt) { this.user_id = user_id; this.emotion_id = emotion_id; this.start_verse = start_verse; this.end_verse = end_verse; this.datetime = datetime; this.vt = vt ; }
public static void addVerseTagDuringLoad(VerseTag vt) { //parts of this method should be synchronized not only called during startup. String unique_check_key = vt.emotion_id + "|" + vt.start_verse + "|" + vt.end_verse; String key = vt.start_verse + "|" + vt.end_verse; if (unique_check_map.ContainsKey(unique_check_key)) { throw new VerseEmotionTagAlreadyPresentException("Attempted to add a verse tag which is already present for emotion: " + vt.emotion_id + " and verse_key: " + key); } unique_check_map.Add(unique_check_key, null); List<VerseTag> vts; if (verses_emotions.ContainsKey(key)) { vts = verses_emotions[key]; } else { vts = new List<VerseTag>(); verses_emotions.Add(key, vts); } vts.Add(vt); //no check for duplicates when adding verse to emotion List<VerseTag> ets; if (emotion_verses.ContainsKey(vt.emotion_id)) { ets = emotion_verses[vt.emotion_id]; } else { ets = new List<VerseTag>(); emotion_verses.Add(vt.emotion_id, ets); } ets.Add(vt); }
public void addVerseTag( long user_id, String start_verse, String end_verse, int emo_id) { DateTime dt = DateTime.Now; VerseTag vt = new VerseTag(-1, emo_id, user_id, dt, start_verse, end_verse, null); //this will add verse tag to memory. and also does some unique checks. addVerseTag(vt); //this will spawn new thread to update DB new VerseTagTask(user_id, emo_id, start_verse, end_verse, dt, null, vt).AddVerseTask(); }
public static void loadVerseTags() { string sqlQuery = "SELECT id, emotion_id, user_id, datetime, start_verse, end_verse, description FROM emotion_tag"; MySqlConnection conn = DBManager.getConnection(); try { conn.Open(); MySqlCommand cmd = new MySqlCommand(sqlQuery, conn); MySqlDataReader rdr = cmd.ExecuteReader(); long id = -1; int emotion_id; long user_id; DateTime datetime; String start_verse; String end_verse; String description; while (rdr.Read()) { id = long.Parse((rdr[0]).ToString()); emotion_id = Int32.Parse((rdr[1]).ToString()); user_id = long.Parse((rdr[2]).ToString()); datetime = DateTime.Parse(rdr[3].ToString()); start_verse = rdr[4].ToString(); end_verse = rdr[5].ToString(); description = rdr[6].ToString(); String key = start_verse + "|" + end_verse; VerseTag vt = new VerseTag( id, emotion_id, user_id, datetime, start_verse, end_verse, description); addVerseTagDuringLoad(vt); } rdr.Close(); conn.Close(); loadVerseTagLikes(); } catch (Exception ex) { Console.WriteLine(ex.StackTrace); conn.Close(); } finally { if (conn != null) conn.Close(); } }