예제 #1
0
        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}", "Окей");
예제 #2
0
        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("Внимание", "Призывник не найден", "Окей");
                    }
                }
        }
예제 #3
0
        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
                });
            }
        }