using bib_talk.Repository; using Microsoft.Win32; using Newtonsoft.Json; using System; using System.Collections.Generic; using System.Globalization; using System.IO; using System.Net.Http; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Input; using System.Windows.Media; using System.Windows.Threading; using bib_talk.Business; namespace bib_talk { public partial class MainWindow : Window { MainWindowManager mwManager; private DispatcherTimer _timer; public string loggedinUser; private bool isFirstLoad = true; public MainWindow() { InitializeComponent(); InitializeTimer(); LoadData(); mwManager = new MainWindowManager(this); } public MainWindow(string user) { loggedinUser = user; InitializeComponent(); InitializeTimer(); LoadData(); mwManager = new MainWindowManager(this, user); mwManager.LoadMessages(); } private void InitializeTimer() { _timer = new DispatcherTimer { Interval = TimeSpan.FromSeconds(2) }; _timer.Tick += (sender, e) => { mwManager.LoadMessages(); mwManager.LoadOnlineUsers(); }; _timer.Start(); } public void LoadData() { loggedinuser.Text = "Logged in as: " + loggedinUser; } private void CloseButton_Click(object sender, RoutedEventArgs e) { mwManager.LogoutUser(); this.Close(); } private void DraggableArea_MouseLeftButtonDown(object sender, MouseButtonEventArgs e) { if (e.ButtonState == MouseButtonState.Pressed) { DragMove(); } } private async void messageBOX_KeyDown(object sender, KeyEventArgs e) { if (e.Key == Key.Enter) { mwManager.SendMessage(); } } private async void send_Click(object sender, RoutedEventArgs e) { mwManager.SendMessage(); } private void ChatFenster_Click(object sender, RoutedEventArgs e) { if (popup.IsOpen = true) { popup.Focus(); } else { popup.IsOpen = true; } } private void Button1_Click(object sender, RoutedEventArgs e) { MessageBox.Show("Button 1 wurde geklickt!"); ClosePopup(); } private void Button2_Click(object sender, RoutedEventArgs e) { MessageBox.Show("Button 2 wurde geklickt!"); ClosePopup(); } private void Button3_Click(object sender, RoutedEventArgs e) { MessageBox.Show("Button 3 wurde geklickt!"); ClosePopup(); } private void Popup_LostFocus(object sender, RoutedEventArgs e) { ClosePopup(); } private void ClosePopup() { popup.IsOpen = false; } private async void uploadpbclick(object sender, RoutedEventArgs e) { OpenFileDialog openFileDialog = new OpenFileDialog(); openFileDialog.Filter = "Image files (*.jpg, *.jpeg, *.png, *.gif) | *.jpg; *.jpeg; *.png; *.gif"; if (openFileDialog.ShowDialog() == true) { string filePath = openFileDialog.FileName; await mwManager.UploadProfileImage(filePath); } } } }