/// <summary> /// Get the Subject from the database /// </summary> /// <param name="id"></param> /// <returns>A subject from database</returns> public Track DBGet(int id) { if (id > 0) { using (var db = new UberEversolContext()) { Track trk = (from s in db.Tracks where s.id == id select s).First(); //if (trk != null) //{ // trk.subjects = new List<Subject>(); // trk.subjects = (from s in db.Subjects // from ts in db.TracksSubjects // where s.id == ts.subject_id // where ts.track_id == trk.id // select s).ToList(); //} trk.subject = Subject.DBGet(trk.subject_id); // Load the subject from DB return(trk); } } return(null); }
/// <summary> /// Update the database with changes /// </summary> public int DBUpdate() { try { using (var db = new UberEversolContext()) { var result = db.Sessions.FirstOrDefault(s => s.id == this.id); if (result != null) { result.title = this.title; result.description = this.description; result.folderDir = this.folderDir; result.created = this.created; result.hit_count = this.hit_count; db.SaveChanges(); } } return(0); } catch (Exception e) { return(-1); } }
/// <summary> /// Remove the selected subject from db /// </summary> /// <param name="id"></param> public void DBRemove() { using (var db = new UberEversolContext()) { db.Tracks.Remove(this); db.SaveChanges(); } }
/// <summary> /// Save the object to the database /// </summary> public void DBSave() { using (var db = new UberEversolContext()) { db.Sessions.Add(this); db.SaveChanges(); } }
/// <summary> /// Gets the highest last index in tracks list for this session /// </summary> /// <returns>max index</returns> public int getMaxTrackIndex() { int maxIndx = 0; using (var db = new UberEversolContext()) { db.Sessions.Remove(this); maxIndx = db.Tracks.Where(t => t.session_id == this.id).Max(t => t.index); } return(maxIndx); }
/// <summary> /// Increment Hit Count /// </summary> public void Hit() { this.hit_count += 1; using (var db = new UberEversolContext()) { var result = db.Subjects.FirstOrDefault(s => s.id == this.id); result.hit_count += 1; db.SaveChanges(); } }
/// <summary> /// Rating Decrement /// </summary> public void RatingMinus() { this.user_rating -= 1; using (var db = new UberEversolContext()) { var result = db.Subjects.FirstOrDefault(s => s.id == this.id); result.user_rating -= 1; db.SaveChanges(); } }
/// <summary> /// Get the Subject from the database /// </summary> /// <param name="id"></param> /// <returns>A subject from database</returns> public static Subject DBGet(int id) { if (id > 0) { using (var db = new UberEversolContext()) { Subject sub = (Subject)(from s in db.Subjects where s.id == id select s).First(); return(sub); } } return(null); }
/// <summary> /// Update the database with changes /// </summary> public void DBUpdate() { using (var db = new UberEversolContext()) { var result = db.Subjects.FirstOrDefault(s => s.id == this.id); if (result != null) { result.first_name = this.first_name; result.last_name = this.last_name; result.created = this.created; result.user_rating = this.user_rating; db.SaveChanges(); } } }
/// <summary> /// Get Session record from database /// </summary> /// <param name="id"></param> /// <returns></returns> static public Session DBGet(int id) { // Populate object with data from database using (var db = new UberEversolContext()) { // Load the session Session ses = (from s in db.Sessions where s.id == id select s).First(); // Load the tracks ses.tracks = (from t in db.Tracks where t.session_id == ses.id select t).ToList(); foreach (Track t in ses.tracks) { t.loadStructures(); } return(ses); } }
/// <summary> /// Update the database with changes /// </summary> public void DBUpdate() { using (var db = new UberEversolContext()) { var result = db.Tracks.FirstOrDefault(t => t.id == this.id); if (result != null) { result.id = this.id; result.session_id = this.session_id; result.title = this.title; result.description = this.description; result.duration = this.duration; result.file_name = this.file_name; result.file_dir = this.file_dir; result.file_size = this.file_size; result.subject = this.subject; result.subject_id = this.subject_id; result.keywords = this.keywords; db.SaveChanges(); } } }