performance update
This commit is contained in:
@@ -131,6 +131,7 @@ namespace ChatController
|
||||
}
|
||||
}
|
||||
|
||||
#region Styleetter für ownChatDesktop VErsion
|
||||
public void SetzteStyleAufNull()
|
||||
{
|
||||
EmojiButton.Style = null;
|
||||
@@ -138,7 +139,9 @@ namespace ChatController
|
||||
ReloadGruppen.Visibility = Visibility.Visible;
|
||||
_isDesktopVersion = false;
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Synconisation Veranlassen für Bewoplaner
|
||||
public void SynchronisationVeranlassen()
|
||||
{
|
||||
try
|
||||
@@ -161,13 +164,10 @@ namespace ChatController
|
||||
DispatcherPriority.Normal,
|
||||
(Action) delegate
|
||||
{
|
||||
Clientlist.Items.Refresh();
|
||||
CollectionViewSource.GetDefaultView(Clientlist.Items).Refresh();
|
||||
//Clientlist.Items.Refresh();
|
||||
});
|
||||
//this.Dispatch(delegate // hä ??
|
||||
//{
|
||||
// Clientlist.Items.Refresh();
|
||||
//});
|
||||
|
||||
|
||||
Thread.Sleep(TimeSpan.FromMinutes(5));
|
||||
}
|
||||
|
||||
@@ -184,6 +184,7 @@ namespace ChatController
|
||||
MessageBox.Show("Ein Fehler bei der Synchronisation ist aufgetreten.\nFehler:\n" + e.Message, "Fehler",MessageBoxButton.OK);
|
||||
}
|
||||
}
|
||||
#endregion
|
||||
|
||||
#region Lade KontaktDaten und Lade sie in den Chat
|
||||
private void AktChatUser_OnMouseDoubleClick(object sender, MouseButtonEventArgs e)
|
||||
@@ -286,7 +287,7 @@ namespace ChatController
|
||||
private void Item3OnClick(object sender, RoutedEventArgs routedEventArgs)
|
||||
{
|
||||
var kontakt = (AktuellerKontakt)AktChatUser.Items[0];
|
||||
_chat.Einfuegen(kontakt.GroupId);
|
||||
_chat.Einfuegen(kontakt.GroupId,this);
|
||||
}
|
||||
|
||||
private void Item4OnClick(object sender, RoutedEventArgs routedEventArgs)
|
||||
@@ -417,14 +418,19 @@ namespace ChatController
|
||||
if (AktChatUser.Items.Count > 0)
|
||||
{
|
||||
var kontakt = (AktuellerKontakt) AktChatUser.Items[0];
|
||||
|
||||
var medium = _chat.HoleMedium();
|
||||
|
||||
_chat.HoleUndSendeMediumAnKontakt(kontakt);
|
||||
if(medium != null) {
|
||||
_chat.AddeMediumDerNachrichtView(medium);
|
||||
|
||||
Chat.ItemsSource = null;
|
||||
Chat.ItemsSource = _chat.LadeChatNachrichtenVomKontakt(kontakt);
|
||||
|
||||
Chat.Items.MoveCurrentToLast();
|
||||
Chat.ScrollIntoView(Chat.Items.CurrentItem);
|
||||
CollectionViewSource.GetDefaultView(Chat.ItemsSource).Refresh();
|
||||
Chat.Items.MoveCurrentToLast();
|
||||
Chat.ScrollIntoView(Chat.Items.CurrentItem);
|
||||
|
||||
_chat.SendeMediumAnKontakt(kontakt,medium);
|
||||
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -441,20 +447,18 @@ namespace ChatController
|
||||
if (!Chatbox.Text.Equals(""))
|
||||
{
|
||||
var kontakt = (AktuellerKontakt)AktChatUser.Items[0];
|
||||
|
||||
var text = Chatbox.Text;
|
||||
|
||||
_chat.AddeNachrichtDerView(Chatbox.Text);
|
||||
|
||||
CollectionViewSource.GetDefaultView(Chat.ItemsSource).Refresh();
|
||||
|
||||
_chat.SendMessage(Chatbox.Text, kontakt.GroupId);
|
||||
|
||||
// neu performance versuch Adde
|
||||
|
||||
Chatbox.Text = "";
|
||||
|
||||
//Lade Nachrichten nach
|
||||
|
||||
Chat.Items.MoveCurrentToLast();
|
||||
Chat.ScrollIntoView(Chat.Items.CurrentItem);
|
||||
|
||||
|
||||
_chat.SendMessage(Chatbox.Text, kontakt.GroupId);
|
||||
|
||||
Chatbox.Text = "";
|
||||
|
||||
if (Chatbox.Text.Equals(""))
|
||||
{
|
||||
Chatbox.Text = "Nachricht schreiben";
|
||||
@@ -512,16 +516,17 @@ namespace ChatController
|
||||
if (!AktChatUser.Items.IsEmpty && !Chatbox.Text.Equals(""))
|
||||
{
|
||||
var kontakt = (AktuellerKontakt)AktChatUser.Items[0];
|
||||
|
||||
var text = Chatbox.Text;
|
||||
|
||||
_chat.AddeNachrichtDerView(Chatbox.Text);
|
||||
|
||||
CollectionViewSource.GetDefaultView(Chat.ItemsSource).Refresh();
|
||||
Chat.Items.MoveCurrentToLast();
|
||||
Chat.ScrollIntoView(Chat.Items.CurrentItem);
|
||||
|
||||
_chat.SendMessage(Chatbox.Text, kontakt.GroupId);
|
||||
|
||||
|
||||
Chatbox.Text = "";
|
||||
|
||||
|
||||
//lade Nachrichten nach
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -685,43 +690,14 @@ namespace ChatController
|
||||
(Action)delegate
|
||||
{
|
||||
if(kontakt != null) {
|
||||
|
||||
//neuer Aufruf villeicht nur von
|
||||
//Cursor = Cursors.Wait;
|
||||
|
||||
Chat.ItemsSource = null;
|
||||
|
||||
//Wichtig Verbessern
|
||||
|
||||
var x = _chat.LadeChatNachrichtenVomKontakt(kontakt);
|
||||
|
||||
//foreach (var liste in _Orderedmessagelist)
|
||||
//{
|
||||
// foreach (var neu in alist)
|
||||
// {
|
||||
|
||||
// if (liste.ChatMessageOid == neu.ChatMessageOid)
|
||||
// {
|
||||
// //_Orderedmessagelist.CreateOrderedEnumerable(neu,,true);
|
||||
|
||||
// //if (!liste.ReceiveMs.Equals(neu.ReceiveMs))
|
||||
// //{
|
||||
// // liste.ReceiveMs = neu.ReceiveMs;
|
||||
// // liste.SetzeGelesen = 1;
|
||||
// // //Vorher noch abfragen ob die id gleich den chat ist und dann nur wenn nicht zutrifft dann auf 1 setzen
|
||||
// //}
|
||||
// }
|
||||
// }
|
||||
//}
|
||||
|
||||
|
||||
Chat.ItemsSource = x;
|
||||
|
||||
//Cursor = Cursors.Arrow;
|
||||
|
||||
CollectionViewSource.GetDefaultView(Chat.ItemsSource).Refresh();
|
||||
|
||||
Chat.Items.MoveCurrentToLast();
|
||||
Chat.ScrollIntoView(Chat.Items.CurrentItem);
|
||||
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
@@ -734,8 +710,8 @@ namespace ChatController
|
||||
break;
|
||||
}
|
||||
|
||||
Task.Delay(2000);
|
||||
//Thread.Sleep(2000);
|
||||
//Task.Delay(2000);
|
||||
Thread.Sleep(2000);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -986,6 +962,7 @@ namespace ChatController
|
||||
|
||||
#endregion
|
||||
|
||||
//muss erweitert werden
|
||||
#region speichern sowie lesen der MessageSyncDatei / stylezwecke
|
||||
public void SpeichereMessageInfoInDatei()
|
||||
{
|
||||
|
||||
@@ -1,35 +1,27 @@
|
||||
using System;
|
||||
using ChatController.ChatKlassen;
|
||||
using ChatController.Klassen;
|
||||
using Newtonsoft.Json;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.ComponentModel;
|
||||
using System.Drawing;
|
||||
using System.Drawing.Imaging;
|
||||
using System.IO;
|
||||
using System.Linq;
|
||||
using System.Linq.Expressions;
|
||||
using System.Net;
|
||||
using System.Net.Http;
|
||||
using System.Reflection;
|
||||
using System.Text;
|
||||
using System.Threading;
|
||||
using System.Threading.Tasks;
|
||||
using System.Web;
|
||||
using System.Windows;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Data;
|
||||
using System.Windows.Forms;
|
||||
using System.Windows.Controls;
|
||||
using System.Windows.Media;
|
||||
using System.Windows.Media.Imaging;
|
||||
using ChatController.ChatKlassen;
|
||||
using ChatController.Klassen;
|
||||
using Newtonsoft.Json;
|
||||
using Application = System.Windows.Forms.Application;
|
||||
using Clipboard = System.Windows.Forms.Clipboard;
|
||||
using ContextMenu = System.Windows.Controls.ContextMenu;
|
||||
using Cursor = System.Windows.Input.Cursor;
|
||||
using DataFormats = System.Windows.Forms.DataFormats;
|
||||
using Image = System.Windows.Controls.Image;
|
||||
using MenuItem = System.Windows.Forms.MenuItem;
|
||||
using MessageBox = System.Windows.MessageBox;
|
||||
using Size = System.Drawing.Size;
|
||||
|
||||
@@ -732,6 +724,22 @@ namespace ChatController.HauptKlassen
|
||||
#endregion
|
||||
|
||||
#region Sende Normale Message an Kontakt
|
||||
|
||||
public void AddeNachrichtDerView(string nachricht)
|
||||
{
|
||||
try
|
||||
{
|
||||
var ChatMessage = _userMessages.Response.Messages.Last();
|
||||
|
||||
var time =DateTime.Now;
|
||||
|
||||
Messages.Add(new KontaktMessageBuilder(ChatMessage.User_Name, nachricht,time.ToString("dd MMMM yyyy HH:mm:ss"), true, time));
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
MessageBox.Show(e.Message, "Fehler", MessageBoxButton.OK);
|
||||
}
|
||||
}
|
||||
|
||||
private HttpWebRequest requesten;
|
||||
|
||||
@@ -785,7 +793,7 @@ namespace ChatController.HauptKlassen
|
||||
|
||||
#region Sende Media Nachricht an Kontakt
|
||||
|
||||
public void HoleUndSendeMediumAnKontakt(AktuellerKontakt kontakt)
|
||||
public string HoleMedium()
|
||||
{
|
||||
try
|
||||
{
|
||||
@@ -797,11 +805,98 @@ namespace ChatController.HauptKlassen
|
||||
// openFileDialog1.Filter = "Office Dokumente |*.doc;*.xls;*.ppt;*.txt";
|
||||
|
||||
DialogResult result = openFileDialog1.ShowDialog();
|
||||
|
||||
|
||||
if (result == System.Windows.Forms.DialogResult.OK)
|
||||
{
|
||||
VerarbeiteMedia(openFileDialog1.FileName,kontakt);
|
||||
return openFileDialog1.FileName;
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
MessageBox.Show("Fehler: " + e.Message, "Fehler", MessageBoxButton.OK);
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
public void AddeMediumDerNachrichtView(string file)
|
||||
{
|
||||
try
|
||||
{
|
||||
var ChatMessage = _userMessages.Response.Messages.Last();
|
||||
|
||||
var timeformated = DateTime.Now;
|
||||
|
||||
if (ImageExtensions.Contains(Path.GetExtension(file).ToUpperInvariant()))
|
||||
{
|
||||
BitmapImage logo = new BitmapImage();
|
||||
logo.BeginInit();
|
||||
logo.UriSource = new Uri(file);
|
||||
logo.EndInit();
|
||||
|
||||
Messages.Add(new KontaktMessageBuilder(ChatMessage.User_Name, Path.GetFileName(file),
|
||||
timeformated.ToString("dd MMMM yyyy HH:mm:ss"), true, logo,
|
||||
timeformated, file));
|
||||
}
|
||||
else if (DokumentExtension.Contains(Path.GetExtension(file).ToUpperInvariant()))
|
||||
{
|
||||
Messages.Add(new KontaktMessageBuilder(ChatMessage.User_Name, Path.GetFileName(file),
|
||||
timeformated.ToString("dd MMMM yyyy HH:mm:ss"), true,file,
|
||||
timeformated));
|
||||
}
|
||||
else
|
||||
{
|
||||
//MP4 und gifs und so unbehandelten dreck
|
||||
Messages.Add(new KontaktMessageBuilder(ChatMessage.User_Name, Path.GetFileName(file),
|
||||
timeformated.ToString("dd MMMM yyyy HH:mm:ss"), true, file,
|
||||
timeformated));
|
||||
}
|
||||
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
MessageBox.Show("Fehler: " + e.Message, "Fehler", MessageBoxButton.OK);
|
||||
}
|
||||
}
|
||||
|
||||
public void AddMediumContextDerNachrichtView(byte[] datei,string filename)
|
||||
{
|
||||
var ChatMessage = _userMessages.Response.Messages.Last();
|
||||
|
||||
var timeformated = DateTime.Now;
|
||||
|
||||
if (ImageExtensions.Contains(Path.GetExtension(filename).ToUpperInvariant()))
|
||||
{
|
||||
|
||||
BitmapImage biImg = new BitmapImage();
|
||||
MemoryStream ms = new MemoryStream(datei);
|
||||
biImg.BeginInit();
|
||||
biImg.StreamSource = ms;
|
||||
biImg.EndInit();
|
||||
|
||||
ImageSource logo = biImg;
|
||||
|
||||
Messages.Add(new KontaktMessageBuilder(ChatMessage.User_Name, Path.GetFileName(filename),
|
||||
timeformated.ToString("dd MMMM yyyy HH:mm:ss"), true, logo,
|
||||
timeformated, filename));
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Messages.Add(new KontaktMessageBuilder(ChatMessage.User_Name, Path.GetFileName(filename),
|
||||
timeformated.ToString("dd MMMM yyyy HH:mm:ss"), true, filename,
|
||||
timeformated));
|
||||
}
|
||||
}
|
||||
|
||||
public void SendeMediumAnKontakt(AktuellerKontakt kontakt,string file)
|
||||
{
|
||||
try
|
||||
{
|
||||
VerarbeiteMedia(file,kontakt);
|
||||
}
|
||||
catch (Exception e)
|
||||
{
|
||||
@@ -819,9 +914,9 @@ namespace ChatController.HauptKlassen
|
||||
|
||||
string filename = Path.GetFileName(file);
|
||||
|
||||
|
||||
SendMediaMessage(filename, kontakt.GroupId, mdatei);
|
||||
|
||||
//LoadKontakt();
|
||||
|
||||
}
|
||||
|
||||
private static byte[] ReadFully(Stream stream)
|
||||
@@ -997,7 +1092,7 @@ namespace ChatController.HauptKlassen
|
||||
#endregion
|
||||
|
||||
#region Fuege Daten Bilder usw via DragAndDrop in den Chat / muss noch bearbeitet werden
|
||||
public void Einfuegen(long groupOid)
|
||||
public void Einfuegen(long groupOid, ChatMainControl chatMainControl)
|
||||
{
|
||||
var d = System.Windows.Forms.Clipboard.GetDataObject();
|
||||
|
||||
@@ -1016,9 +1111,16 @@ namespace ChatController.HauptKlassen
|
||||
if (File.Exists(fileList[0]))
|
||||
{
|
||||
filename = Path.GetFileName(fileList[0]);
|
||||
|
||||
//file = File.OpenRead(fileList[0]);
|
||||
|
||||
byte[] myBinary = File.ReadAllBytes(fileList[0]);
|
||||
|
||||
AddMediumContextDerNachrichtView(myBinary,filename);
|
||||
|
||||
CollectionViewSource.GetDefaultView(chatMainControl.Chat.ItemsSource).Refresh();
|
||||
|
||||
chatMainControl.Chat.Items.MoveCurrentToLast();
|
||||
chatMainControl.Chat.ScrollIntoView(chatMainControl.Chat.Items.CurrentItem);
|
||||
|
||||
|
||||
SendMediaMessage(filename, groupOid, myBinary);
|
||||
}
|
||||
@@ -1033,7 +1135,14 @@ namespace ChatController.HauptKlassen
|
||||
if (d.GetDataPresent(DataFormats.Text))
|
||||
{
|
||||
string text = (string)d.GetData(DataFormats.StringFormat);
|
||||
|
||||
|
||||
AddeNachrichtDerView(text);
|
||||
|
||||
CollectionViewSource.GetDefaultView(chatMainControl.Chat.ItemsSource).Refresh();
|
||||
|
||||
chatMainControl.Chat.Items.MoveCurrentToLast();
|
||||
chatMainControl.Chat.ScrollIntoView(chatMainControl.Chat.Items.CurrentItem);
|
||||
|
||||
SendMessage(text, groupOid);
|
||||
}
|
||||
else
|
||||
@@ -1045,6 +1154,13 @@ namespace ChatController.HauptKlassen
|
||||
|
||||
System.Drawing.Image img = pic;
|
||||
|
||||
AddMediumContextDerNachrichtView(ImageToByteArray(img),bildname);
|
||||
|
||||
CollectionViewSource.GetDefaultView(chatMainControl.Chat.ItemsSource).Refresh();
|
||||
|
||||
chatMainControl.Chat.Items.MoveCurrentToLast();
|
||||
chatMainControl.Chat.ScrollIntoView(chatMainControl.Chat.Items.CurrentItem);
|
||||
|
||||
SendMediaMessage(bildname,groupOid, ImageToByteArray(img));
|
||||
}
|
||||
else
|
||||
@@ -1394,7 +1510,6 @@ namespace ChatController.HauptKlassen
|
||||
}
|
||||
#endregion
|
||||
|
||||
//unter konstruktion
|
||||
#region pruefe letzten Konversations timestamp für design element
|
||||
|
||||
public Dictionary<int, DateTime> PruefeTimeStampsBeiStart(List<KontaktlistBuilder> kontaktliste)
|
||||
|
||||
@@ -174,7 +174,7 @@ namespace ChatController.HauptKlassen
|
||||
{
|
||||
try
|
||||
{
|
||||
var endurl = _url + "/api/user/login"; //loginwithchatcode
|
||||
var endurl = _url + "/api/user/loginwithchatcode";
|
||||
|
||||
string postdaten = "";
|
||||
|
||||
|
||||
Reference in New Issue
Block a user