1
0
mirror of synced 2025-03-01 16:00:28 +01:00

40 lines
1019 B
C#
Raw Normal View History

2022-06-21 01:49:47 +08:00
using System.Text.Json.Serialization;
using SharedProject.common;
using SharedProject.enums;
2022-06-21 01:49:47 +08:00
namespace SharedProject.models;
2022-04-25 02:07:11 +08:00
public class SongPlayData
{
public string Title { get; set; } = string.Empty;
public string Artist { get; set; } = string.Empty;
2022-06-21 01:49:47 +08:00
public int MusicId { get; set; }
2022-04-25 02:07:11 +08:00
public SongPlayDetailData[] SongPlaySubDataList { get; set; } = new SongPlayDetailData[SharedConstants.DIFFICULTY_COUNT];
2022-06-18 22:11:14 +08:00
public bool IsFavorite { get; set; }
2022-04-25 02:07:11 +08:00
public bool ShowDetails { get; set; }
2022-06-21 01:49:47 +08:00
[JsonIgnore]
public int TotalPlayCount
{
get
{
return SongPlaySubDataList.Sum(data => data.PlayCount);
}
}
[JsonIgnore]
public DateTime LastPlayTime
{
get
{
var songPlayDetailData = SongPlaySubDataList.Where(data => data.ClearState != ClearState.NotPlayed)
.MinBy(data => data.LastPlayTime);
return songPlayDetailData?.LastPlayTime ?? DateTime.MaxValue;
}
}
2022-04-25 02:07:11 +08:00
}