using System; using System.Data.Entity; using System.Linq; using EnVisage.Models; namespace EnVisage.Code.BLL { public class UserQuickLinkManager : ManagerBase { public UserQuickLinkManager(EnVisageEntities dbContext) : base(dbContext) { } protected override UserQuickLink InitInstance() { return new UserQuickLink { Id = Guid.NewGuid() }; } protected override UserQuickLink RetrieveReadOnlyById(Guid key) { return DataTable.AsNoTracking().FirstOrDefault(t => t.Id == key); } public override DbSet DataTable { get { return DbContext.UserQuickLinks; } } public UserQuickLinkModel GetUserQuickLinkById(Guid? id) { if (!id.HasValue) return null; return UserQuickLinkModelQueryBase.FirstOrDefault(x => x.Id == id); } #region Queries private IQueryable UserQuickLinkModelQueryBase { get { var query = DataTable.Select(x => new UserQuickLinkModel() { Id = x.Id, Name = x.Name, UserId = x.UserId, Url = x.Url, PageState = x.PageState }); return query; } } #endregion } }