Esempio n. 1
0
        /// <summary>
        /// Добавление человека
        /// </summary>
        /// <param name="person">Человек</param>
        public void Add(PersonBase person)
        {
            var persons = _persons;

            _persons = new PersonBase[persons.Length + 1];
            for (int i = 0; i < persons.Length; i++)
            {
                _persons[i] = persons[i];
            }
            _persons[persons.Length] = person;
        }
Esempio n. 2
0
        /// <summary>
        /// Добавление нового человека в конец списка
        /// </summary>
        /// <param name="person">Человек</param>
        public void AddPerson(PersonBase person)
        {
            var buffer = _persons;

            _persons = new PersonBase[buffer.Length + 1];
            for (int i = 0; i < buffer.Length; i++)
            {
                _persons[i] = buffer[i];
            }
            _persons[buffer.Length] = person;
        }
Esempio n. 3
0
        /// <summary>
        /// Возвращает индекс человека, при наличии его в списке
        /// </summary>
        /// <param name="person">Экземпляр объекта класса Person</param>
        public int GetIndex(PersonBase person)
        {
            for (int i = 0; i < _persons.Length; i++)
            {
                if (_persons[i] == person)
                {
                    return(i);
                }
            }

            throw new KeyNotFoundException("Такого человека в списке нет.");
        }
Esempio n. 4
0
        /// <summary>
        /// Возвращает индекс элемента при наличии его в списке
        /// </summary>
        /// <param name="person">Экземпляр класса Персона</param>
        /// <returns>Индекс экземпляра класса</returns>
        public int GetIndexOfPerson(PersonBase person)
        {
            for (int index = 0; index < _personArray.Length; index++)
            {
                if (_personArray[index] == person)
                {
                    return(index);
                }
            }

            throw new Exception("The person you specified does not exist " +
                                "in this list!");
        }
Esempio n. 5
0
        /// <summary>
        /// Добавление персоны в список
        /// </summary>
        /// <param name="person">Экземпляр класса персона</param>
        public void AddPerson(PersonBase person)
        {
            var temporaryArray = _personArray;

            _personArray = new PersonBase[temporaryArray.Length + 1];

            for (int i = 0; i < temporaryArray.Length; i++)
            {
                _personArray[i] = temporaryArray[i];
            }

            _personArray[temporaryArray.Length] = person;
        }
Esempio n. 6
0
 /// <summary>
 /// Удаление персоны из списка по имени и фамилии
 /// </summary>
 /// <param name="person">Экземпляр класса Персона</param>
 public void DeletePersonByName(string name, string surname)
 {
     PersonBase[] truePersons = new PersonBase[0];
     for (int i = 0; i < _personArray.Length; i++)
     {
         if ((_personArray[i].Name != name) && (_personArray[i].Surname != surname))
         {
             Array.Resize(ref truePersons, truePersons.Length + 1);
             truePersons[truePersons.Length - 1] = _personArray[i];
         }
     }
     _personArray = truePersons;
 }
Esempio n. 7
0
        /// <summary>
        /// Поиск человека в списке по переданному
        /// экземпляру объекта класса Person
        /// </summary>
        /// <param name="person">Экземпляр объекта класса Person</param>
        /// <returns>
        /// Индекс человека в списке
        /// </returns>
        public int GetPerson(PersonBase person)
        {
            for (int i = 0; i < _persons.Length; i++)
            {
                if (_persons[i] == person)
                {
                    return(i);
                }
            }

            throw new KeyNotFoundException("There is no such person in " +
                                           "this list.");
        }
Esempio n. 8
0
        /// <summary>
        /// Заполнение базовых полей человека
        /// </summary>
        /// <param name="person">человек</param>
        public static void RandomPerson(PersonBase person)
        {
            var sex = _randNum.Next(0, 2);

            switch (sex)
            {
            case 0:
            {
                person.Sex  = Sex.Male;
                person.Name = _maleNames[_randNum.Next(_maleNames.Length)];
                break;
            }

            case 1:
            {
                person.Sex  = Sex.Female;
                person.Name = _femaleNames[_randNum.Next(_femaleNames.Length)];
                break;
            }
            }
            person.Surname = _allSurnames[_randNum.Next(_allSurnames.Length)];
        }
Esempio n. 9
0
 /// <summary>
 /// Удаление человека из списка
 /// </summary>
 /// <param name="person">Эксземпляр класса Person</param>
 public void Delete(PersonBase person)
 {
     DeleteByIndex(GetIndex(person));
 }
Esempio n. 10
0
 /// <summary>
 /// Удаление персоны из списка
 /// </summary>
 /// <param name="person">Экземпляр класса Персона</param>
 public void DeletePersonByIndex(PersonBase person)
 {
     DeleteByIndex(GetIndexOfPerson(person));
 }