Beispiel #1
0
        /// <summary>
        /// Funkcja ustawiająca prawidłowy pożądek obiektów klasy Person
        /// </summary>
        /// <param name="obj">objekt z którym poruwnuje aktualny obiekt (this)</param>
        /// <returns></returns>
        public int CompareTo(object obj)
        {
            Person p = obj as Person;

            // pierwsze pożądkujemy według nazwisk
            if (LastName != p.LastName)
            {
                return(LastName.CompareTo(p.LastName));
            }

            // następnie pożądkowanie według imion
            if (FirstName != p.FirstName)
            {
                return(FirstName.CompareTo(p.FirstName));
            }

            if (Age != p.Age)
            {
                return(Age.CompareTo(p.Age));
            }

            if (City != p.City)
            {
                return(City.CompareTo(p.City));
            }

            if (Email != p.Email)
            {
                return(Email.CompareTo(p.Email));
            }

            // na samym końcu sortowanie według numerów domu
            return(HomeNumber.CompareTo(p.HomeNumber));
        }
Beispiel #2
0
        /// <summary>
        /// Implementacja interfejsu IComparable w celu
        /// prawidłowego poążdkowania elemetów w listach sortowania
        /// </summary>
        /// <param name="obj">obiekt z którym porównuje aktulany obiekt (this)</param>
        /// <returns>
        /// [ < 0] - bieżące wystąpienie poprzedza obiekt
        /// [   0] - bieżące wystąpienie występuje w tym samym pożądku sortowania
        /// [ > 0] - bieżące wystąpienie występuje po obiekcie określonym przez CompareTo
        /// </returns>
        public int CompareTo(object obj)
        {
            Contact otherContact = obj as Contact;

            // na początku kontakty są sortowane alfabetycznie po miejscowości
            if (otherContact.City != null)
            {
                return(City.CompareTo(otherContact.City));
            }

            if (otherContact.Street != null)
            {
                return(Street.CompareTo(otherContact.Street));
            }

            if (otherContact.PostOffice != null)
            {
                return(PostOffice.CompareTo(otherContact.PostOffice));
            }

            if (otherContact.Email != null)
            {
                return(Email.CompareTo(otherContact.Email));
            }

            if (otherContact.Phone != null)
            {
                return(Phone.CompareTo(otherContact.Phone));
            }

            return(HomeNumber.CompareTo(otherContact.HomeNumber));
        }
Beispiel #3
0
        public string GetHomePhoneNumber()
        {
            if (!String.IsNullOrEmpty(HomeNumber))
            {
                return
                    (HomeNumber.Trim().Replace("(", "").Replace(")", "").Replace("-", "").Replace(" ", "").Replace("+", "").Replace(".", ""));
            }

            return(string.Empty);
        }
Beispiel #4
0
        public override string ToString()
        {
            var result = HomeNumber.ToString();

            if (Housing >= 0)
            {
                result += "k " + Housing;
            }

            if (AfterSlash >= 0)
            {
                result += $" ({AfterSlash})";
            }

            return(result);
        }