Ejemplo n.º 1
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);
        }
Ejemplo n.º 2
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);
        }