Загрузка данных
using Intents;
using Security;
using System.ComponentModel;
namespace MauiApp1;
public partial class MainPage : ContentPage
{
public MainPage()
{
InitializeComponent();
}
private string connectionString = "Data Source=\"stud-mssql.sttec.yar.ru, 38325\"; Persist Security Info=false; User ID = user300_db; Password = user300; Pooling = false; MultipleActiveResultSets=false;Encrypt=true;TrustServerCertificate=true;";
private async void OnLoginClicked(object sender, EventArgs e)
{
string username = UsernameEntry.Text;
string password = PasswordEntry.Text;
// Сбрасываем ошибки
ErrorBorder.IsVisible = false;
LoginButton.IsEnabled = false;
LoginButton.Text = "Вход...";
try
{
using (var connection = new SqlConnection(connectionString))
{
connection.Open();
string sql = "SELECT FullName, Role, [Group] FROM users WHERE Username = @Username AND Password = @Password";
using (var command = new SqlCommand(sql, connection))
{
command.Parameters.AddWithValue("@Username", username);
command.Parameters.AddWithValue("@Password", password);
using (var reader = command.ExecuteReader())
{
if (reader.Read())
{
string fullName = reader["FullName"].ToString();
string role = reader["Role"].ToString();
string group = reader[""].ToString();
if(Application.Current?.MainPage is AppShell shell)
{
shell.SetUserInfo(fullName, role);
}
await Navigation.PushAsync(new ProfilePage());
await DisplayAlert("Успешный вход",$"Добро пожаловать, {fullName}!","ОК");
}
else
{
ErrorLabel.Text = "Неверный логин или пароль. Проверьте правильность введенных данных.";
ErrorBorder.IsVisible = true;
}
}
}
}
}
catch (Exception ex)
{
ErrorLabel.Text = $"Ошибка подключения к системе: {ex.Message}";
ErrorBorder.IsVisible = true;
}
finally
{
LoginButton.IsEnabled = true;
LoginButton.Text = "Войти";
}
}
}
<?xml version="1.0" encoding="utf-8" ?>
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
x:Class="MauiApp1.MainPage">
<ScrollView Padding="20">
<StackLayout Spacing="10">
<Label Text="Регистрация почтового ящика" FontSize="20" HorizontalOptions="Center"/>
<Entry x:Name="UsernameEntry" Placeholder="Имя пользователя" />
<Label Text="Дата рождения" />
<DatePicker x:Name="BirthDatePicker" />
<Entry x:Name="CityEntry" Placeholder="Город" />
<Label Text="Пол" />
<StackLayout Orientation="Horizontal" Spacing="20">
<RadioButton x:Name="MaleRadio" Content="Мужской" GroupName="Gender" />
<RadioButton x:Name="FemaleRadio" Content="Женский" GroupName="Gender" />
</StackLayout>
<Entry x:Name="PasswordEntry" Placeholder="Пароль" IsPassword="True" />
<Entry x:Name="RepeatPasswordEntry" Placeholder="Повторите пароль" IsPassword="True" />
<Picker x:Name="SecurityQuestionPicker" Title="Выберите вопрос">
<Picker.Items>
<x:String>Ваш первый автомобиль?</x:String>
<x:String>Название вашего первого питомца?</x:String>
<x:String>Ваш школьный учитель?</x:String>
</Picker.Items>
</Picker>
<Entry x:Name="SecurityAnswerEntry" Placeholder="Ответ" />
<Button Text="Зарегистрироваться" BackgroundColor="#0078D7" TextColor="White" Clicked="OnRegisterClicked"/>
</StackLayout>
</ScrollView>
</ContentPage>