public override int GetHashCode()
        {
            int prime  = 31;
            int result = 1;

            result = prime * result + Id.BitShiftThenBitOr(prime);
            result = prime * result + Name.StringToInt().BitShiftThenBitOr(prime);
            result = prime * result + Description.StringToInt().BitShiftThenBitOr(prime);
            result = prime * result + _Price.ToString().StringToInt().BitShiftThenBitOr(prime);
            result = prime * result + Discount.ToString().StringToInt().BitShiftThenBitOr(prime);
            result = prime * result + Race.RaceToInt().BitShiftThenBitOr(prime);
            result = prime * result + Gender.GenderToInt().BitShiftThenBitOr(prime);
            result = prime * result + AddedToMarket.DateToInt().BitShiftThenBitOr(prime);
            result = prime * result + DateBought.DateToInt().BitShiftThenBitOr(prime);
            result = prime * result + TimeLimit.TimeToInt().BitShiftThenBitOr(prime);
            result = prime * result + TimeLeft.TimeToInt().BitShiftThenBitOr(prime);
            result = prime * result + Convert.ToInt32(Image).BitShiftThenBitOr(prime);
            return(result);
        }