private async void dateTimePicker_Visit_ValueChanged(object sender, EventArgs e)
        {
            var lVisit = dateTimePicker_Visit.Value.Date;

            if (lVisit.CompareTo(DateTime.Now.Date) > 0)
            {
                dateTimePicker_Visit.Value = DateTime.Now;
                return;
            }

            // Если последний визит не важен -выходим
            if (lVisit.CompareTo(DateTime.Now.Date) == 0)
            {
                _reqLastVisit = _personsAll.Values;
            }
            else
            {
                var fullJournal       = DataBaseLevel.GetPersonsVisitDict();
                var resultByCondition = fullJournal.Where(x => x.Value.Any(y => y.DateTimeVisit.Date.CompareTo(lVisit) == 0)).Select(x => x.Key);
                var resultConverted   = resultByCondition.Select(PersonObject.GetLink);
                _reqLastVisit = resultConverted.ToList();
            }
            var result = await GetUpdatedRequestsAsync();

            ShowPersons(result);
        }
Exemple #2
0
        /// <summary>
        /// Метод пытается изменить Имя Клиента. Если Успешно, переименовывает файл с фотографией и перезаписывает Путь до фотки
        /// </summary>
        /// <param name="curentName"></param>
        /// <param name="newName"></param>
        /// <returns></returns>
        public static bool ChangePersonName(string curentName, string newName)
        {
            if (String.IsNullOrEmpty(curentName) || String.IsNullOrEmpty(newName))
            {
                return(false);
            }

            var oldName = String.Copy(curentName);
            // Получаем обьекты для работы
            var person = PersonObject.GetLink(oldName);

            // Если текущее имя совпадает с новым
            if (person.Name == newName)
            {
                return(false);
            }
            // Пытаемся переименовать старое имя в новое
            var isSuccess = DataBaseLevel.PersonEditName(person.Name, newName);

            // Переименование коллекции с Посещениями
            if (isSuccess)
            {
                DataBaseLevel.GetPersonsVisitDict().RenameKey(oldName, PrepareName(newName));
                DataBaseLevel.GetPersonsAbonHistDict().RenameKey(oldName, PrepareName(newName));
            }

            // Переименование файлов и Пути к фотке
            if (isSuccess)
            {
                var isRenamedOk = MyFile.TryRenameFile(person.PathToPhoto, newName);
                if (isRenamedOk)
                {
                    DataBaseM.EditPathToPhoto(newName, newName);
                }
            }

            // Переименование в контроллере абонементов
            if (isSuccess)
            {
                AbonementController.GetInstance().GetPersonsDictn().RenameKey(oldName, PrepareName(newName));
            }
            //

            return(isSuccess);
        }
        private async void comboBox_LastVisit_SelectedIndexChanged(object sender, EventArgs e)
        {
            var lVisit = MyComboBox.GetComboBoxValue(comboBox_LastVisit);

            // Если последний визит не важен -выходим
            if (lVisit.Equals(_lastVisits[0]))
            {
                _reqLastVisit = _personsAll.Values;
            }
            else
            {
                var dataInPast        = DateTime.Now.Subtract(new TimeSpan(30, 0, 0, 0)).Date;//Вычитаем 30 дней
                var fullJournal       = DataBaseLevel.GetPersonsVisitDict();
                var resultByCondition = fullJournal.Where(x => x.Value?.Last().DateTimeVisit.CompareTo(dataInPast) <= 0).Select(x => x.Key);
                var resultConverted   = resultByCondition.Select(PersonObject.GetLink);
                _reqLastVisit = resultConverted.ToList();
            }
            var result = await GetUpdatedRequestsAsync();

            ShowPersons(result);
        }
Exemple #4
0
        public static bool RemovePerson()
        {
            if (!FormsRunner.RunSelectPersonForm(out var selectedName, "УДАЛЕНИЕ КЛИЕНТА"))
            {
                return(false);
            }

            if (String.IsNullOrEmpty(selectedName))
            {
                return(false);
            }

            var res = MessageBox.Show($@"{selectedName}", @"Удалить клиента из базы???", MessageBoxButtons.YesNo,
                                      MessageBoxIcon.Question);

            if (res == DialogResult.No)
            {
                return(false);
            }

            var response = DataBaseLevel.PersonRemove(selectedName);

            if (response == ResponseCode.Success)
            {
                // Удаляем из журнала посещений данные о selectedName клиенте
                if (DataBaseLevel.GetPersonsVisitDict().ContainsKey(selectedName))
                {
                    DataBaseLevel.GetPersonsVisitDict().Remove(selectedName);
                }

                // Удаляем из журнала посещений данные о selectedName клиенте
                if (DataBaseLevel.GetPersonsAbonHistDict().ContainsKey(selectedName))
                {
                    DataBaseLevel.GetPersonsAbonHistDict().Remove(selectedName);
                }
            }

            SaveEverithing();
            return(response == ResponseCode.Success);
        }