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); }
/// <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); }
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); }