Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using RSE.Core;
- using RSE.Core.Helpers;
- using RSE.Core.Interfaces;
- using RSE.Core.Models;
- using System;
- using System.Collections.Generic;
- using System.Linq;
- 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.Shapes;
- namespace RSE
- {
- /// <summary>
- /// Логика взаимодействия для NewLoginWindow.xaml
- /// </summary>
- public partial class NewLoginWindow : Window
- {
- public NewLoginWindow()
- {
- InitializeComponent();
- }
- IRepository _repo = Factory.Instance.GetRepository();
- public event Action RegistrationFinished;
- private void ButtonRegister_Click(object sender, RoutedEventArgs e)
- {
- var user = new User
- {
- Login = TextBox_Login.Text,
- Password = PasswordHelper.GetHash(PasswordBox_Password.Password)
- };
- try
- {
- _repo.RegisterUser(user);
- RegistrationFinished?.Invoke();
- ChooseVariant chooseVariant = new ChooseVariant();
- chooseVariant.Show();
- Close();
- }
- catch
- {
- MessageBox.Show("An error occured trying to save new user");
- }
- }
- private void ButtonLogin_Click(object sender, RoutedEventArgs e)
- {
- if (_repo.Authorize(TextBox_Login.Text, PasswordBox_Password.Password))
- {
- ChooseVariant chooseVariant = new ChooseVariant();
- chooseVariant.Show();
- Hide();
- }
- }
- }
- }
- <Window x:Class="RSE.NewLoginWindow"
- xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
- xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
- xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
- xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
- xmlns:local="clr-namespace:RSE"
- mc:Ignorable="d"
- xmlns:wpf="clr-namespace:RSE"
- xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
- Title="Login" Height="350" Width="280" WindowStyle="None" Background="Transparent">
- <Grid Background="White" >
- <Grid>
- <StackPanel Margin="10,0,30,0" >
- <TextBlock Text="Russian State Exam" FontSize="24" FontFamily="Segoe UI Black" Margin="0, 25, 0,0" Foreground="Black" FontWeight="Bold"/>
- <StackPanel Margin=" 0, 30" Orientation="Horizontal">
- <materialDesign:PackIcon Kind="Account" VerticalAlignment="Center" Foreground="#707070"/>
- <TextBox Name="TextBox_Login" Width="250" Margin="0, 0, 0, 10" materialDesign:HintAssist.Hint="login" />
- </StackPanel>
- <StackPanel Orientation="Horizontal">
- <materialDesign:PackIcon Kind="Key" VerticalAlignment="Center" Foreground="#707070"/>
- <PasswordBox Name="PasswordBox_Password" Width="250" materialDesign:HintAssist.Hint="Password" Margin="10"/>
- </StackPanel>
- <StackPanel VerticalAlignment="Center" Orientation="Horizontal" />
- <Button VerticalAlignment="Center" Click="ButtonLogin_Click" Content="Login" FontFamily="Impact" Margin="20" FontSize="14" Width="80" Background="#FF4E299E" BorderBrush="#FF307CD6"/>
- <Button VerticalAlignment="Center" Click="ButtonRegister_Click" Content="Register" FontFamily="Impact" FontSize="14" Width="80" Background="#FF4E299E" BorderBrush="#FF307CD6" />
- </StackPanel>
- </Grid>
- </Grid>
- </Window>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement