Code verbessert

This commit is contained in:
Lyndon
2019-04-04 13:00:10 +02:00
parent 09314d3aa6
commit b82821d0c4
17 changed files with 921 additions and 1850 deletions

View File

@@ -7,8 +7,8 @@ using System.Net;
using System.Threading;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Controls.Primitives;
using System.Windows.Data;
using System.Windows.Forms;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Navigation;
@@ -17,8 +17,18 @@ using System.Windows.Threading;
using ChatController.ChatKlassen;
using ChatController.HauptKlassen;
using ChatController.Klassen;
using ChatController.LoginKlassen;
using ChatController.Utilities;
using Button = System.Windows.Controls.Button;
using Cursors = System.Windows.Input.Cursors;
using DataFormats = System.Windows.DataFormats;
using KeyEventArgs = System.Windows.Input.KeyEventArgs;
using MenuItem = System.Windows.Controls.MenuItem;
using MessageBox = System.Windows.MessageBox;
using Orientation = System.Windows.Controls.Orientation;
using Panel = System.Windows.Controls.Panel;
using Path = System.IO.Path;
using ScrollBar = System.Windows.Controls.Primitives.ScrollBar;
namespace ChatController
{
@@ -33,7 +43,7 @@ namespace ChatController
private ChatEmojiiControl _EmojiView;
private IOrderedEnumerable<ChatMessage> _OrderedMessages;
private IOrderedEnumerable<KontaktlistBuilder> _ContactList;
private IOrderedEnumerable<Contact> _ContactList;
private bool _ScrollPrueferAktivieren;
@@ -110,7 +120,7 @@ namespace ChatController
#region Lade KontaktDaten und Lade sie in den Chat
private void AktChatUser_OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
{
_Chat.ShowKontaktPicture(_AktuellerKontakt);
_Chat.ShowProfilePicture(_AktuellerKontakt);
}
private void Clientlist_OnSelectionChanged(object sender, SelectionChangedEventArgs e)
@@ -124,10 +134,10 @@ namespace ChatController
AktChatUserList.Items.Clear();
var kontakt = (KontaktlistBuilder)Clientlist.SelectedItem;
var kontakt = (Contact)Clientlist.SelectedItem;
if(kontakt.SetzeGelesen == 1) {
kontakt.SetzeGelesen = 0;
if(kontakt.NumberOfReadMessages == 1) {
kontakt.NumberOfReadMessages = 0;
Clientlist.Items.Refresh();
}
@@ -538,7 +548,7 @@ namespace ChatController
ChatListBox.ItemsSource = null;
var kontakt = (KontaktlistBuilder)Clientlist.SelectedItem;
var kontakt = (Contact)Clientlist.SelectedItem;
var xy = _Chat.LadeWeiterNachrichten(kontakt);
@@ -596,57 +606,47 @@ namespace ChatController
_NewThread = null;
}
var kontakt = (AktuellerKontakt)AktChatUserList.Items[0];
var kontakt = (AktuellerKontakt) AktChatUserList.Items[0];
//thred besser verwalten
_NewThread = new Thread(DoWork);
_NewThread.IsBackground = true;
_NewThread = new Thread(DoWork) {IsBackground = true};
_NewThread.Start(kontakt);
}
private void DoWork(object o)
{
bool _schaueNachMs = false;
var kontakt = (AktuellerKontakt) o;
var currentContact = (AktuellerKontakt) o;
while (true)
{
Thread.Sleep(2000);
if (!disableKontaktNachrichtenThread)
{
_schaueNachMs = _Chat.SchaueNachNeuenNachrichten(kontakt);
var hasNewMessages = _Chat.CheckIfNewMessagesExist(currentContact);
if (_schaueNachMs == true)
if (hasNewMessages)
{
this.Dispatcher.BeginInvoke(
DispatcherPriority.Background,
Utils.NotifyIcon.ShowBalloonTip(Constants.NotificationTimeout, "ownChat", $"Hat neue Nachrichten: {currentContact.Name}({currentContact.Contact.Name})", ToolTipIcon.None);
Dispatcher.BeginInvoke(DispatcherPriority.Background,
(Action) delegate
{
if (kontakt != null)
{
_Chat.LadeChatNachrichtenVomKontakt(currentContact);
var x = _Chat.LadeChatNachrichtenVomKontakt(kontakt);
CollectionViewSource.GetDefaultView(ChatListBox.ItemsSource).Refresh();
CollectionViewSource.GetDefaultView(ChatListBox.ItemsSource).Refresh();
ChatListBox.Items.MoveCurrentToLast();
ChatListBox.ScrollIntoView(ChatListBox.Items.CurrentItem);
}
ChatListBox.Items.MoveCurrentToLast();
ChatListBox.ScrollIntoView(ChatListBox.Items.CurrentItem);
});
}
}
else
{
break;
}
}
}
#endregion
@@ -686,18 +686,18 @@ namespace ChatController
{
if (liste.GroupId == neu.GroupId)
{
if (!liste.ReceiveMs.Equals(neu.ReceiveMs)) {
if (!liste.ReceivedMessage.Equals(neu.ReceivedMessage)) {
liste.ReceiveMs = neu.ReceiveMs;
liste.ReceivedMessage = neu.ReceivedMessage;
liste.TimeStamp = neu.TimeStamp;
if (aktuellerKontakt != null && neu.GroupId == aktuellerKontakt.GroupId)
{
liste.SetzeGelesen = 0;
liste.NumberOfReadMessages = 0;
}
else
{
liste.SetzeGelesen = 1;
liste.NumberOfReadMessages = 1;
}
}
}
@@ -746,7 +746,7 @@ namespace ChatController
if (String.IsNullOrEmpty(Suche.Text))
return true;
else
return ((item as KontaktlistBuilder).Name.IndexOf(Suche.Text, StringComparison.OrdinalIgnoreCase) >= 0);
return ((item as Contact).Name.IndexOf(Suche.Text, StringComparison.OrdinalIgnoreCase) >= 0);
}
#endregion
@@ -933,10 +933,10 @@ namespace ChatController
#region speichern sowie lesen der MessageSyncDatei / stylezwecke (OwnChat only)
public void SpeichereMessageInfoInDatei()
{
List<KontaktlistBuilder> aa = new List<KontaktlistBuilder>();
List<Contact> aa = new List<Contact>();
foreach (var kontakt in _ContactList)
{
if(kontakt.SetzeGelesen == 0 && !kontakt.ReceiveMs.Equals("")) {
if(kontakt.NumberOfReadMessages == 0 && !kontakt.ReceivedMessage.Equals("")) {
aa.Add(kontakt);
}
}
@@ -947,7 +947,7 @@ namespace ChatController
public void LeseMessageInfoAusDatei()
{
List<KontaktlistBuilder> aa = new List<KontaktlistBuilder>();
List<Contact> aa = new List<Contact>();
foreach (var kontakt in _ContactList)
{
aa.Add(kontakt);
@@ -962,7 +962,7 @@ namespace ChatController
{
if (kon.GroupId == item.Key)
{
kon.SetzeGelesen = 0;
kon.NumberOfReadMessages = 0;
}
}
}
@@ -972,17 +972,17 @@ namespace ChatController
#region Speichern Und LEsen Der MesageSyncDatei (Bewoplaner only)
public List<KontaktlistBuilder> UebergebeMessageInfoDatenFuerDb()
public List<Contact> UebergebeMessageInfoDatenFuerDb()
{
List < KontaktlistBuilder > aa = new List<KontaktlistBuilder>();
List < Contact > aa = new List<Contact>();
Clientlist.Items.Refresh();
foreach (var item in Clientlist.Items)
{
var kontakt = item as KontaktlistBuilder;
var kontakt = item as Contact;
if (kontakt != null && kontakt.SetzeGelesen == 0 && !kontakt.ReceiveMs.Equals(""))
if (kontakt != null && kontakt.NumberOfReadMessages == 0 && !kontakt.ReceivedMessage.Equals(""))
{
aa.Add(kontakt);
}
@@ -1001,7 +1001,7 @@ namespace ChatController
{
if (kon.GroupId == item.Key)
{
kon.SetzeGelesen = 0;
kon.NumberOfReadMessages = 0;
}
}
}
@@ -1017,7 +1017,9 @@ namespace ChatController
try
{
if (File.Exists(file))
{
File.Delete(file);
}
}
catch (Exception e)
{