using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using System.Linq; using Newtonsoft.Json; using Yavsc.Models.Access; using YavscLib; namespace Yavsc.Models { public partial class Blog : IBlog, ICircleAuthorized { [Key(), DatabaseGenerated(DatabaseGeneratedOption.Identity)] public long Id { get; set; } public string Content { get; set; } public string Photo { get; set; } public int Rate { get; set; } public string Title { get; set; } public string AuthorId { get; set; } [ForeignKey("AuthorId"),JsonIgnore] public ApplicationUser Author { set; get; } public bool Visible { get; set; } public DateTime DateCreated { get; set; } public string UserCreated { get; set; } public DateTime DateModified { get; set; } public string UserModified { get; set; } [InverseProperty("Target")] public virtual List ACL { get; set; } public bool AuthorizeCircle(long circleId) { return ACL.Any( i=>i.CircleId == circleId); } public string GetOwnerId() { return AuthorId; } public ICircleAuthorization[] GetACL() { return ACL.ToArray(); } } }