upload
This commit is contained in:
88
GymEquipment.cs
Normal file
88
GymEquipment.cs
Normal file
@@ -0,0 +1,88 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Prac8
|
||||
{
|
||||
public class GymEquipment : IComparable<GymEquipment>, IEquatable<GymEquipment>
|
||||
{
|
||||
public int Number { get; set; }
|
||||
public string Name { get; set; }
|
||||
public string Type { get; set; }
|
||||
public string Condition { get; set; }
|
||||
public string Place { get; set; }
|
||||
|
||||
public GymEquipment()
|
||||
{
|
||||
Name = string.Empty;
|
||||
Type = string.Empty;
|
||||
Condition = string.Empty;
|
||||
Place = string.Empty;
|
||||
}
|
||||
|
||||
public GymEquipment(int number, string name, string type, string condition, string place)
|
||||
{
|
||||
Number = number;
|
||||
Name = name;
|
||||
Type = type;
|
||||
Condition = condition;
|
||||
Place = place;
|
||||
}
|
||||
|
||||
public int CompareTo(GymEquipment other)
|
||||
{
|
||||
if (other == null)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
int byName = string.Compare(Name, other.Name, StringComparison.OrdinalIgnoreCase);
|
||||
if (byName != 0)
|
||||
{
|
||||
return byName;
|
||||
}
|
||||
|
||||
return Number.CompareTo(other.Number);
|
||||
}
|
||||
|
||||
public bool Equals(GymEquipment other)
|
||||
{
|
||||
if (other == null)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
return Number == other.Number
|
||||
&& string.Equals(Name, other.Name, StringComparison.OrdinalIgnoreCase)
|
||||
&& string.Equals(Type, other.Type, StringComparison.OrdinalIgnoreCase)
|
||||
&& string.Equals(Condition, other.Condition, StringComparison.OrdinalIgnoreCase)
|
||||
&& string.Equals(Place, other.Place, StringComparison.OrdinalIgnoreCase);
|
||||
}
|
||||
|
||||
public override bool Equals(object obj)
|
||||
{
|
||||
return Equals(obj as GymEquipment);
|
||||
}
|
||||
|
||||
public override int GetHashCode()
|
||||
{
|
||||
return GetSafeHash(Name)
|
||||
^ GetSafeHash(Type)
|
||||
^ GetSafeHash(Condition)
|
||||
^ GetSafeHash(Place)
|
||||
^ Number;
|
||||
}
|
||||
|
||||
private static int GetSafeHash(string value)
|
||||
{
|
||||
return value == null ? 0 : value.ToLowerInvariant().GetHashCode();
|
||||
}
|
||||
|
||||
public override string ToString()
|
||||
{
|
||||
return $"№: {Number}, Название: {Name}, Тип: {Type}, Состояние: {Condition}, Место: {Place}";
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user