#41 C# WPF UI - Обновление профиля пользователя
00:00 Введение -Обновление данных пользователя: имя, фамилия, логин, адрес электронной почты. -Интеграция с сервером. 00:24 Исправление ошибки в Word -Ошибка в вычислении положения окна при развёртывании. -Благодарность пользователю за обнаружение и исправление ошибки. -Внесено исправление в исходный код. 02:22 Исправление интерфейса -Добавление поля «фамилия» в пользовательский интерфейс. -Редактирование модели представления настроек. 04:11 Работа с командами -Создание команд для сохранения имени и фамилии. -Обновление команд в конструкторе. 06:03 Обновление модели проектирования -Ввод имени и фамилии в модель проектирования. -Повторное использование элемента управления. 07:00 Получение учётных данных -Получение текущих учётных данных пользователя. -Обновление имени пользователя. 07:58 Обновление сервера -Отправка веб-запроса для обновления профиля пользователя. -Передача токена на предъявителя. 09:34 Обработка ответа -Проверка ответа API на наличие ошибок. 09:51 Исправление общего результата веб-запроса -Удаление общего результата веб-запроса для ответа API. -Проверка, является ли ответ сервера ответом API, и приведение его к типу ответа API. -Обнуление значения, если ответ не является ответом API. 10:48 Проверка типа ответа -Проверка, является ли ответ сервера ответом API, и продолжение логики в зависимости от результата. -Создание переменной API response для хранения приведённого ответа сервера. 11:52 Отображение сообщений об ошибках -Отображение сообщения об ошибке, содержащегося в ответе, вместо пользовательского сообщения. -Добавление описания статуса и кода состояния в сообщение об ошибке. 13:29 Обновление пользователя и сохранение данных -Обновление учётных данных пользователя и сохранение их в хранилище данных. -Проверка сохранения токена и возврат результата. 15:47 Тестирование обновления данных -Перезапуск приложения для проверки обновления данных. -Проверка базы данных SQL Management Studio и SQLite для подтверждения обновления. 17:45 Проверка ошибок и обновление ДНК-фреймворка -Проверка сообщения об ошибке при неудачном обновлении имени пользователя. -Обновление ДНК-фреймворка для улучшения сообщений об ошибках. 18:43 Проверка изменений и блокировка вызовов -Проверка наличия изменений в учётных данных перед обновлением. -Блокировка вызовов для обеспечения единого доступа к проверке. 20:37 Создание транзакционных свойств -Создание новых транзакционных свойств для управления сохранением данных. -Логическое значение для указания, сохраняется ли имя пользователя. 21:55 Транзакционные свойства и асинхронные функции -Обсуждение транзакционных свойств и команды «Выполнить». -Упоминание асинхронной функции, возвращающей значение. 22:54 Настройка типа возвращаемого значения -Введение параметра типа для возвращаемого значения. -Установка значения по умолчанию для случая, когда команда уже запущена. 23:46 Значение по умолчанию и его применение -Объяснение значения по умолчанию и его роли в случае повторного запуска команды. -Пример с командой входа в систему и ожидаемым токеном. 24:44 Блокировка первого вызова и добавление логгеров -Блокировка первого вызова имени для выполнения только один раз. -Добавление логгеров для отладочной информации. 25:40 Ведение журнала и обновление имени -Запись сохранённого имени в журнал. -Обновление имени и проверка успешности операции. 27:32 Проверка журнала и отладка -Запуск кода и проверка журнала. -Использование отладки для анализа информации. 29:24 Повторное использование логики -Блокировка команды для игнорирования других запросов. -Создание функции для повторного использования логики обновления и ведения журнала. 30:16 Обновление учётных данных пользователя -Вызов функции для обновления учётных данных пользователя. 30:31 Создание частного помощника -Представление метода частного помощника как асинхронной задачи. -Обновление конкретного значения в учётных данных пользователя. -Необходимость получения имени пользователя и исходного текста для журналов. 31:30 Гибкость и учётные данные -Возможность ввода модели представления ввода текста для ограничения процесса. -Получение текущего значения из учётных данных. -Перенос кода в функцию и ожидание возврата логического значения. 32:24 Отображаемое имя и обновление свойств 33:20 Получение и обновление свойств 34:13 Обновление имени пользователя 35:05 Использование лямбда-функций 35:59 Получение значения свойства 36:58 Получение значения свойства 37:46 Обновление свойства 38:46 Установка значения свойства 39:40 Динамический вызов 40:17 Обновление профиля пользователя 41:18 Абстрагирование логики обновления 42:17 Использование отражения 45:26 Универсальность функции 50:06 Тестирование функции 51:35 Обновление имени пользователя 52:30 Редактирование имени пользователя 53:29 Изменение адреса электронной почты 54:17 Подтверждение изменений 55:13 Завершение настроек пользователя 56:12 Заключение
00:00 Введение -Обновление данных пользователя: имя, фамилия, логин, адрес электронной почты. -Интеграция с сервером. 00:24 Исправление ошибки в Word -Ошибка в вычислении положения окна при развёртывании. -Благодарность пользователю за обнаружение и исправление ошибки. -Внесено исправление в исходный код. 02:22 Исправление интерфейса -Добавление поля «фамилия» в пользовательский интерфейс. -Редактирование модели представления настроек. 04:11 Работа с командами -Создание команд для сохранения имени и фамилии. -Обновление команд в конструкторе. 06:03 Обновление модели проектирования -Ввод имени и фамилии в модель проектирования. -Повторное использование элемента управления. 07:00 Получение учётных данных -Получение текущих учётных данных пользователя. -Обновление имени пользователя. 07:58 Обновление сервера -Отправка веб-запроса для обновления профиля пользователя. -Передача токена на предъявителя. 09:34 Обработка ответа -Проверка ответа API на наличие ошибок. 09:51 Исправление общего результата веб-запроса -Удаление общего результата веб-запроса для ответа API. -Проверка, является ли ответ сервера ответом API, и приведение его к типу ответа API. -Обнуление значения, если ответ не является ответом API. 10:48 Проверка типа ответа -Проверка, является ли ответ сервера ответом API, и продолжение логики в зависимости от результата. -Создание переменной API response для хранения приведённого ответа сервера. 11:52 Отображение сообщений об ошибках -Отображение сообщения об ошибке, содержащегося в ответе, вместо пользовательского сообщения. -Добавление описания статуса и кода состояния в сообщение об ошибке. 13:29 Обновление пользователя и сохранение данных -Обновление учётных данных пользователя и сохранение их в хранилище данных. -Проверка сохранения токена и возврат результата. 15:47 Тестирование обновления данных -Перезапуск приложения для проверки обновления данных. -Проверка базы данных SQL Management Studio и SQLite для подтверждения обновления. 17:45 Проверка ошибок и обновление ДНК-фреймворка -Проверка сообщения об ошибке при неудачном обновлении имени пользователя. -Обновление ДНК-фреймворка для улучшения сообщений об ошибках. 18:43 Проверка изменений и блокировка вызовов -Проверка наличия изменений в учётных данных перед обновлением. -Блокировка вызовов для обеспечения единого доступа к проверке. 20:37 Создание транзакционных свойств -Создание новых транзакционных свойств для управления сохранением данных. -Логическое значение для указания, сохраняется ли имя пользователя. 21:55 Транзакционные свойства и асинхронные функции -Обсуждение транзакционных свойств и команды «Выполнить». -Упоминание асинхронной функции, возвращающей значение. 22:54 Настройка типа возвращаемого значения -Введение параметра типа для возвращаемого значения. -Установка значения по умолчанию для случая, когда команда уже запущена. 23:46 Значение по умолчанию и его применение -Объяснение значения по умолчанию и его роли в случае повторного запуска команды. -Пример с командой входа в систему и ожидаемым токеном. 24:44 Блокировка первого вызова и добавление логгеров -Блокировка первого вызова имени для выполнения только один раз. -Добавление логгеров для отладочной информации. 25:40 Ведение журнала и обновление имени -Запись сохранённого имени в журнал. -Обновление имени и проверка успешности операции. 27:32 Проверка журнала и отладка -Запуск кода и проверка журнала. -Использование отладки для анализа информации. 29:24 Повторное использование логики -Блокировка команды для игнорирования других запросов. -Создание функции для повторного использования логики обновления и ведения журнала. 30:16 Обновление учётных данных пользователя -Вызов функции для обновления учётных данных пользователя. 30:31 Создание частного помощника -Представление метода частного помощника как асинхронной задачи. -Обновление конкретного значения в учётных данных пользователя. -Необходимость получения имени пользователя и исходного текста для журналов. 31:30 Гибкость и учётные данные -Возможность ввода модели представления ввода текста для ограничения процесса. -Получение текущего значения из учётных данных. -Перенос кода в функцию и ожидание возврата логического значения. 32:24 Отображаемое имя и обновление свойств 33:20 Получение и обновление свойств 34:13 Обновление имени пользователя 35:05 Использование лямбда-функций 35:59 Получение значения свойства 36:58 Получение значения свойства 37:46 Обновление свойства 38:46 Установка значения свойства 39:40 Динамический вызов 40:17 Обновление профиля пользователя 41:18 Абстрагирование логики обновления 42:17 Использование отражения 45:26 Универсальность функции 50:06 Тестирование функции 51:35 Обновление имени пользователя 52:30 Редактирование имени пользователя 53:29 Изменение адреса электронной почты 54:17 Подтверждение изменений 55:13 Завершение настроек пользователя 56:12 Заключение




