/// <summary> /// Возвращает номер из списка человека с заданными параметрами /// </summary> /// <param name="presentPerson">Заданный человек</param> /// <returns>Список номеров</returns> public int[] GetIndex(PersonBase presentPerson) { bool indicator = false; int[] numbers = new int[0]; for (int i = 0; i < _persons.Length; i++) { if (presentPerson.Equals(_persons[i])) { int[] copyNumbers = numbers; numbers = new int[copyNumbers.Length + 1]; for (int j = 0; j < copyNumbers.Length; j++) { numbers[j] = copyNumbers[j]; } numbers[copyNumbers.Length] = i + 1; indicator = true; } } if (indicator != true) { throw new ArgumentException("Элемент с выбранными " + "параметрами не найден"); } return(numbers); }
/// <summary> /// Добавление человека в список людей /// </summary> /// <param name="addingPerson">Добавляемый человек</param> public void AddPerson(PersonBase addingPerson) { PersonBase[] copyPersons = _persons; _persons = new PersonBase[copyPersons.Length + 1]; for (int i = 0; i < copyPersons.Length; i++) { _persons[i] = copyPersons[i]; } _persons[copyPersons.Length] = addingPerson; }
/// <summary> /// Создание рандомного человека с базовыми параметрами /// </summary> /// <returns>рандомный человек</returns> public static void CreateBasePerson(PersonBase randomPerson, GenderType gender = GenderType.NoGender) { var Path = AppDomain.CurrentDomain.BaseDirectory + "\\ParametrsPerson\\"; var pathNameFemale = System.IO.Path.Combine(Path, "NameFemale.txt"); var pathNameMale = System.IO.Path.Combine(Path, "NameMale.txt"); var pathSurnameFemale = System.IO.Path.Combine(Path, "SurnameFemale.txt"); var pathSurnameMale = System.IO.Path.Combine(Path, "SurnameMale.txt"); switch (gender) { case GenderType.NoGender: { int countGender = Enum.GetNames(typeof(GenderType)).Length; randomPerson.Gender = (GenderType)_random.Next(countGender - 1); } break; case GenderType.Male: { randomPerson.Gender = GenderType.Female; } break; case GenderType.Female: { randomPerson.Gender = GenderType.Male; } break; } switch (randomPerson.Gender) { case GenderType.Female: { randomPerson.Name = GetLine(pathNameFemale); randomPerson.Surname = GetLine(pathSurnameFemale); } break; case GenderType.Male: { randomPerson.Name = GetLine(pathNameMale); randomPerson.Surname = GetLine(pathSurnameMale); } break; } }
/// <summary> /// Нахождение номера удаляемого человека по заданным параметрам /// </summary> /// <param name="deletedPerson">Удаляемый человек</param> public void GetIndexDelete(PersonBase deletedPerson) { bool indicator = false; for (int i = 0; i < _persons.Length; i++) { if (deletedPerson.Equals(_persons[i])) { DeletePersonIndex(i); indicator = true; } } if (indicator != true) { throw new ArgumentException("Элемент с выбранными " + "параметрами не найден"); } }