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