Esempio n. 1
0
        /// <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);
        }
Esempio n. 2
0
        /// <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;
        }
Esempio n. 3
0
        /// <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;
            }
        }
Esempio n. 4
0
        /// <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("Элемент с выбранными " +
                                            "параметрами не найден");
            }
        }