/// <summary> /// Deletes recent project by path /// </summary> /// <param name="path">Path.</param> public static void Delete(string path) { using (RecentProjectsContext db = new RecentProjectsContext()) { Repository.Entities.RecentProject p = db.RecentProjects.FirstOrDefault(x => x.Path.Equals(path)); if (p != null) { db.RecentProjects.Remove(p); db.SaveChanges(); } } }
/// <summary> /// Gets list of recent projects /// </summary> /// <param name="number">The number of items retrived</param> /// <returns></returns> public static List <RecentProject> GetList(int number) { List <RecentProject> result = new List <RecentProject>(); try { using (RecentProjectsContext db = new RecentProjectsContext()) { foreach (Repository.Entities.RecentProject p in db.RecentProjects.OrderByDescending(x => x.LastAccessDate).Take(number)) { result.Add(new RecentProject(p.Name, p.Path, p.LastAccessDate.ToDateTime())); } } } catch (Exception ex) { LogHelper.Logger.Error(ex, "Failed to get recent projects list from database."); } return(result); }
/// <summary> /// Saving recent project to database /// </summary> public void AddOrUpdate() { using (RecentProjectsContext db = new RecentProjectsContext()) { Repository.Entities.RecentProject p = db.RecentProjects.FirstOrDefault(x => x.Path.Equals(Path)); if (p == null) { db.RecentProjects.Add(new Repository.Entities.RecentProject { Name = Name, Path = Path, LastAccessDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss") }); } else { p.LastAccessDate = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); } db.SaveChanges(); } }