예제 #1
0
        public static bool SellAbonement()
        {
            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 isSuccess = AddAbonement(selectedName);

            AbonementController.GetInstance().Save();
            return(isSuccess);
        }
예제 #2
0
 public static void SaveEverithing()
 {
     lock (_locker)
     {
         Options.SaveProperties(); // Сохранение пользовательских настроек
         DataBaseLevel.SerializeObjects();
         AbonementController.GetInstance().Save();
     }
 }
예제 #3
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 static AbonementController _instance; //Singleton.

        public static AbonementController GetInstance()
        {
            return(_instance ?? (_instance = new AbonementController()));
        }