3 Schichten Model
3 Schichten Model umgesetzt
This commit is contained in:
		@@ -2,7 +2,7 @@
 | 
				
			|||||||
             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 | 
					             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
 | 
				
			||||||
             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 | 
					             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
 | 
				
			||||||
             xmlns:local="clr-namespace:bib_talk"
 | 
					             xmlns:local="clr-namespace:bib_talk"
 | 
				
			||||||
             StartupUri="Login.xaml">
 | 
					             StartupUri="UI/Login.xaml">
 | 
				
			||||||
    <Application.Resources>
 | 
					    <Application.Resources>
 | 
				
			||||||
         
 | 
					         
 | 
				
			||||||
    </Application.Resources>
 | 
					    </Application.Resources>
 | 
				
			||||||
 
 | 
				
			|||||||
							
								
								
									
										2
									
								
								bibtalk/bib-talk/Business/readme.txt
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										2
									
								
								bibtalk/bib-talk/Business/readme.txt
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,2 @@
 | 
				
			|||||||
 | 
					Alle Business Klassen sind die [name].xaml.cs Dateien.
 | 
				
			||||||
 | 
					Diese sind NICHT in diesem Ordner, weil wir sie von der [name].xaml Datei nicht trennen können.
 | 
				
			||||||
| 
		 Before Width: | Height: | Size: 24 KiB After Width: | Height: | Size: 24 KiB  | 
| 
		 Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB  | 
| 
		 Before Width: | Height: | Size: 26 KiB After Width: | Height: | Size: 26 KiB  | 
@@ -1,238 +0,0 @@
 | 
				
			|||||||
using Newtonsoft.Json;
 | 
					 | 
				
			||||||
using System;
 | 
					 | 
				
			||||||
using System.Collections.Generic;
 | 
					 | 
				
			||||||
using System.Globalization;
 | 
					 | 
				
			||||||
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;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
namespace bib_talk
 | 
					 | 
				
			||||||
{
 | 
					 | 
				
			||||||
    public partial class MainWindow : Window
 | 
					 | 
				
			||||||
    {
 | 
					 | 
				
			||||||
        private DispatcherTimer _timer;
 | 
					 | 
				
			||||||
        public string loggedinUser;
 | 
					 | 
				
			||||||
        private bool isFirstLoad = true;
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public MainWindow()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            InitializeComponent();
 | 
					 | 
				
			||||||
            InitializeTimer();
 | 
					 | 
				
			||||||
            LoadData();
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public MainWindow(string user)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            loggedinUser = user;
 | 
					 | 
				
			||||||
            InitializeComponent();
 | 
					 | 
				
			||||||
            InitializeTimer();
 | 
					 | 
				
			||||||
            LoadData();
 | 
					 | 
				
			||||||
            LoadMessages();
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        private void InitializeTimer()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            _timer = new DispatcherTimer
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                Interval = TimeSpan.FromSeconds(2)
 | 
					 | 
				
			||||||
            };
 | 
					 | 
				
			||||||
            _timer.Tick += (sender, e) => { LoadMessages(); LoadOnlineUsers(); };
 | 
					 | 
				
			||||||
            _timer.Start();
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        public void LoadData()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            loggedinuser.Text = "Logged in as: " + loggedinUser;
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        private void CloseButton_Click(object sender, RoutedEventArgs e)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            LogoutUser();
 | 
					 | 
				
			||||||
            this.Close();
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        private void DraggableArea_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            if (e.ButtonState == MouseButtonState.Pressed)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                DragMove();
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        private async void LoadMessages()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            using (var client = new HttpClient())
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                var response = await client.GetAsync("http://daddypig.dns.navy:5114/api/messages/get");
 | 
					 | 
				
			||||||
                if (response.IsSuccessStatusCode)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    var responseContent = await response.Content.ReadAsStringAsync();
 | 
					 | 
				
			||||||
                    var messages = JsonConvert.DeserializeObject<List<Message>>(responseContent);
 | 
					 | 
				
			||||||
                    chatlistbox.ItemsSource = messages;
 | 
					 | 
				
			||||||
                    if (chatlistbox.Items.Count > 0)
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        var lastItem = chatlistbox.Items[chatlistbox.Items.Count - 1];
 | 
					 | 
				
			||||||
                        chatlistbox.ScrollIntoView(lastItem);
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        private async void LogoutUser()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            using (var client = new HttpClient())
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                var logoutData = new { Username = loggedinUser, Password = "", Email = "", Birthday = "", IsOnline = "" };
 | 
					 | 
				
			||||||
                var json = JsonConvert.SerializeObject(logoutData);
 | 
					 | 
				
			||||||
                var content = new StringContent(json, Encoding.UTF8, "application/json");
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                var response = await client.PostAsync("http://daddypig.dns.navy:5114/api/users/logout", content);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                var responseContent = await response.Content.ReadAsStringAsync();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                this.Close();
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        private async void LoadOnlineUsers()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            using (var client = new HttpClient())
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                var response = await client.GetAsync("http://daddypig.dns.navy:5114/api/users/online-users");
 | 
					 | 
				
			||||||
                if (response.IsSuccessStatusCode)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    var responseContent = await response.Content.ReadAsStringAsync();
 | 
					 | 
				
			||||||
                    var onlineUsers = JsonConvert.DeserializeObject<List<User>>(responseContent);
 | 
					 | 
				
			||||||
                    onlineUsersListBox.ItemsSource = onlineUsers;
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        private async void messageBOX_KeyDown(object sender, KeyEventArgs e)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            if (e.Key == Key.Enter)
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                if (!string.IsNullOrEmpty(messageBOX.Text))
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    var message = new MessageDto
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        Username = loggedinUser,
 | 
					 | 
				
			||||||
                        Message = messageBOX.Text,
 | 
					 | 
				
			||||||
                        Timestamp = DateTime.Now,
 | 
					 | 
				
			||||||
                    };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    using (var client = new HttpClient())
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        var json = JsonConvert.SerializeObject(message);
 | 
					 | 
				
			||||||
                        var content = new StringContent(json, Encoding.UTF8, "application/json");
 | 
					 | 
				
			||||||
                        var response = await client.PostAsync("http://daddypig.dns.navy:5114/api/messages/send", content);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                        if (response.IsSuccessStatusCode)
 | 
					 | 
				
			||||||
                        {
 | 
					 | 
				
			||||||
                            messageBOX.Clear();
 | 
					 | 
				
			||||||
                            LoadMessages(); // Reload messages after sending
 | 
					 | 
				
			||||||
                        }
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        private async void send_Click(object sender, RoutedEventArgs e)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            if (!string.IsNullOrEmpty(messageBOX.Text))
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                var message = new MessageDto
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    Username = loggedinUser,
 | 
					 | 
				
			||||||
                    Message = messageBOX.Text,
 | 
					 | 
				
			||||||
                    Timestamp = DateTime.Now,
 | 
					 | 
				
			||||||
                };
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                using (var client = new HttpClient())
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    var json = JsonConvert.SerializeObject(message);
 | 
					 | 
				
			||||||
                    var content = new StringContent(json, Encoding.UTF8, "application/json");
 | 
					 | 
				
			||||||
                    var response = await client.PostAsync("http://daddypig.dns.navy:5114/api/messages/send", content);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                    if (response.IsSuccessStatusCode)
 | 
					 | 
				
			||||||
                    {
 | 
					 | 
				
			||||||
                        messageBOX.Clear();
 | 
					 | 
				
			||||||
                        LoadMessages(); // Reload messages after sending
 | 
					 | 
				
			||||||
                    }
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public class Message
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            public int Id { get; set; }
 | 
					 | 
				
			||||||
            public string Username { get; set; }
 | 
					 | 
				
			||||||
            public string Text { get; set; }
 | 
					 | 
				
			||||||
            public DateTime Timestamp { get; set; }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        public class MessageDto
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            public string Username { get; set; }
 | 
					 | 
				
			||||||
            public string Message { get; set; }
 | 
					 | 
				
			||||||
            public DateTime Timestamp { get; set; }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
        public class User
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            public int Id { get; set; }
 | 
					 | 
				
			||||||
            public string Username { get; set; }
 | 
					 | 
				
			||||||
            public string Password { get; set; }
 | 
					 | 
				
			||||||
            public string Email { get; set; }
 | 
					 | 
				
			||||||
            public string Birthday { get; set; }
 | 
					 | 
				
			||||||
            public string IsOnline { get; set; }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        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 void onlineUsersListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
}
 | 
					 | 
				
			||||||
							
								
								
									
										51
									
								
								bibtalk/bib-talk/Repository/LoginDatabase.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								bibtalk/bib-talk/Repository/LoginDatabase.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,51 @@
 | 
				
			|||||||
 | 
					using Newtonsoft.Json;
 | 
				
			||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using System.Net.Http;
 | 
				
			||||||
 | 
					using System.Text;
 | 
				
			||||||
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					using System.Windows.Controls;
 | 
				
			||||||
 | 
					using System.Windows;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace bib_talk.Repository
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public class LoginDatabase
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        Login loginWindow;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public LoginDatabase(Login loginWindow)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            this.loginWindow = loginWindow;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public async Task LoginServer()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            string username = loginWindow.usernbox.Text;
 | 
				
			||||||
 | 
					            string password = loginWindow.passwordbox.Password;
 | 
				
			||||||
 | 
					            var loginData = new { Username = username, Password = password, Email = "", Birthday = "", IsOnline = "" };
 | 
				
			||||||
 | 
					            string json = JsonConvert.SerializeObject(loginData);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            using (var client = new HttpClient())
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                var content = new StringContent(json, Encoding.UTF8, "application/json");
 | 
				
			||||||
 | 
					                var response = await client.PostAsync("http://daddypig.dns.navy:5114/api/users/login", content);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                if (response.IsSuccessStatusCode)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    var responseContent = await response.Content.ReadAsStringAsync();
 | 
				
			||||||
 | 
					                    var responseData = JsonConvert.DeserializeObject<dynamic>(responseContent);
 | 
				
			||||||
 | 
					                    string loggedInUsername = responseData.username;
 | 
				
			||||||
 | 
					                    MainWindow mainWindow = new MainWindow(loggedInUsername);
 | 
				
			||||||
 | 
					                    mainWindow.Show();
 | 
				
			||||||
 | 
					                    loginWindow.Close();
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                else
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    var responseContent = await response.Content.ReadAsStringAsync();
 | 
				
			||||||
 | 
					                    MessageBox.Show($"Login failed: {responseContent}");
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										96
									
								
								bibtalk/bib-talk/Repository/MainWindowDatabase.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										96
									
								
								bibtalk/bib-talk/Repository/MainWindowDatabase.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,96 @@
 | 
				
			|||||||
 | 
					using Newtonsoft.Json;
 | 
				
			||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using System.Net.Http;
 | 
				
			||||||
 | 
					using System.Text;
 | 
				
			||||||
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					using System.Windows;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace bib_talk.Repository
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public class MainWindowDatabase
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        MainWindow mainWindow;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public MainWindowDatabase(MainWindow mainWindow) 
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            this.mainWindow = mainWindow;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public async void SendMessage()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            if (!string.IsNullOrEmpty(mainWindow.messageBOX.Text))
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                var message = new MessageDto
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    Username = mainWindow.loggedinUser,
 | 
				
			||||||
 | 
					                    Message = mainWindow.messageBOX.Text,
 | 
				
			||||||
 | 
					                    Timestamp = DateTime.Now,
 | 
				
			||||||
 | 
					                };
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                using (var client = new HttpClient())
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    var json = JsonConvert.SerializeObject(message);
 | 
				
			||||||
 | 
					                    var content = new StringContent(json, Encoding.UTF8, "application/json");
 | 
				
			||||||
 | 
					                    var response = await client.PostAsync("http://daddypig.dns.navy:5114/api/messages/send", content);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    if (response.IsSuccessStatusCode)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        mainWindow.messageBOX.Clear();
 | 
				
			||||||
 | 
					                        LoadMessages(); // Reload messages after sending
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public async void LoadMessages()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            using (var client = new HttpClient())
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                var response = await client.GetAsync("http://daddypig.dns.navy:5114/api/messages/get");
 | 
				
			||||||
 | 
					                if (response.IsSuccessStatusCode)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    var responseContent = await response.Content.ReadAsStringAsync();
 | 
				
			||||||
 | 
					                    var messages = JsonConvert.DeserializeObject<List<Message>>(responseContent);
 | 
				
			||||||
 | 
					                    mainWindow.chatlistbox.ItemsSource = messages;
 | 
				
			||||||
 | 
					                    if (mainWindow.chatlistbox.Items.Count > 0)
 | 
				
			||||||
 | 
					                    {
 | 
				
			||||||
 | 
					                        var lastItem = mainWindow.chatlistbox.Items[mainWindow.chatlistbox.Items.Count - 1];
 | 
				
			||||||
 | 
					                        mainWindow.chatlistbox.ScrollIntoView(lastItem);
 | 
				
			||||||
 | 
					                    }
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public async void LoadOnlineUsers()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            using (var client = new HttpClient())
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                var response = await client.GetAsync("http://daddypig.dns.navy:5114/api/users/online-users");
 | 
				
			||||||
 | 
					                if (response.IsSuccessStatusCode)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    var responseContent = await response.Content.ReadAsStringAsync();
 | 
				
			||||||
 | 
					                    var onlineUsers = JsonConvert.DeserializeObject<List<User>>(responseContent);
 | 
				
			||||||
 | 
					                    mainWindow.onlineUsersListBox.ItemsSource = onlineUsers;
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public async void LogoutUser()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            using (var client = new HttpClient())
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                var logoutData = new { Username = mainWindow.loggedinUser, Password = "", Email = "", Birthday = "", IsOnline = "" };
 | 
				
			||||||
 | 
					                var json = JsonConvert.SerializeObject(logoutData);
 | 
				
			||||||
 | 
					                var content = new StringContent(json, Encoding.UTF8, "application/json");
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                var response = await client.PostAsync("http://daddypig.dns.navy:5114/api/users/logout", content);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                var responseContent = await response.Content.ReadAsStringAsync();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                mainWindow.Close();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
							
								
								
									
										47
									
								
								bibtalk/bib-talk/Repository/RegisterDatabase.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										47
									
								
								bibtalk/bib-talk/Repository/RegisterDatabase.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,47 @@
 | 
				
			|||||||
 | 
					using Newtonsoft.Json;
 | 
				
			||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Linq;
 | 
				
			||||||
 | 
					using System.Net.Http;
 | 
				
			||||||
 | 
					using System.Text;
 | 
				
			||||||
 | 
					using System.Threading.Tasks;
 | 
				
			||||||
 | 
					using System.Windows.Controls;
 | 
				
			||||||
 | 
					using System.Windows;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace bib_talk.Repository
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public class RegisterDatabase
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        RegisterWindow registerWindow;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public RegisterDatabase(RegisterWindow registerWindow)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            this.registerWindow = registerWindow;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public async Task RegisterServer()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            string username = registerWindow.usernbox.Text;
 | 
				
			||||||
 | 
					            string password = registerWindow.passwordbox.Password;
 | 
				
			||||||
 | 
					            string email = registerWindow.emailbox.Text;
 | 
				
			||||||
 | 
					            string birthday = $"{registerWindow.bday1.Text}.{registerWindow.bday2.Text}.{registerWindow.bday3.Text}";
 | 
				
			||||||
 | 
					            var newUser = new { Username = username, Password = password, Email = email, Birthday = birthday, IsOnline = "" };
 | 
				
			||||||
 | 
					            string json = JsonConvert.SerializeObject(newUser);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            using (var client = new HttpClient())
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                var content = new StringContent(json, Encoding.UTF8, "application/json");
 | 
				
			||||||
 | 
					                var response = await client.PostAsync("http://daddypig.dns.navy:5114/api/users/register", content);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                if (response.IsSuccessStatusCode)
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    MessageBox.Show("Registrierung erfolgreich.");
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					                else
 | 
				
			||||||
 | 
					                {
 | 
				
			||||||
 | 
					                    MessageBox.Show("Registrierung fehlgeschlagen. " + response);
 | 
				
			||||||
 | 
					                }
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -5,17 +5,23 @@ using System.Threading.Tasks;
 | 
				
			|||||||
using System.Windows.Input;
 | 
					using System.Windows.Input;
 | 
				
			||||||
using System.Windows.Media;
 | 
					using System.Windows.Media;
 | 
				
			||||||
using System.Windows;
 | 
					using System.Windows;
 | 
				
			||||||
 | 
					using bib_talk.Repository;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
namespace bib_talk
 | 
					namespace bib_talk
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    public partial class Login : Window
 | 
					    public partial class Login : Window
 | 
				
			||||||
    {
 | 
					    {
 | 
				
			||||||
 | 
					        LoginDatabase loginDatabase;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        // Field to store logged in user
 | 
					        // Field to store logged in user
 | 
				
			||||||
        public static string loggedInUser;
 | 
					        public static string loggedInUser;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public Login()
 | 
					        public Login()
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            InitializeComponent();
 | 
					            InitializeComponent();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            loginDatabase = new LoginDatabase(this);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private void DraggableArea_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
 | 
					        private void DraggableArea_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)
 | 
				
			||||||
@@ -38,11 +44,12 @@ namespace bib_talk
 | 
				
			|||||||
            this.Close();
 | 
					            this.Close();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private void WeiterButton_Click(object sender, RoutedEventArgs e)
 | 
					        private async void WeiterButton_Click(object sender, RoutedEventArgs e)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            if (usernbox.Text != "" && passwordbox.Password != "")
 | 
					            if (usernbox.Text != "" && passwordbox.Password != "")
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                LoginServer();
 | 
					
 | 
				
			||||||
 | 
					                await loginDatabase.LoginServer();
 | 
				
			||||||
               
 | 
					               
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
@@ -69,35 +76,5 @@ namespace bib_talk
 | 
				
			|||||||
            register.Show();
 | 
					            register.Show();
 | 
				
			||||||
            this.Close();
 | 
					            this.Close();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					 | 
				
			||||||
        public async Task LoginServer()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            string username = usernbox.Text;
 | 
					 | 
				
			||||||
            string password = passwordbox.Password;
 | 
					 | 
				
			||||||
            var loginData = new { Username = username, Password = password, Email = "", Birthday = "", IsOnline = ""};
 | 
					 | 
				
			||||||
            string json = JsonConvert.SerializeObject(loginData);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            using (var client = new HttpClient())
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                var content = new StringContent(json, Encoding.UTF8, "application/json");
 | 
					 | 
				
			||||||
                var response = await client.PostAsync("http://daddypig.dns.navy:5114/api/users/login", content);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                if (response.IsSuccessStatusCode)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    var responseContent = await response.Content.ReadAsStringAsync();
 | 
					 | 
				
			||||||
                    var responseData = JsonConvert.DeserializeObject<dynamic>(responseContent);
 | 
					 | 
				
			||||||
                    string loggedInUsername = responseData.username;
 | 
					 | 
				
			||||||
                    MainWindow mainWindow = new MainWindow(loggedInUsername);
 | 
					 | 
				
			||||||
                    mainWindow.Show();
 | 
					 | 
				
			||||||
                    this.Close();
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
                else
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    var responseContent = await response.Content.ReadAsStringAsync();
 | 
					 | 
				
			||||||
                    MessageBox.Show($"Login failed: {responseContent}");
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
							
								
								
									
										157
									
								
								bibtalk/bib-talk/UI/MainWindow.xaml.cs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										157
									
								
								bibtalk/bib-talk/UI/MainWindow.xaml.cs
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,157 @@
 | 
				
			|||||||
 | 
					using bib_talk.Repository;
 | 
				
			||||||
 | 
					using Newtonsoft.Json;
 | 
				
			||||||
 | 
					using System;
 | 
				
			||||||
 | 
					using System.Collections.Generic;
 | 
				
			||||||
 | 
					using System.Globalization;
 | 
				
			||||||
 | 
					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;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					namespace bib_talk
 | 
				
			||||||
 | 
					{
 | 
				
			||||||
 | 
					    public partial class MainWindow : Window
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        MainWindowDatabase database;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        private DispatcherTimer _timer;
 | 
				
			||||||
 | 
					        public string loggedinUser;
 | 
				
			||||||
 | 
					        private bool isFirstLoad = true;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public MainWindow()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            InitializeComponent();
 | 
				
			||||||
 | 
					            InitializeTimer();
 | 
				
			||||||
 | 
					            LoadData();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            database = new MainWindowDatabase(this);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        public MainWindow(string user)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            loggedinUser = user;
 | 
				
			||||||
 | 
					            InitializeComponent();
 | 
				
			||||||
 | 
					            InitializeTimer();
 | 
				
			||||||
 | 
					            LoadData();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            database = new MainWindowDatabase(this);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            database.LoadMessages();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        private void InitializeTimer()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            _timer = new DispatcherTimer
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                Interval = TimeSpan.FromSeconds(2)
 | 
				
			||||||
 | 
					            };
 | 
				
			||||||
 | 
					            _timer.Tick += (sender, e) => { database.LoadMessages(); database.LoadOnlineUsers(); };
 | 
				
			||||||
 | 
					            _timer.Start();
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        public void LoadData()
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            loggedinuser.Text = "Logged in as: " + loggedinUser;
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        private void CloseButton_Click(object sender, RoutedEventArgs e)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            database.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)
 | 
				
			||||||
 | 
					            {
 | 
				
			||||||
 | 
					                database.SendMessage();
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        private async void send_Click(object sender, RoutedEventArgs e)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					            database.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 void onlineUsersListBox_SelectionChanged(object sender, SelectionChangedEventArgs e)
 | 
				
			||||||
 | 
					        {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public class Message
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public int Id { get; set; }
 | 
				
			||||||
 | 
					        public string Username { get; set; }
 | 
				
			||||||
 | 
					        public string Text { get; set; }
 | 
				
			||||||
 | 
					        public DateTime Timestamp { get; set; }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    public class MessageDto
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public string Username { get; set; }
 | 
				
			||||||
 | 
					        public string Message { get; set; }
 | 
				
			||||||
 | 
					        public DateTime Timestamp { get; set; }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					    public class User
 | 
				
			||||||
 | 
					    {
 | 
				
			||||||
 | 
					        public int Id { get; set; }
 | 
				
			||||||
 | 
					        public string Username { get; set; }
 | 
				
			||||||
 | 
					        public string Password { get; set; }
 | 
				
			||||||
 | 
					        public string Email { get; set; }
 | 
				
			||||||
 | 
					        public string Birthday { get; set; }
 | 
				
			||||||
 | 
					        public string IsOnline { get; set; }
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
@@ -1,4 +1,5 @@
 | 
				
			|||||||
using Newtonsoft.Json;
 | 
					using bib_talk.Repository;
 | 
				
			||||||
 | 
					using Newtonsoft.Json;
 | 
				
			||||||
using System;
 | 
					using System;
 | 
				
			||||||
using System.Collections.Generic;
 | 
					using System.Collections.Generic;
 | 
				
			||||||
using System.Diagnostics;
 | 
					using System.Diagnostics;
 | 
				
			||||||
@@ -52,13 +53,15 @@ namespace bib_talk
 | 
				
			|||||||
            this.Close();
 | 
					            this.Close();
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        private void WeiterButton_Click(object sender, RoutedEventArgs e)
 | 
					        private async void WeiterButton_Click(object sender, RoutedEventArgs e)
 | 
				
			||||||
        {
 | 
					        {
 | 
				
			||||||
            if (checkboxAGB.IsChecked == true)
 | 
					            if (checkboxAGB.IsChecked == true)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                if (ValidateRegistration())
 | 
					                if (ValidateRegistration())
 | 
				
			||||||
                {
 | 
					                {
 | 
				
			||||||
                    RegisterServer();
 | 
					                    RegisterDatabase registerDatabase = new RegisterDatabase(this);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					                    await registerDatabase.RegisterServer();
 | 
				
			||||||
                    Login login = new Login();
 | 
					                    Login login = new Login();
 | 
				
			||||||
                    login.Show();
 | 
					                    login.Show();
 | 
				
			||||||
                    this.Close();
 | 
					                    this.Close();
 | 
				
			||||||
@@ -125,29 +128,6 @@ namespace bib_talk
 | 
				
			|||||||
            return true;
 | 
					            return true;
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        public async Task RegisterServer()
 | 
					 | 
				
			||||||
        {
 | 
					 | 
				
			||||||
            string username = usernbox.Text;
 | 
					 | 
				
			||||||
            string password = passwordbox.Password;
 | 
					 | 
				
			||||||
            string email = emailbox.Text;
 | 
					 | 
				
			||||||
            string birthday = $"{bday1.Text}.{bday2.Text}.{bday3.Text}";
 | 
					 | 
				
			||||||
            var newUser = new { Username = username, Password = password, Email = email, Birthday = birthday, IsOnline = "" };
 | 
					 | 
				
			||||||
            string json = JsonConvert.SerializeObject(newUser);
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
            using (var client = new HttpClient())
 | 
					 | 
				
			||||||
            {
 | 
					 | 
				
			||||||
                var content = new StringContent(json, Encoding.UTF8, "application/json");
 | 
					 | 
				
			||||||
                var response = await client.PostAsync("http://daddypig.dns.navy:5114/api/users/register", content);
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
                if (response.IsSuccessStatusCode)
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    MessageBox.Show("Registrierung erfolgreich.");
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
                else
 | 
					 | 
				
			||||||
                {
 | 
					 | 
				
			||||||
                    MessageBox.Show("Registrierung fehlgeschlagen. " + response);
 | 
					 | 
				
			||||||
                }
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
        }
 | 
					 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@@ -19,13 +19,9 @@
 | 
				
			|||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
  <ItemGroup>
 | 
					  <ItemGroup>
 | 
				
			||||||
    <Folder Include="Icons\" />
 | 
					    <Resource Include="Icons\logo.png" />
 | 
				
			||||||
  </ItemGroup>
 | 
					    <Resource Include="Icons\Logo_bib-Talk.png" />
 | 
				
			||||||
 | 
					    <Resource Include="Icons\PICA.jpg" />
 | 
				
			||||||
  <ItemGroup>
 | 
					 | 
				
			||||||
    <Resource Include="logo.png" />
 | 
					 | 
				
			||||||
    <Resource Include="Logo_bib-Talk.png" />
 | 
					 | 
				
			||||||
    <Resource Include="PICA.jpg" />
 | 
					 | 
				
			||||||
  </ItemGroup>
 | 
					  </ItemGroup>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
</Project>
 | 
					</Project>
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user