2018-11-02 21:04:49 +00:00
|
|
|
using Roadie.Library.Enums;
|
|
|
|
using System;
|
|
|
|
using System.Collections.Generic;
|
|
|
|
using System.ComponentModel.DataAnnotations;
|
|
|
|
using System.ComponentModel.DataAnnotations.Schema;
|
|
|
|
|
|
|
|
namespace Roadie.Library.Data
|
|
|
|
{
|
|
|
|
[Table("artist")]
|
|
|
|
public partial class Artist : BeginAndEndNamedEntityBase
|
|
|
|
{
|
2019-11-28 17:38:26 +00:00
|
|
|
[Column("amgId")]
|
|
|
|
[MaxLength(100)]
|
|
|
|
public string AmgId { get; set; }
|
2018-11-02 21:04:49 +00:00
|
|
|
|
|
|
|
[Column("artistType", TypeName = "enum")]
|
|
|
|
public string ArtistType { get; set; }
|
|
|
|
|
2019-11-28 17:38:26 +00:00
|
|
|
/// <summary>
|
|
|
|
/// Artists who this Artist is Associated To
|
|
|
|
/// </summary>
|
|
|
|
[InverseProperty("Artist")]
|
|
|
|
public virtual ICollection<ArtistAssociation> AssociatedArtists { get; set; }
|
2019-07-01 23:11:10 +00:00
|
|
|
|
2018-11-02 21:04:49 +00:00
|
|
|
[Column("bandStatus", TypeName = "enum")]
|
|
|
|
public BandStatus? BandStatus { get; set; }
|
|
|
|
|
|
|
|
[Column("bioContext", TypeName = "text")]
|
|
|
|
[MaxLength(65535)]
|
|
|
|
public string BioContext { get; set; }
|
|
|
|
|
|
|
|
[Column("birthDate", TypeName = "date")]
|
|
|
|
public DateTime? BirthDate { get; set; }
|
|
|
|
|
2019-11-28 17:38:26 +00:00
|
|
|
[InverseProperty("Artist")]
|
|
|
|
public virtual ICollection<Comment> Comments { get; set; }
|
|
|
|
|
|
|
|
[InverseProperty("Artist")]
|
|
|
|
public virtual ICollection<Credit> Credits { get; set; }
|
2019-07-03 16:21:29 +00:00
|
|
|
|
2019-11-28 17:38:26 +00:00
|
|
|
[Column("discogsId")]
|
|
|
|
[MaxLength(50)]
|
|
|
|
public string DiscogsId { get; set; }
|
2018-11-02 21:04:49 +00:00
|
|
|
|
2019-11-28 17:38:26 +00:00
|
|
|
[InverseProperty("Artist")]
|
|
|
|
public virtual ICollection<ArtistGenre> Genres { get; set; }
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
/// Where the Artist is the Artist on the Track not on an Artist Release
|
|
|
|
/// </summary>
|
|
|
|
[InverseProperty("TrackArtist")]
|
|
|
|
public virtual ICollection<Track> Tracks { get; set; }
|
2018-11-02 22:20:36 +00:00
|
|
|
|
2018-11-02 21:04:49 +00:00
|
|
|
[Column("isniList", TypeName = "text")]
|
|
|
|
[MaxLength(65535)]
|
2018-12-27 21:56:40 +00:00
|
|
|
public string ISNI { get; set; }
|
2018-11-02 21:04:49 +00:00
|
|
|
|
2019-11-28 17:38:26 +00:00
|
|
|
[Column("iTunesId")]
|
|
|
|
[MaxLength(100)]
|
|
|
|
public string ITunesId { get; set; }
|
2018-11-02 21:04:49 +00:00
|
|
|
|
2019-11-28 17:38:26 +00:00
|
|
|
[Column("lastPlayed")]
|
|
|
|
public DateTime? LastPlayed { get; set; }
|
2018-12-01 18:05:24 +00:00
|
|
|
|
2018-11-02 21:04:49 +00:00
|
|
|
[Column("musicBrainzId")]
|
|
|
|
[MaxLength(100)]
|
|
|
|
public string MusicBrainzId { get; set; }
|
|
|
|
|
2019-11-28 17:38:26 +00:00
|
|
|
[Column("playedCount")]
|
|
|
|
public int? PlayedCount { get; set; }
|
2019-07-03 16:21:29 +00:00
|
|
|
|
2018-11-02 21:04:49 +00:00
|
|
|
[Column("profile", TypeName = "text")]
|
|
|
|
[MaxLength(65535)]
|
|
|
|
public string Profile { get; set; }
|
|
|
|
|
2019-11-28 17:38:26 +00:00
|
|
|
[Column("rank")]
|
|
|
|
public decimal? Rank { get; set; }
|
2018-12-01 18:05:24 +00:00
|
|
|
|
2019-11-28 17:38:26 +00:00
|
|
|
[Column("rating")]
|
|
|
|
public short? Rating { get; set; }
|
2018-11-02 21:04:49 +00:00
|
|
|
|
2019-11-28 17:38:26 +00:00
|
|
|
[Column("realName")]
|
|
|
|
[MaxLength(500)]
|
|
|
|
public string RealName { get; set; }
|
2019-01-23 16:50:36 +00:00
|
|
|
|
2019-11-28 17:38:26 +00:00
|
|
|
[Column("releaseCount")]
|
|
|
|
public int? ReleaseCount { get; set; }
|
2018-11-02 21:04:49 +00:00
|
|
|
|
2019-11-28 17:38:26 +00:00
|
|
|
public virtual ICollection<Release> Releases { get; set; }
|
2018-11-02 21:11:11 +00:00
|
|
|
|
2019-11-28 17:38:26 +00:00
|
|
|
/// <summary>
|
|
|
|
/// Artists who are similiar to this Artist
|
|
|
|
/// </summary>
|
|
|
|
[InverseProperty("Artist")]
|
|
|
|
public virtual ICollection<ArtistSimilar> SimilarArtists { get; set; }
|
2018-11-02 21:04:49 +00:00
|
|
|
|
2019-11-28 17:38:26 +00:00
|
|
|
[Column("spotifyId")]
|
|
|
|
[MaxLength(100)]
|
|
|
|
public string SpotifyId { get; set; }
|
|
|
|
|
|
|
|
[Column("trackCount")]
|
|
|
|
public int? TrackCount { get; set; }
|
2018-11-06 22:59:48 +00:00
|
|
|
|
2019-11-28 17:38:26 +00:00
|
|
|
[InverseProperty("Artist")]
|
|
|
|
public virtual ICollection<UserArtist> UserArtists { get; set; }
|
2019-06-28 21:24:32 +00:00
|
|
|
|
2018-12-07 21:02:38 +00:00
|
|
|
public Artist()
|
|
|
|
{
|
2019-07-03 16:21:29 +00:00
|
|
|
Releases = new HashSet<Release>();
|
|
|
|
Genres = new HashSet<ArtistGenre>();
|
|
|
|
AssociatedArtists = new HashSet<ArtistAssociation>();
|
|
|
|
SimilarArtists = new HashSet<ArtistSimilar>();
|
|
|
|
Comments = new HashSet<Comment>();
|
2019-11-28 17:38:26 +00:00
|
|
|
UserArtists = new HashSet<UserArtist>();
|
|
|
|
|
2019-07-03 16:21:29 +00:00
|
|
|
Rating = 0;
|
|
|
|
Status = Statuses.Ok;
|
2018-12-07 21:02:38 +00:00
|
|
|
}
|
2018-11-02 21:04:49 +00:00
|
|
|
}
|
|
|
|
}
|