Added initial models.
This commit is contained in:
@@ -1,7 +0,0 @@
|
|||||||
namespace Harmonia.Core
|
|
||||||
{
|
|
||||||
public class Class1
|
|
||||||
{
|
|
||||||
|
|
||||||
}
|
|
||||||
}
|
|
||||||
6
Harmonia.Core/Models/GroupOption.cs
Normal file
6
Harmonia.Core/Models/GroupOption.cs
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
namespace Harmonia.Core.Models;
|
||||||
|
|
||||||
|
public class GroupOption(string fieldName)
|
||||||
|
{
|
||||||
|
public string FieldName { get; init; } = fieldName;
|
||||||
|
}
|
||||||
11
Harmonia.Core/Models/Playlist.cs
Normal file
11
Harmonia.Core/Models/Playlist.cs
Normal file
@@ -0,0 +1,11 @@
|
|||||||
|
namespace Harmonia.Core.Models;
|
||||||
|
|
||||||
|
public class Playlist(string name)
|
||||||
|
{
|
||||||
|
public string UID { get; set; } = Guid.NewGuid().ToString();
|
||||||
|
public string Name { get; set; } = name;
|
||||||
|
public List<PlaylistSong> Songs { get; set; } = [];
|
||||||
|
public List<GroupOption> GroupOptions { get; set; } = [];
|
||||||
|
public List<SortOption> SortOptions { get; set; } = [];
|
||||||
|
public bool IsLocked { get; set; }
|
||||||
|
}
|
||||||
7
Harmonia.Core/Models/PlaylistSong.cs
Normal file
7
Harmonia.Core/Models/PlaylistSong.cs
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
namespace Harmonia.Core.Models;
|
||||||
|
|
||||||
|
public class PlaylistSong(Song song)
|
||||||
|
{
|
||||||
|
public string UID { get; } = Guid.NewGuid().ToString();
|
||||||
|
public Song Song { get; } = song;
|
||||||
|
}
|
||||||
26
Harmonia.Core/Models/Song.cs
Normal file
26
Harmonia.Core/Models/Song.cs
Normal file
@@ -0,0 +1,26 @@
|
|||||||
|
namespace Harmonia.Core.Models;
|
||||||
|
|
||||||
|
public class Song
|
||||||
|
{
|
||||||
|
public required string FileName { get; set; }
|
||||||
|
public ulong Size { get; set; }
|
||||||
|
public DateTime? LastModified { get; set; }
|
||||||
|
public string? Title { get; set; }
|
||||||
|
public string? Album { get; set; }
|
||||||
|
public string? ImageName { get; set; }
|
||||||
|
public string? ImageHash { get; set; }
|
||||||
|
public List<string> Artists { get; set; } = [];
|
||||||
|
public List<string> AlbumArtists { get; set; } = [];
|
||||||
|
public byte? TrackNumber { get; set; }
|
||||||
|
public byte? DiscNumber { get; set; }
|
||||||
|
public TimeSpan Length { get; set; }
|
||||||
|
public ushort? Year { get; set; }
|
||||||
|
public string? Genre { get; set; }
|
||||||
|
public uint BitRate { get; set; }
|
||||||
|
public uint SampleRate { get; set; }
|
||||||
|
|
||||||
|
public string? FilePath => Path.GetDirectoryName(FileName);
|
||||||
|
public string? FileDirectory => Directory.GetParent(FileName)?.Name;
|
||||||
|
public string? FileType => Path.GetExtension(FileName)?.Replace(".", "").ToUpper();
|
||||||
|
public string ShortFileName => Path.GetFileNameWithoutExtension(FileName);
|
||||||
|
}
|
||||||
9
Harmonia.Core/Models/SortOption.cs
Normal file
9
Harmonia.Core/Models/SortOption.cs
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
using System.ComponentModel;
|
||||||
|
|
||||||
|
namespace Harmonia.Core.Models;
|
||||||
|
|
||||||
|
public class SortOption(string fieldName, ListSortDirection direction)
|
||||||
|
{
|
||||||
|
public string FieldName { get; init; } = fieldName;
|
||||||
|
public ListSortDirection Direction { get; init; } = direction;
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user