/// <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); } }
/// <summary> /// Инициализация ДатаГрид. Выводится стартовый список клиентов тоже тут. /// </summary> private void InitDataGridView() { var dt = DataBaseM.CreatePersonsTable(_personsAll.Values, DataBaseM.GetPersonFieldsShort); MyDataGridView.SetSourceDataGridView(dataGridView_Persons, dt); MyDataGridView.ImplementStyle(dataGridView_Persons); }
private bool IsPersonNumberOk(string number) { var isExist = DataBaseM.FindByPersonalNumber(DataBaseLevel.GetPersonsList(), number, out var person); if (!isExist) { _dataStruct.IdString = Logic.NormalizeBarCodeNumber(number); } return(!isExist); }
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); }
/// <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 = ""; }
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); }
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); }
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); }
/// <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); }
/// <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 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); } }
/// <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); }