private void руководительToolStripMenuItem1_Click(object sender, EventArgs e)
 {
     Logic.AccessRootUser();
     if (PwdForm.IsPassUnLocked())
     {
         FormsRunner.CreateBossForm();
     }
 }
        private void сomboBox_PersonsList_KeyUp(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter) // Если нажат Enter
            {
                var name = сomboBox_PersonsList?.Text;
                if (string.IsNullOrEmpty(name) || string.IsNullOrWhiteSpace(name))
                {
                    return;
                }

                var perName = Logic.PrepareName(name);

                if (!FormsRunner.CheckOpened("Карточка Клиента") && DataBaseLevel.ContainsNameKey(perName))
                {
                    Logic.OpenPersonCard(perName);
                }
            }
        }
        /// <summary>
        ///  Вызывать этот метод для задания абонемента пользователю.
        /// Тут сохраняется новый абонемент в историю абонементов
        /// </summary>
        public void ApplyChanges()
        {
            AbonementBasic abonementNew = null;

            switch (_selectedAbonementName)
            {
            case "Клубная Карта":
            {
                abonementNew = new ClubCardA(_pay, _timeTren, TypeWorkout.Тренажерный_Зал, _spa, _periodClubCard);
                break;
            }

            case "Абонемент":
            {
                abonementNew = new AbonementByDays(_pay, _timeTren, _typeWorkout, _spa, _daysInAbon);
                break;
            }

            case "Разовое Занятие":
            {
                abonementNew = new SingleVisit(_typeWorkout, _spa, Pay.Оплачено, _timeTren);
                break;
            }

            case "Гостевой визит":
            {
                // Создаем новый абонемент
                abonementNew = new SingleVisit(_typeWorkout, _spa, Pay.Оплачено, _timeTren);
                abonementNew.TryActivate(DateTime.Now.Date);
                // Выбираем опции абонемента
                var selectedOptions = new WorkoutOptions();
                _person.AbonementCurent = abonementNew;
                var dlgResult = FormsRunner.RunWorkoutOptionsSingleForm(ref selectedOptions, abonementNew, _person.Name);
                if (dlgResult == DialogResult.Cancel)
                {
                    return;
                }
                // Отмечаем тренировку
                bool isSuccess = abonementNew.CheckInWorkout(abonementNew.TypeWorkout);
                if (!isSuccess)
                {
                    return;
                }

                // Сохраняем текущее посещение в истории
                PersonObject.SaveCurentVisit(_person, abonementNew, selectedOptions);      // Сохраняет текущий визит
                DailyVisits.GetInstance().AddToLog(_person.Name, selectedOptions);         // Cобытие для добавления текущего посещения на главную форму
                _person.Status        = StatusPerson.Гостевой;
                _person.SpecialNotes +=
                    $"\n\r Гостевой визит был: {DateTime.Now.ToString(new DateTimeFormatInfo().LongDatePattern)} ";
                _person.AbonementCurent = null;
                AbonementController.GetInstance().AddAbonement(_person.Name, abonementNew);
                PersonObject.SaveAbonementToHistory(_person, abonementNew);
                return;
            }
            }

            if (_person.Status == StatusPerson.Гостевой)
            {
                _person.Status = StatusPerson.Активный;
            }

            ApplyCorrectedValues(ref abonementNew);//  Корректировка абонемента по дате, количеству оставшихся посещений
            AbonementController.GetInstance().AddAbonement(_person.Name, abonementNew);

            //тут добавить абонемент в список истории абонементов.
            PersonObject.SaveAbonementToHistory(_person, abonementNew);
        }