コード例 #1
0
        private void BossForm_Load(object sender, EventArgs e)
        {
            // Заполнение Комбо бокс Время
            comboBox_time_H.Items.AddRange(MyTime.Hours.ToArray <object>());
            comboBox_time_M.Items.AddRange(MyTime.Minutes.ToArray <object>());
            comboBox_time_H.SelectedIndex = 0;
            comboBox_time_M.SelectedIndex = 0;

            //Заполнение Лист Вью Расписание
            MyListViewEx.MaximizeLastColumn(listView_schedule);
            MyListViewEx.AddScheduleNotes(listView_schedule, _manhattanInfo.Schedule);

            //Заполнение Лист Вью Список Тренеров
            MyListViewEx.MaximizeFirstColumn(listView_Tren);
            MyListViewEx.AddNotes(listView_Tren, _manhattanInfo.Treners.Select(x => x.Name).ToList());

            //Заполнение Лист Вью Список Админов
            MyListViewEx.MaximizeFirstColumn(listView_Admins);
            MyListViewEx.AddNotes(listView_Admins, _manhattanInfo.Admins.Select(x => x.Name).ToList());

            // Заполнение вкладки Настроек
            checkBox_Passp_Drive.Checked         = Options.CheckPasspAndDriveId;
            checkBox_SimpsonPhoto.Checked        = Options.SimpsonsPhoto;
            checkBox_CorrectOnCreateAbon.Checked = Options.AbonIsCorrectable;

            // Период действия абонемента в месяцах.
            //  var nums = Enumerable.Range(1, 12).Select(x => (object)x).ToArray(); // отображаются в комбобоксе
            //  comboBox_months.Items.AddRange(nums);
            //  comboBox_months.SelectedIndex = --Options.ValidPeriodInMonth; // декремент т.к. у нас массив начинается с 1
        }
コード例 #2
0
        private void listView_Admin_SelectedIndexChanged(object sender, EventArgs e)
        {
            var selectedListViewItem = new ListView.SelectedListViewItemCollection((ListView)sender);

            var isSuccess = MyListViewEx.GetSelectedItems((ListView)sender, ref selectedListViewItem);

            // ДеАктивация/Активация кнопки Удалить из расписания
            button_Remove_Admin.Enabled = isSuccess;

            if (!isSuccess)
            {
                return;             //выход Если ничего не выбрано
            }
            var itemRow = MyListViewEx.GetSelectedText((ListView)sender);

            if (itemRow == null)
            {
                return;
            }

            // Отображаем выбранный элемент в окне редактирования
            radioButton_adm.Checked = true;
            textBox_FiO.Text        = itemRow[0];
            var ph = _manhattanInfo.Admins.Find(x => x.Name.Equals(textBox_FiO.Text)).Phone;

            maskedTextBox_phone.Text = ph;
        }
コード例 #3
0
 // Открытие карточки клиента по двойной мышке
 private static void OpenSelectedItem(object sender)
 {
     try
     {
         var selectedItem = MyListViewEx.GetSelectedText((ListView)sender);
         // Состоит из 2х элементов. Первый либо время либо пусто
         var name = selectedItem[1];
         Logic.OpenPersonCard(name);
     }
     catch (Exception e)
     {
         MessageBox.Show($@"Нельзя открыть карточку клиента. {e.Message}", @"Ошибка открытия", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
コード例 #4
0
        private void button_Remove_Admin_Click(object sender, EventArgs e)
        {
            var itemRow = MyListViewEx.GetSelectedText(listView_Admins);

            if (itemRow == null)
            {
                return;
            }

            var name = itemRow[0];

            Logic.EmployeeRemoveDataBase(name, false);
            MyListViewEx.RemoveSelectedItem(listView_Admins);
        }
コード例 #5
0
        private void удалитьЗаписьToolStripMenuItem_Click(object sender, EventArgs e)
        {
            Logic.AccessRootUser();
            if (!PwdForm.IsPassUnLocked())
            {
                return;
            }

            try
            {
                var control      = contextMenuStrip1.SourceControl;
                var selectedItem = MyListViewEx.GetSelectedText((ListView)control);
                // Состоит из 2х элементов. Первый либо время либо пусто
                var name = selectedItem[1];

                var typeW = TypeWorkout.Тренажерный_Зал;
                switch (control.Name)
                {
                case "listView_Gym_Zal":
                    typeW = TypeWorkout.Тренажерный_Зал;
                    break;

                case "listView_Personal":
                    typeW = TypeWorkout.Персональная;
                    break;

                case "listView_Group":
                    typeW = TypeWorkout.Аэробный_Зал;
                    break;

                case "listView_MiniGroup":
                    typeW = TypeWorkout.МиниГруппа;
                    break;

                default:
                    break;
                }

                // Удаление из журнала
                DailyVisits.GetInstance().RemoveFromLog(name, typeW);
                // Удаление с экрана
                MyListViewEx.RemoveSelectedItem((ListView)control);
                PwdForm.LockPassword();
            }
            catch (Exception)
            {
                MessageBox.Show($@"Нельзя удалить посещение клиента. ", @"Ошибка удаления в MainForm", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }
コード例 #6
0
 private void открытьКарточкуToolStripMenuItem_Click(object sender, EventArgs e)
 {
     try
     {
         var control      = contextMenuStrip1.SourceControl;
         var selectedItem = MyListViewEx.GetSelectedText((ListView)control);
         // Состоит из 2х элементов. Первый либо время либо пусто
         var name = selectedItem[1];
         Logic.OpenPersonCard(name);
     }
     catch (Exception)
     {
         MessageBox.Show($@"Нельзя открыть карточку клиента. ", @"Ошибка открытия в MainForm", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
コード例 #7
0
        private void button_remove_sched_Click(object sender, EventArgs e)
        {
            var itemRow = MyListViewEx.GetSelectedText(listView_schedule);

            if (itemRow == null)
            {
                return;
            }

            var selectedTime = itemRow[0];
            var name         = itemRow[1];

            Logic.SchedulesRemoveDataBase(selectedTime, name);
            MyListViewEx.RemoveSelectedItem(listView_schedule);
        }
コード例 #8
0
        private void DailyVisits_GymCollectionChanged(object sender, DateTime dateToShow)
        {
            var daily = _dailyVisits.GymList;

            if (daily == null || daily.Count == 0)
            {
                return;
            }

            var items = daily.FindAll(x => x.VisitDateTime.Date.CompareTo(dateToShow.Date) == 0);

            listView_Gym_Zal.Items.Clear();
            foreach (var item in items)
            {
                MyListViewEx.AddNote(listView_Gym_Zal, item.Time, item.Name);
            }
        }
コード例 #9
0
        private void button_add_sched_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(textBox_nameTren.Text))
            {
                MessageBox.Show(@"Введите Название!", @"Внимание", MessageBoxButtons.OK, MessageBoxIcon.Information);
                return;
            }

            var time      = new MyTime($"{comboBox_time_H.Text}:{comboBox_time_M.Text}");
            var sch       = new ScheduleNote(time, textBox_nameTren.Text);
            var isSuccess = Logic.SchedulesAdd2DataBase(time, sch);

            if (isSuccess)
            {
                MyListViewEx.AddScheduleNote(listView_schedule, sch);
            }
        }
コード例 #10
0
        private void DailyVisits_MiniGroupListChangedEvent(object sender, DateTime dateToShow)
        {
            var daily = _dailyVisits.MiniGroupList;

            if (daily == null || daily.Count == 0)
            {
                return;
            }

            var items = daily.FindAll(x => x.VisitDateTime.Date.CompareTo(dateToShow.Date) == 0);

            listView_MiniGroup.Items.Clear();
            foreach (var item in items)
            {
                var newGroupName = string.IsNullOrEmpty(item.TrenerName) ? "Имя неизвестно" : item.TrenerName;
                MyListViewEx.AddItemAndGroup(listView_MiniGroup, newGroupName, item.NamePerson, false);
            }
        }
コード例 #11
0
        /// <summary>
        /// Проверяет если введен пароль.
        /// Удаляет посещение из списков на экране
        /// Удаляет посещение из сохраненной базы
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        /// <param name="typeWorkout"></param>
        private static void DelSelectedItem(object sender, PreviewKeyDownEventArgs e, TypeWorkout typeWorkout)
        {
            if (e.KeyData != Keys.Delete)
            {
                return;
            }
            Logic.AccessRootUser();
            if (!PwdForm.IsPassUnLocked())
            {
                return;
            }
            var name = MyListViewEx.GetSelectedText((ListView)sender);

            // Удаление из журнала
            DailyVisits.GetInstance().RemoveFromLog(name[1], typeWorkout);
            // Удаление с экрана
            MyListViewEx.RemoveSelectedItem((ListView)sender);
            PwdForm.LockPassword();
        }
コード例 #12
0
        private void button_AddEmploee_Click(object sender, EventArgs e)
        {
            // Входная проверка
            if (string.IsNullOrEmpty(textBox_FiO.Text) || string.IsNullOrWhiteSpace(textBox_FiO.Text))
            {
                MessageBox.Show(@"Введите Имя работника", @"Не корректные данные", MessageBoxButtons.OK, MessageBoxIcon.None);
                return;
            }

            var empl      = GetCurrentEmploeeInfo();
            var isSuccess = Logic.EmployeeAdd2DataBase(empl);

            if (!isSuccess)
            {
                return;             // Если не добаавили в базу работника(Уже существует). Выходим
            }
            // В какой лист добавлять. Тренер или Админ
            var lv = empl.IsTrener ? listView_Tren : listView_Admins;

            // Добавляем в список
            MyListViewEx.AddNote(lv, empl.Name);
        }
コード例 #13
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            StartTimer(); // Инициализация Таймера для Часов

            // Подписка на события в пользовательской Базе Данных
            DataBaseLevel.PersonsListChangedEvent += UpdateFindComboBoxMenu;  // Список клиентов в окне Поиска. Автоматически,когда изменяется самая главная коллекция с клиентами.
            DataBaseLevel.PersonsListChangedEvent += SetNumberTotalPersons;   // Счетчик пользователей
            DataBaseLevel.PersonsListChangedEvent += UpdateBirthDateComboBox; // Поле Сегодняшних Дней рождений

            DataBaseLevel.OnListChanged();                                    // Событие запускающееся при изменении количества Клиентов в списке.

            // События для Колонок и  т д
            DailyVisits.NumberDailyPersonsEvent    += DailyVisits_NumberDailyPersonsEvent;   // Счетчик пользователей
            _dailyVisits.GymListChangedEvent       += DailyVisits_GymCollectionChanged;      // Тренажерка
            _dailyVisits.PersonalListChangedEvent  += DailyVisits_PersonalListChangedEvent;  // Персоналки
            _dailyVisits.AerobListChangedEvent     += DailyVisits_AerobListChangedEvent;     // Аэробный
            _dailyVisits.MiniGroupListChangedEvent += DailyVisits_MiniGroupListChangedEvent; // Минигруппы

            // Загрузка последних посещений на сегодняшнюю дату
            // Загрузка в DataBaseLevel через десериализацию.

            _dailyVisits.ShowVisits(DateTime.Now);

            // Изменение размера приводит к увеличению последней колонки до максимума
            MyListViewEx.MaximizeLastColumn(listView_Gym_Zal);
            MyListViewEx.MaximizeLastColumn(listView_Group);
            MyListViewEx.MaximizeLastColumn(listView_Personal);
            MyListViewEx.MaximizeLastColumn(listView_MiniGroup);

            // Показать окно выбора Администратора
            Logic.SelectCurentAdmin();

            // Всплывающие подсказки
            toolTip1.SetToolTip(tableLayoutPanel1, "Для удаления записы, выделите и нажмите клавишу Delete на клавиатуре");
            toolTip1.SetToolTip(monthCalendar1, "Для просмотра посещений по дням - выберите необходимую дату.");
        }
コード例 #14
0
        private void listView_schedule_SelectedIndexChanged(object sender, EventArgs e)
        {
            var selectedListViewItem = new ListView.SelectedListViewItemCollection(listView_schedule);

            var isSuccess = MyListViewEx.GetSelectedItems(listView_schedule, ref selectedListViewItem);

            // ДеАктивация/Активация кнопки Удалить из расписания
            button_remove_sched.Enabled = isSuccess;

            if (!isSuccess)
            {
                return;             //выход Если ничего не выбрано
            }
            var itemRow = MyListViewEx.GetSelectedText(listView_schedule);

            if (itemRow == null)
            {
                return;
            }
            // Отображаем выбранный элемент в окне редактирования
            comboBox_time_H.Text  = itemRow[0].Split(':')[0];
            comboBox_time_M.Text  = itemRow[0].Split(':')[1];
            textBox_nameTren.Text = itemRow[1];
        }
コード例 #15
0
 private void MainForm_SizeChanged(object sender, EventArgs e)
 {
     MyListViewEx.MaximizeLastColumn(listView_Gym_Zal);
     MyListViewEx.MaximizeLastColumn(listView_Group);
     MyListViewEx.MaximizeLastColumn(listView_Personal);
 }
コード例 #16
0
 private void BossForm_SizeChanged(object sender, EventArgs e)
 {
     MyListViewEx.MaximizeLastColumn(listView_schedule);
     MyListViewEx.MaximizeFirstColumn(listView_Tren);
     MyListViewEx.MaximizeFirstColumn(listView_Admins);
 }