Exemplo n.º 1
0
 private void CreateMan_Click(object sender, EventArgs e)
 {
     if (nameMans.Text != "" && surnameMans.Text != "" && middleNameMans.Text != "")
     {
         if (student.Checked == true)
         {
             Student st  = new Student(nameMans.Text, surnameMans.Text, middleNameMans.Text);
             IMan    man = st;
             students_list.Add(man);
             studentsList.Items.Add(man.GetParams());
         }
         if (father.Checked == true)
         {
             Father fath = new Father(nameMans.Text, surnameMans.Text, middleNameMans.Text);
             IMan   man  = fath;
             fathers_list.Add(man);
             fathersList.Items.Add(man.GetParams());
         }
         if (student.Checked == false && father.Checked == false)
         {
             MessageBox.Show("Нужно выбрать статус студента");
         }
     }
     else
     {
         MessageBox.Show("Введите имя фамилию отчество");
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// полное имя человека в форматах:
        /// Иванов Иван Ич
        /// Иванов Ич
        /// Иванов
        /// Иван Ич
        /// Иван
        /// Ич
        /// null, если имени нет
        /// </summary>
        /// <param name="man"></param>
        /// <returns></returns>
        public static string GetFullName(IMan man)
        {
            Contract.Requires(man != null);
            var res = string.Join(" ", new[] { man.LastName, man.FirstName, man.MiddleName }.Where(x => !x.IsNullOrEmpty()));

            return(res.Length > 0 ? res : null);
        }
Exemplo n.º 3
0
        /// <summary>
        /// Метод. Возвращает полное имя человека
        /// </summary>
        private string GetManFullName(IMan man)
        {
            string manFullName;                                                     // Полное имя человека

            manFullName = man.Surname + " " + man.Name + " " + man.Patronymic;      // Получить полное имя человека

            return(manFullName);
        }
        public static string SayHi(IMan man, string relativeName)
        {
            Console.WriteLine($"{man.Name},快叫{relativeName}好");

            var result = man.SayHi(relativeName);

            return(result);
        }
        public static string FaHongbao(IMan man, int num, int amount)
        {
            Console.WriteLine($"来来来,{man.Name}给你们{num}个小朋友发红包咯,每个人{100}块");
            var result = "";

            for (int i = 0; i < num; i++)
            {
                result = man.DoSomething <int>("发红包", amount);
            }

            return(result);
        }
Exemplo n.º 6
0
        /// <summary>
        /// Конструктор
        /// </summary>
        public ManForm(IMan man, IDocuments documents)
            : base()
        {
            InitializeComponent();                      // Инициализировать компоненты формы

            _man       = man;                           // Сохранить человека в поле
            _documents = documents;                     // Сохранить список документов в поле

            _documentAfterRelinking = man.Document;     // Сохранить документ, связанный с человеком

            CleanAllData();                             // Очистить компоненты всех групп

            CopyDataFromEntity();                       // Скопировать данные человека в компоненты формы
        }
        public static void HaveDinner(IMan man, string food, int num)
        {
            void ManOnFull(object sender, EventArgs args)
            {
                var fatMan = (IMan)sender;

                Console.WriteLine($"吃饱了,体重到了{fatMan.Weight}斤");
                fatMan.Name = "不减肥就不改名的" + fatMan.Name;
            }

            Console.WriteLine($"{man.Name},来吃{num}斤{food}");
            man.ImFull += ManOnFull;
            man.Eat(num);
            man.ImFull += ManOnFull;
        }
Exemplo n.º 8
0
        /// <summary>
        /// Конструктор
        /// </summary>
        public ManSelectForm(IMans mans, IMan currentMan, ManSelectType manSelectType)
            : base()
        {
            InitializeComponent();                  // Инициализировать компоненты формы

            _mans = mans;                           // Скопировать список людей в поле

            _currentMan = currentMan;               // Скопировать текущего человека в поле

            _manSelectType = manSelectType;         // Скопировать цель выбора человека

            ConfigureEntitiesDataGridView();        // Настроить визуальное представление элемента отображения списка сущностей

            FillEntitiesDataGridView();             // Заполнить элемент отображения списка сущностей

            SetButtonActivity();                    // Задать активность элементов управления
        }
Exemplo n.º 9
0
        /// <summary>
        /// короткое имя человека в форматах:
        /// Иванов И. И.
        /// Иванов И.
        /// Иванов
        /// Иван И.
        /// Иван
        /// null, если нет ни фамилии ни имени
        /// </summary>
        /// <param name="man"></param>
        /// <returns></returns>
        public static string GetShortName(IMan man)
        {
            Contract.Requires(man != null);
            string ln = man.LastName ?? "";
            string mn = man.MiddleName ?? "";
            string fn = man.FirstName ?? "";

            var middle = mn.Length > 0 ? " " + mn[0] + "." : "";

            if (ln.Length > 0)
            {
                return(ln + (fn.Length > 0 ? " " + fn[0] + "." + middle : ""));
            }
            else if (fn.Length > 0)
            {
                return(fn + middle);
            }
            return(null);
        }
Exemplo n.º 10
0
        public static string AskAge(IMan man)
        {
            Console.WriteLine($"{man},今年多大了");
            var age = man.Age;

            Console.WriteLine($"我今年{age}");
            var result = $"哟,{age}岁了,";

            if (age > 20)
            {
                result += "该去找个对象了吧。";
            }
            else
            {
                result += "几年不见都长这么大了?";
            }

            return(result);
        }
Exemplo n.º 11
0
        /// <summary>
        /// Метод. Отвязывает клиента или сотрудника от связанного человека
        /// </summary>
        private void unlinkManButton_Click(object sender, EventArgs e)
        {
            DialogResult unlinkConfirm;                         // Результат подтверждения сообщения

            unlinkConfirm = MessageBox.Show(                    // Отобразить окно сообщения с подтверждением и сохранить результат подтверждения
                "Вы действительно хотите отвязать человека?",
                "Подтверждение",
                MessageBoxButtons.YesNo);

            if (unlinkConfirm == DialogResult.Yes)              // Проверить результат подтверждения сообщения
            {
                _manAfterRelinking = null;                      // Отвязать клиента ил сотрудника от связанного человека

                CleanDocument();                                // Очистить данные документа
                CleanMan();                                     // Очистить данные человека

                CopyLinkedDataFromEntity();                     // Скопировать данные из сущностей, связанных с основной сущностью
            }
        }
Exemplo n.º 12
0
        /// <summary>
        /// Метод. Выбирает человека из списка людей, сохраняет в поле и закрывает диалоговое окно
        /// </summary>
        private void selectButton_Click(object sender, EventArgs e)
        {
            DataGridViewRow selectedRow;                                    // Выделенная строка
            int             id;                                             // Идентификатор выделенного человека

            int rowCount;                                                   // Общее количество строк в списке
            int selectedRowIndex;                                           // Индекс выделенной строки

            rowCount = entitiesDataGridView.Rows.Count;                     // Получить общее количество строк в списке

            if (rowCount > 0)                                               // Проверить общее количество строк
            {
                selectedRow      = entitiesDataGridView.SelectedRows[0];    // Получить выделенную строку
                selectedRowIndex = selectedRow.Index;                       // Получить индекс выделенной строки
                id = Convert.ToInt32(selectedRow.Cells["id"].Value);        // Получить идентификатор человека в выделенной строке

                _selectedMan = _mans.GetMan(id);                            // Получить выделенного человека
            }

            CloseForm();                                                    // Закрыть диалоговое окно
        }
Exemplo n.º 13
0
 private void CloneStudent_Click(object sender, EventArgs e)
 {
     try
     {
         if (tabControl1.SelectedIndex == 0)
         {
             Student st  = (Student)students_list[studentsList.SelectedIndex].Clone();
             IMan    man = st;
             studentsList.Items.Add(man.GetParams());
             students_list.Add(st);
         }
         if (tabControl1.SelectedIndex == 1)
         {
             Father fath = (Father)fathers_list[fathersList.SelectedIndex].Clone();
             IMan   man  = fath;
             fathersList.Items.Add(man.GetParams());
             fathers_list.Add(fath);
         }
     }
     catch
     {
         MessageBox.Show("Нужно выбрать элемент из списка");
     }
 }
Exemplo n.º 14
0
        /// <summary>
        /// Метод. Связывает выбранного человека с клиентом или сотрудником
        /// </summary>
        private void relinkManButton_Click(object sender, EventArgs e)
        {
            ManSelectForm manSelectForm;                                      // Форма выбора человека

            ManSelectForm.ManSelectType manSelectType;

            if (_client != null)
            {
                manSelectType = ManSelectForm.ManSelectType.SelectForClient;                // Задать цель выбора человека
                manSelectForm = new ManSelectForm(_mans, _client.Man, manSelectType);       // Создать форму выбора человека

                manSelectForm.ShowDialog();                                                 // Отобразить форму выбора человека

                if (manSelectForm.SelectedMan != null)                                      // Проверить выбранного человека
                {
                    _manAfterRelinking = manSelectForm.SelectedMan;                         // Сохранить выбранного человека в поле
                }

                CopyLinkedDataFromEntity();                                                 // Скопировать данные из сущностей, связанных с основной сущностью
            }

            if (_employee != null)
            {
                manSelectType = ManSelectForm.ManSelectType.SelectForEmployee;              // Задать цель выбора человека
                manSelectForm = new ManSelectForm(_mans, _employee.Man, manSelectType);     // Создать форму выбора человека

                manSelectForm.ShowDialog();                                                 // Отобразить форму выбора человека

                if (manSelectForm.SelectedMan != null)                                      // Проверить выбранного человека
                {
                    _manAfterRelinking = manSelectForm.SelectedMan;                         // Сохранить выбранного человека в поле
                }

                CopyLinkedDataFromEntity();                                                 // Скопировать данные из сущностей, связанных с основной сущностью
            }
        }
Exemplo n.º 15
0
 /// <summary>
 /// Метод. Добавляет человека в набор людей
 /// </summary>
 public void Add(IMan man)
 {
     _mansDbSet.Add((Man)man);
     SaveChanges();
 }
Exemplo n.º 16
0
 /// <summary>
 /// Статический метод. Преобразует объект типа IMan в объект типа Man
 /// </summary>
 public static Man IManToManConverter(IMan man)
 {
     return((Man)man);
 }
Exemplo n.º 17
0
 /// <summary>
 /// Метод. Копирует данные сущности в компоненты человека
 /// </summary>
 protected void CopyManFromEntity(IMan man)
 {
     ManName       = man.Name;              // Скопировать имя
     ManSurname    = man.Surname;           // Скопировать фамилию
     ManPatronymic = man.Patronymic;        // Скопировать отчество
 }
Exemplo n.º 18
0
        public static string AskChildAge(IMan man)
        {
            var result = FamilyGathering.AskAge(man.Child);

            return(result);
        }
Exemplo n.º 19
0
 public static void HappyNewYear(IMan man)
 {
     man.Age++;
 }
Exemplo n.º 20
0
 /// <summary>
 /// Метод. Удаляет человека из набора людей
 /// </summary>
 public void Remove(IMan man)
 {
     _mansDbSet.Remove((Man)man);
     SaveChanges();
 }
Exemplo n.º 21
0
		// SEARCH LOGIC

		public bool MatchSearch(IMan man, string search)
		{
			if ((man.EMail != null && man.EMail.ToLower().Contains(search)) ||
				(man.Phone != null && man.Phone.ToLower().Contains(search)) ||
				(man.FullName != null && man.FullName.ToLower().Contains(search)))
				return true;
			else return false;
		}
Exemplo n.º 22
0
 private static void DoSomethingWithMan(IMan man)
 {
     man.BeingMan();
 }