35 lines
1.0 KiB
C#
35 lines
1.0 KiB
C#
namespace YandexMusic.API.Models.Track;
|
|
|
|
public class YTrackAlbumPair : IEquatable<YTrackAlbumPair>
|
|
{
|
|
public string AlbumId { get; set; }
|
|
public string Id { get; set; }
|
|
|
|
public override string ToString()
|
|
{
|
|
return string.Join(":", new[] { Id, AlbumId }.Where(s => !string.IsNullOrEmpty(s)));
|
|
}
|
|
|
|
public bool Equals(YTrackAlbumPair other)
|
|
{
|
|
if (ReferenceEquals(null, other)) return false;
|
|
if (ReferenceEquals(this, other)) return true;
|
|
return string.Equals(Id, other.Id) && string.Equals(AlbumId, other.AlbumId);
|
|
}
|
|
|
|
public override bool Equals(object obj)
|
|
{
|
|
if (ReferenceEquals(null, obj)) return false;
|
|
if (ReferenceEquals(this, obj)) return true;
|
|
if (obj.GetType() != GetType()) return false;
|
|
return Equals((YTrackAlbumPair)obj);
|
|
}
|
|
|
|
public override int GetHashCode()
|
|
{
|
|
unchecked
|
|
{
|
|
return ((Id != null ? Id.GetHashCode() : 0) * 397) ^ (AlbumId != null ? AlbumId.GetHashCode() : 0);
|
|
}
|
|
}
|
|
} |