Ejemplo n.º 1
0
        /// <summary>
        /// Запускается автоматически в цепочке делегатов SaveDelegateChain. SaveData()
        /// </summary>
        private void SaveUserData()
        {
            if (_editedPhone != null && _editedPhone != _person.Phone)
            {
                _person.Phone = _editedPhone;
            }
            if (_editedPassport != null && _editedPassport != _person.Passport)
            {
                _person.Passport = _editedPassport;
            }
            if (_editedDriveId != null && _editedDriveId != _person.DriverIdNum)
            {
                _person.DriverIdNum = _editedDriveId;
            }
            if (_editedDr.CompareTo(_person.BirthDate) != 0)
            {
                _person.BirthDate = _editedDr;
            }
            if (!Equals(_editedGender, _person.GenderType))
            {
                _person.GenderType = _editedGender;
            }

            if (!_editedPersonalNumber.Equals(_person.IdString))
            {
                DataBaseM.EditPersonalNumber(_person.Name, _editedPersonalNumber);
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Инициализация ДатаГрид. Выводится стартовый список клиентов тоже тут.
        /// </summary>
        private void InitDataGridView()
        {
            var dt = DataBaseM.CreatePersonsTable(_personsAll.Values, DataBaseM.GetPersonFieldsShort);

            MyDataGridView.SetSourceDataGridView(dataGridView_Persons, dt);
            MyDataGridView.ImplementStyle(dataGridView_Persons);
        }
Ejemplo n.º 3
0
        private bool IsPersonNumberOk(string number)
        {
            var isExist = DataBaseM.FindByPersonalNumber(DataBaseLevel.GetPersonsList(), number, out var person);

            if (!isExist)
            {
                _dataStruct.IdString = Logic.NormalizeBarCodeNumber(number);
            }
            return(!isExist);
        }
Ejemplo n.º 4
0
        private void button_Click_SaveExcel(object sender, EventArgs e)
        {
            if (DataBaseLevel.GetNumberOfPersons() == 0)
            {
                MessageBox.Show(@"В Базе нет клиентов");
            }
            var personsSelected = GetUpdatedRequests();
            var table           = DataBaseM.CreatePersonsTable(personsSelected, DataBaseM.GetPersonFieldsFull);

            MyFile.ExportToExcel(table, true);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Обработчик события вызывается когда в переменную BarCodeString записывается текст с номером.
        /// Метод Парсит текст, запускает поиск в коллекции Персон по номеру ID. Если найден - записывает Имя клиента в _nameFinded
        /// и возвращает DialogResult.Ok
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void BarCodeForm_BarcodeStringChanged(object sender, EventArgs e)
        {
            var isFinded = DataBaseM.FindByPersonalNumber(DataBaseLevel.GetPersonsList(), BarCodeString, out var person);

            if (isFinded)
            {
                _nameFinded  = person.Name;
                DialogResult = DialogResult.OK;
            }
            textBox_Code.Text = "";
        }
Ejemplo n.º 6
0
        private bool IsDriveIdOk(string text)
        {
            var person = DataBaseM.FindByDriveId(_persons, text);

            _dataStateOk.DriveId = (person == null) && !string.IsNullOrEmpty(text) && !string.IsNullOrWhiteSpace(text) && !text.Equals(_maskDriverId);

            if (_dataStateOk.DriveId)
            {
                _dataStruct.DriveId = text;
                return(true);
            }
            _dataStruct.DriveId = "";
            return(false);
        }
Ejemplo n.º 7
0
        private async void сохранитьВExcelToolStripMenuItem_Click(object sender, EventArgs e)
        {
            if (DataBaseLevel.GetNumberOfPersons() == 0)
            {
                MessageBox.Show(@"В Базе нет клиентов");
                return;
            }

            //Сохраним и Базу данных
            Logic.SaveEverithing();
            // Сохранение в Excel
            var table = DataBaseM.CreatePersonsTableAsync();

            MyFile.ExportToExcel(await table, true);
        }
Ejemplo n.º 8
0
        private bool IsPassportOk(string text)
        {
            var person = DataBaseM.FindByPassport(_persons, text);

            _dataStateOk.Passport = (person == null) && !string.IsNullOrEmpty(text) && !string.IsNullOrWhiteSpace(text) && !text.Equals(_maskPassport);

            if (!_dataStateOk.Passport)
            {
                _dataStruct.Passport = "";
                return(false);
            }
            _dataStruct.Passport = text;

            return(true);
        }
Ejemplo n.º 9
0
        /// <summary>
        /// Проверка на наличие телефонного номера в базе
        /// </summary>
        /// <param name="text"></param>
        /// <returns></returns>
        private bool IsPhoneExists(string text)
        {
            var person = DataBaseM.FindByPhone(_persons, text);

            _dataStateOk.Phone = (person == null);

            if (!_dataStateOk.Phone)
            {
                _dataStruct.Phone = "";
                return(false);
            }
            _dataStruct.Phone = text;

            return(true);
        }
Ejemplo n.º 10
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.º 11
0
        private void button_Add_New_Person_Click(object sender, EventArgs e)
        {
            if (!IsNameOk(comboBox_Names.Text) || comboBox_Names.Text.Length < 3)
            {
                ButtonAddEnable(false);
                return;
            }

            var p      = Logic.CreateNewPerson(_dataStruct);
            var result = DataBaseLevel.PersonAdd(p);

            if (result == ResponseCode.Success)
            {
                DialogResult = DialogResult.OK;
            }
            else
            {
                DataBaseM.ExplainResponse(result);
            }
        }
Ejemplo n.º 12
0
        /// <summary>
        /// Выводит в DataGrid всех Клиентов из коллекции которую подавать на вход надо
        /// </summary>
        /// <param name="personsToShow"></param>
        private async void ShowPersons(IEnumerable <Person> personsToShow)
        {
            var dt = await Task.Run(() => DataBaseM.CreatePersonsTable(personsToShow, DataBaseM.GetPersonFieldsShort));

            MyDataGridView.SetSourceDataGridView(dataGridView_Persons, dt);
        }