0

у меня есть проект WPF, в котором есть страница с личным кабинетом пользователя, я вывожу одного пользователя из бд SQLite с помощью SqlDataAdapter. Я хочу сделать так чтобы после авторизации любого другого пользователя появлялся его страничка с личным кабинетом где выводится его же Login. То есть сейчас у меня вывод происходит правильно! введите сюда описание изображения

Ну я хочу чтобы новый зарегистрированный пользователь, допустим с ником Oleg, после окна авторизации попадал в свой личный кабинет где бы выводилось Login:Oleg. Как реализовать такую логику чтобы Авторизованный пользователь попадал в свой кабинет со свойм логином и другими данными. Заранее спасибо. Я новичок в WPF. Внизу будет весь мой код

    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;
using System.Data.SQLite;

namespace DrivingApp { /// <summary> /// Логика взаимодействия для UserPageWIndow.xaml /// </summary> public partial class UserPageWIndow : Window {

    private SQLiteConnection DB;

    public UserPageWIndow()
    {
        InitializeComponent();


        DB = new SQLiteConnection(&quot;Data Source = DrivingScl.db&quot;);
        DB.Open();
        SQLiteCommand cmd = DB.CreateCommand();
        cmd.CommandText = &quot;SELECT id, login FROM Users WHERE id = 3&quot;;
        SQLiteDataReader SQL = cmd.ExecuteReader();
        if (SQL.HasRows)
        {
            while (SQL.Read() )
            {
                nam2.Text += &quot;Логин :&quot; + SQL[&quot;Login&quot;];
            }
        }
        else nam2.Text = &quot;Нет таких&quot;;
    }
}

}

Это окно с выводом 1 пользователя

  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 DrivingApp { /// <summary> /// Логика взаимодействия для AuthWindow.xaml /// </summary> public partial class AuthWindow : Window { public AuthWindow() { InitializeComponent(); }

    private void Button_Auth_Click(object sender, RoutedEventArgs e)
    {
        string login = textBoxLogin.Text.Trim();
        string pass = passBox.Password.Trim();

        if (login.Length &lt; 5)
        {
            textBoxLogin.ToolTip = &quot;Это поле введено некорректно&quot;;
            textBoxLogin.Background = Brushes.DarkRed;
        }
        else if (pass.Length &lt; 5)
        {
            passBox.ToolTip = &quot;Это поле введено некорректно&quot;;
            passBox.Background = Brushes.DarkRed;
        } else
        {
            textBoxLogin.ToolTip = &quot;&quot;;
            textBoxLogin.Background = Brushes.Transparent;
            passBox.ToolTip = &quot;&quot;;
            passBox.Background = Brushes.Transparent;

            User authUser = null;
            using (ApplicationContext db = new ApplicationContext())
            {
                authUser = db.Users.Where(b =&gt; b.Login == login &amp;&amp; b.Pass == 
                pass).FirstOrDefault();  
            }

            if(authUser != null)
            {
                MessageBox.Show(&quot;Всё хорошо!&quot;);

                UserPageWIndow userPageWindow = new UserPageWIndow();
                userPageWindow.Show();
                this.Hide();
            }
            else
                MessageBox.Show(&quot;Вы ввели что-то некорректно&quot;);
        }  
    }

    private void Button_Reg_Click(object sender, RoutedEventArgs e)
    {
        MainWindow mainWindow = new MainWindow();
        mainWindow.Show();
        this.Hide();
    }
}

}

Это окно с входом пользователя в свой кабинет, после нажатия на кнопку(Вход в кабинет) он переходит на страницу с личным кабинетом введите сюда описание изображения

Пожалуйста помогите, кто работа с авторизации пользователя с его личными данными, я новичок по изучению WPF

  • MainWindow mainWindow = new MainWindow(login); - передаешь логин при вызове окна, в конструкторе MainWindow обрабатываешь действия с логином – Pekor Jun 17 '22 at 20:26
  • 2
    https://ru.stackoverflow.com/a/898861/220553 – EvgeniyZ Jun 17 '22 at 20:46
  • Отмечу, что вы не используете в своём коде SqlDataAdapter. | То, что вы используете в первом файле можно называть "чистый (или сырой) ADO.NET". – Alexander Petrov Jun 17 '22 at 21:41

1 Answers1

0

введите сюда описание изображения

userPageWindow.log.Text = authUser.Login; - эту строчку после MessageBox, log - название TextBlock

x1ch
  • 1
  • 1