using System.ComponentModel.DataAnnotations; namespace KernelRecordsMVC.Application.ViewModels; public class CreateReleaseViewModel { // ========================================== // RELEASE // ========================================== [Required] [StringLength(200)] public string Title { get; set; } = string.Empty; [Display(Name = "Record Label")] [StringLength(200)] public string? RecordLabel { get; set; } [Required] [StringLength(100)] public string Genre { get; set; } = string.Empty; [Required] [Display(Name = "Release Date")] [DataType(DataType.Date)] public DateTime ReleaseDate { get; set; } = DateTime.Today; [Required] [Display(Name = "Cover Photo")] public string CoverPhoto { get; set; } = string.Empty; // ALBUM or SINGLE [Required] [Display(Name = "Release Type")] public string ReleaseType { get; set; } = "ALBUM"; // ========================================== // ARTISTS // ========================================== [Required] [Display(Name = "Main Artist")] public long MainArtistId { get; set; } [Display(Name = "Featured Artists")] public List FeaturedArtistIds { get; set; } = new(); // ========================================== // SINGLE // ========================================== [Display(Name = "Single Duration")] public string? SingleDuration { get; set; } // ========================================== // ALBUM // ========================================== public List Tracks { get; set; } = new(); }