yavsc/Yavsc/Models/Blog/Blog.cs

80 lines
2.0 KiB
C#

using System;
8 years ago
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;
using System.Linq;
using Newtonsoft.Json;
8 years ago
using Yavsc.Models.Access;
using YavscLib;
namespace Yavsc.Models
{
public partial class Blog : IBlog, ICircleAuthorized
{
[Key(), DatabaseGenerated(DatabaseGeneratedOption.Identity)]
8 years ago
[Display(Name="Identifiant du post")]
public long Id { get; set; }
8 years ago
[Display(Name="Contenu")]
8 years ago
public string Content { get; set; }
8 years ago
[Display(Name="Photo")]
8 years ago
public string Photo { get; set; }
8 years ago
[Display(Name="Indice de qualité")]
8 years ago
public int Rate { get; set; }
8 years ago
[Display(Name="Titre")]
8 years ago
public string Title { get; set; }
8 years ago
[Display(Name="Identifiant de l'auteur")]
public string AuthorId { get; set; }
8 years ago
[Display(Name="Auteur")]
[ForeignKey("AuthorId"),JsonIgnore]
public ApplicationUser Author { set; get; }
8 years ago
[Display(Name="Visible")]
8 years ago
public bool Visible { get; set; }
8 years ago
8 years ago
[Display(Name="Date de création")]
8 years ago
public DateTime DateCreated
{
get; set;
}
8 years ago
[Display(Name="Créateur")]
8 years ago
public string UserCreated
{
get; set;
}
8 years ago
[Display(Name="Dernière modification")]
8 years ago
public DateTime DateModified
{
get; set;
}
8 years ago
[Display(Name="Utilisateur ayant modifé le dernier")]
8 years ago
public string UserModified
{
get; set;
}
8 years ago
[InverseProperty("Target")]
8 years ago
[Display(Name="Liste de contrôle d'accès")]
8 years ago
public virtual List<CircleAuthorizationToBlogPost> 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();
}
}
}