123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990 |
- using Newtonsoft.Json;
- using esoft.Class;
- using esoft.Entities;
- using esoft.Models.Respounce;
- using System;
- using System.Collections.Generic;
- using System.IO;
- using System.Linq;
- using System.Net;
- using System.Net.Http;
- using System.Security.Cryptography;
- using System.Text;
- using System.Threading.Tasks;
- using System.Windows;
- using System.Windows.Controls;
- using System.Windows.Data;
- using System.Windows.Documents;
- using System.Windows.Input;
- using System.Windows.Media;
- using System.Windows.Media.Imaging;
- using System.Windows.Navigation;
- using System.Windows.Shapes;
- namespace esoft.Pages
- {
- /// <summary>
- /// Логика взаимодействия для LoginPage.xaml
- /// </summary>
- public partial class LoginPage : Page
- {
- ActualContext actualContext = new ActualContext();
- private const string apiUrl = "http://localhost:55429/api/Users/";
- public LoginPage()
- {
- InitializeComponent();
- }
- private async void BtnLogin_Click(object sender, RoutedEventArgs e)
- {
- // Получение логина и пароля из текстовых полей
- string username = TBoxLogin.Text;
- string password = PBoxPassword.Password;
- // Отправка запроса к API
- var user = await GetUserFromApi(username);
- if (user != null && user.Password == password && !user.IsDeleted)
- {
- // Успешная авторизация
- GetCurrent.CurrentUser = user;
- // Перенаправление пользователя на страницу с задачами
- NavigationService.Navigate(new Pages.TaskLists());
- }
- else
- {
- // Ошибка авторизации
- MessageBox.Show("Ошибка авторизации. Пожалуйста, проверьте логин и пароль.");
- }
- }
- private async Task<User> GetUserFromApi(string username)
- {
- using (HttpClient client = new HttpClient())
- {
- try
- {
- // Отправка GET-запроса к API
- var response = await client.GetStringAsync(apiUrl);
- // Десериализация JSON-ответа в объект User
- var users = JsonConvert.DeserializeObject<List<User>>(response);
- // Поиск пользователя по логину
- var user = users.FirstOrDefault(u => u.Login == username);
- return user;
- }
- catch (Exception ex)
- {
- // Обработка ошибок
- MessageBox.Show($"Ошибка при получении данных с сервера: {ex.Message}");
- return null;
- }
- }
- }
- }
- }
|