MusicAlbum.cs 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. #pragma warning disable CS1591
  2. using System;
  3. using System.Collections.Generic;
  4. using System.ComponentModel.DataAnnotations.Schema;
  5. namespace Jellyfin.Data.Entities
  6. {
  7. public partial class MusicAlbum : LibraryItem
  8. {
  9. partial void Init();
  10. /// <summary>
  11. /// Default constructor. Protected due to required properties, but present because EF needs it.
  12. /// </summary>
  13. protected MusicAlbum()
  14. {
  15. MusicAlbumMetadata = new HashSet<MusicAlbumMetadata>();
  16. Tracks = new HashSet<Track>();
  17. Init();
  18. }
  19. /// <summary>
  20. /// Replaces default constructor, since it's protected. Caller assumes responsibility for setting all required values before saving.
  21. /// </summary>
  22. public static MusicAlbum CreateMusicAlbumUnsafe()
  23. {
  24. return new MusicAlbum();
  25. }
  26. /// <summary>
  27. /// Public constructor with required data.
  28. /// </summary>
  29. /// <param name="urlid">This is whats gets displayed in the Urls and API requests. This could also be a string.</param>
  30. /// <param name="dateadded">The date the object was added.</param>
  31. public MusicAlbum(Guid urlid, DateTime dateadded)
  32. {
  33. this.UrlId = urlid;
  34. this.MusicAlbumMetadata = new HashSet<MusicAlbumMetadata>();
  35. this.Tracks = new HashSet<Track>();
  36. Init();
  37. }
  38. /// <summary>
  39. /// Static create function (for use in LINQ queries, etc.)
  40. /// </summary>
  41. /// <param name="urlid">This is whats gets displayed in the Urls and API requests. This could also be a string.</param>
  42. /// <param name="dateadded">The date the object was added.</param>
  43. public static MusicAlbum Create(Guid urlid, DateTime dateadded)
  44. {
  45. return new MusicAlbum(urlid, dateadded);
  46. }
  47. /*************************************************************************
  48. * Properties
  49. *************************************************************************/
  50. /*************************************************************************
  51. * Navigation properties
  52. *************************************************************************/
  53. [ForeignKey("MusicAlbumMetadata_MusicAlbumMetadata_Id")]
  54. public virtual ICollection<MusicAlbumMetadata> MusicAlbumMetadata { get; protected set; }
  55. [ForeignKey("Track_Tracks_Id")]
  56. public virtual ICollection<Track> Tracks { get; protected set; }
  57. }
  58. }