private Task MrzViewerPage_OnMrzDetectedAsync(object sender, MrzProcessedEventArgs e) => DisplayAlert("Успех", $@"ФИО: {e.Result.LastName} {e.Result.FirstName} {e.Result.Patronymic} Дата рождения: {e.Result.BirthDate.ToShortDateString()} Паспорт: {e.Result.PassportSerial} Дата выдачи паспорта: {e.Result.PassportIssueDate.ToShortDateString()} Код подразделения: {e.Result.PassportDivisionCode}", "Окей");
private async Task MrzVerifierPage_OnMrzDetectedAsync(object sender, MrzProcessedEventArgs e) { var sql = $@" SELECT last_name, first_name, patronymic, birth_date, passport_issue_date, passport_division_code, birth_place, passport_issue FROM person WHERE passport_serial = '{e.Result.PassportSerial}'"; using (var sqlcmd = new SqlCommandExecutor(sql)) using (var sqlReader = sqlcmd.ExecuteReader()) { if (sqlReader.Read()) { var lastNameSQL = sqlReader.GetString(0).Replace('-', ' '); var fisrtNameSQL = sqlReader.GetString(1).Replace('-', ' '); var patronymicSQL = sqlReader.GetString(2).Replace('-', ' '); var birthDateSQL = sqlReader.GetDateTime(3); var passportDateSQL = sqlReader.GetDateTime(4); var passportDCSQL = sqlReader.GetString(5); var birthPlace = sqlReader.GetString(6); var passportIssue = sqlReader.GetString(7); bool err = false; if (!e.Result.LastName.Equals(lastNameSQL, StringComparison.OrdinalIgnoreCase)) { await DisplayAlert("Ошибка", $@"Имя (ДБ|Копия) {lastNameSQL} | {e.Result.LastName}", "Окей"); err = true; } if (!e.Result.FirstName.Equals(fisrtNameSQL, StringComparison.OrdinalIgnoreCase)) { await DisplayAlert("Ошибка", $@"Фамилия (ДБ|Копия) {fisrtNameSQL} | {e.Result.FirstName}", "Окей"); err = true; } if (!e.Result.Patronymic.Equals(patronymicSQL, StringComparison.OrdinalIgnoreCase)) { await DisplayAlert("Ошибка", $@"Отчество (ДБ|Копия) {patronymicSQL}| {e.Result.Patronymic}", "Окей"); err = true; } if (!e.Result.BirthDate.Equals(birthDateSQL)) { await DisplayAlert("Ошибка", $@"Дата рождения (ДБ|Копия) {birthDateSQL} | {e.Result.BirthDate}", "Окей"); err = true; } if (!e.Result.PassportIssueDate.Equals(passportDateSQL)) { await DisplayAlert("Ошибка", $@"Дата паспорта (ДБ|Копия) {passportDateSQL} | {e.Result.PassportIssueDate}", "Окей"); err = true; } if (!e.Result.PassportDivisionCode.Equals(passportDCSQL)) { await DisplayAlert("Ошибка", $@"Код подразделения (ДБ|Копия) {passportDCSQL} | {e.Result.PassportDivisionCode}", "Окей"); err = true; } if (!err) { await DisplayAlert("Успех", $@"Данные верны Место рождения: {birthPlace} Паспорт выдан:\n{passportIssue}", "Окей"); } } else { await DisplayAlert("Внимание", "Призывник не найден", "Окей"); } } }
private async Task MrzViewerPage_OnMrzDetected(object sender, MrzProcessedEventArgs e) { e.Result.Normalize(); var result = LoadedPersons.SingleOrDefault(p => p.PassportSerial.Equals(e.Result.PassportSerial)); if (result != null) { bool err = false; if (!result.LastName.Equals(e.Result.LastName)) { err = true; var res = await DisplayActionSheet( $@"Имя {result.LastName} | {e.Result.LastName} Заменить?", "Нет", "Да"); if (res.Equals("Да", StringComparison.OrdinalIgnoreCase)) { result.LastName = e.Result.LastName; } } if (!result.FirstName.Equals(e.Result.FirstName)) { err = true; var res = await DisplayActionSheet( $@"Фамилия {result.FirstName} | {e.Result.FirstName} Заменить?", "Нет", "Да"); if (res.Equals("Да", StringComparison.OrdinalIgnoreCase)) { result.FirstName = e.Result.FirstName; } } if (!result.Patronymic.Equals(e.Result.Patronymic)) { err = true; var res = await DisplayActionSheet( $@"Отчество (Excel|Копия) {result.Patronymic} | {e.Result.Patronymic} Заменить?", "Нет", "Да"); if (res.Equals("Да", StringComparison.OrdinalIgnoreCase)) { result.Patronymic = e.Result.Patronymic; } } if (!result.BirthDate.Equals(e.Result.BirthDate)) { err = true; var res = await DisplayActionSheet( $@"Дата рождения (Excel|Копия) {result.BirthDate.ToShortDateString()} | {e.Result.BirthDate.ToShortDateString()} Заменить?", "Нет", "Да"); if (res.Equals("Да", StringComparison.OrdinalIgnoreCase)) { result.BirthDate = e.Result.BirthDate; } } if (!result.PassportIssueDate.Equals(e.Result.PassportIssueDate)) { err = true; var res = await DisplayActionSheet( $@"Дата паспорта (Excel|Копия) {result.PassportIssueDate.ToShortDateString()} | {e.Result.PassportIssueDate.ToShortDateString()} Заменить?", "Нет", "Да"); if (res.Equals("Да", StringComparison.OrdinalIgnoreCase)) { result.PassportIssueDate = e.Result.PassportIssueDate; } } if (!result.PassportDivisionCode.Equals(e.Result.PassportDivisionCode)) { err = true; var res = await DisplayActionSheet( $@"Код подразделения (Excel|Копия) {result.PassportDivisionCode} | {e.Result.PassportDivisionCode} Заменить?", "Нет", "Да"); if (res.Equals("Да", StringComparison.OrdinalIgnoreCase)) { result.PassportDivisionCode = e.Result.PassportDivisionCode; } } if (!err) { await DisplayAlert("Успех", $@"Данные верны Место рождения: {result.BirthPlace} Паспорт выдан: {result.PassportIssue} Д. телефон: {result.PhoneHome} М. телефон: {result.PhoneMobile} Кодовое слово: {result.Codeword} Военкомат: {result.RecruitmentOfficeID}", "Окей"); result.IsCorrect = true; } } else { await DisplayAlert("Ошибка!", "Призывник не найден в электронке", "Окей"); LoadedPersons.Add(new ExcelPersonExtended(new Core.Excel.ExcelPerson() { PassportSerial = e.Result.PassportSerial, LastName = e.Result.LastName, FirstName = e.Result.FirstName, Patronymic = e.Result.Patronymic, BirthDate = e.Result.BirthDate, PassportIssueDate = e.Result.PassportIssueDate, PassportDivisionCode = e.Result.PassportDivisionCode, Codeword = e.Result.LastName }) { IsCorrect = false }); } }