CustomItem.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 CustomItem : 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 CustomItem()
  14. {
  15. CustomItemMetadata = new HashSet<CustomItemMetadata>();
  16. Releases = new HashSet<Release>();
  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 CustomItem CreateCustomItemUnsafe()
  23. {
  24. return new CustomItem();
  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 CustomItem(Guid urlid, DateTime dateadded)
  32. {
  33. this.UrlId = urlid;
  34. this.CustomItemMetadata = new HashSet<CustomItemMetadata>();
  35. this.Releases = new HashSet<Release>();
  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 CustomItem Create(Guid urlid, DateTime dateadded)
  44. {
  45. return new CustomItem(urlid, dateadded);
  46. }
  47. /*************************************************************************
  48. * Properties
  49. *************************************************************************/
  50. /*************************************************************************
  51. * Navigation properties
  52. *************************************************************************/
  53. [ForeignKey("CustomItemMetadata_CustomItemMetadata_Id")]
  54. public virtual ICollection<CustomItemMetadata> CustomItemMetadata { get; protected set; }
  55. [ForeignKey("Release_Releases_Id")]
  56. public virtual ICollection<Release> Releases { get; protected set; }
  57. }
  58. }