EnVisageOnline/Main/Source/EnVisage/Code/BLL/UserQuickLinkManager.cs

62 lines
1.5 KiB
C#

using System;
using System.Data.Entity;
using System.Linq;
using EnVisage.Models;
namespace EnVisage.Code.BLL
{
public class UserQuickLinkManager : ManagerBase<UserQuickLink, UserQuickLinkModel>
{
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<UserQuickLink> 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<UserQuickLinkModel> 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
}
}