update hoffentlich jetzt alles cool

This commit is contained in:
Waldi
2017-10-24 11:39:59 +02:00
parent 9ba364280c
commit 82defcb751
6 changed files with 204 additions and 159 deletions

View File

@@ -13,7 +13,7 @@
<Grid >
<!--Background="{StaticResource ObjectEditBackgroundBrush}"-->
<Grid.ColumnDefinitions>
<ColumnDefinition Width="2.7*" />
<ColumnDefinition Width="2.7*" MaxWidth="250" />
<ColumnDefinition Width="7.2*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
@@ -271,7 +271,7 @@
<StackPanel Orientation="Vertical">
<Image Stretch="Uniform" MaxHeight="200" MaxWidth="300" Source="{Binding ImageSources}" RenderOptions.BitmapScalingMode="HighQuality" />
<!--<TextBlock Text="{Binding UserMessage}" VerticalAlignment="Center" HorizontalAlignment="Center"/>-->
<TextBlock Text="{Binding UserMessage}" VerticalAlignment="Center" HorizontalAlignment="Left" />
</StackPanel>
</DockPanel>

View File

@@ -131,7 +131,7 @@ namespace ChatController
}
}
#region Styleetter für ownChatDesktop VErsion
#region Style setter für ownChatDesktop Version
public void SetzteStyleAufNull()
{
EmojiButton.Style = null;
@@ -164,8 +164,8 @@ namespace ChatController
DispatcherPriority.Normal,
(Action) delegate
{
CollectionViewSource.GetDefaultView(Clientlist.Items).Refresh();
//Clientlist.Items.Refresh();
//CollectionViewSource.GetDefaultView(Clientlist.Items).Refresh();
Clientlist.Items.Refresh();
});
Thread.Sleep(TimeSpan.FromMinutes(5));
@@ -456,7 +456,8 @@ namespace ChatController
Chat.ScrollIntoView(Chat.Items.CurrentItem);
_chat.SendMessage(Chatbox.Text, kontakt.GroupId);
//UebergebeNachrichtAnKontaktList(Chatbox.Text);
Chatbox.Text = "";
if (Chatbox.Text.Equals(""))
@@ -490,7 +491,6 @@ namespace ChatController
}
}
}
}
private void Chatbox_OnGotFocus(object sender, RoutedEventArgs e)
@@ -524,7 +524,9 @@ namespace ChatController
Chat.ScrollIntoView(Chat.Items.CurrentItem);
_chat.SendMessage(Chatbox.Text, kontakt.GroupId);
//UebergebeNachrichtAnKontaktList(Chatbox.Text);
Chatbox.Text = "";
}
@@ -546,6 +548,37 @@ namespace ChatController
MessageBox.Show("Beim Senden einer Nachricht ist ein Fehler aufgetreten. " + ed.Message + "\n" + ed.StackTrace, "Fehler", MessageBoxButton.OK);
}
}
private void UebergebeNachrichtAnKontaktList(string nachricht)
{
try
{
var aktuellerKontakt = (AktuellerKontakt)AktChatUser.Items[0];
foreach (var liste in _kontaktlist)
{
if (liste.GroupId == aktuellerKontakt.GroupId)
{
liste.ReceiveMs = nachricht;
//var clientZone = TimeZoneInfo.Local;
var x = DateTime.Now;
//var timeformated = TimeZoneInfo.ConvertTimeToUtc(x);
liste.TimeStamp = x;
liste.SetzeGelesen = 0;
}
}
CollectionViewSource.GetDefaultView(Clientlist.Items).Refresh();
}
catch (Exception e)
{
//einfach ignorieren
}
}
#endregion
#region Add Emoji To ChatBox
@@ -729,15 +762,10 @@ namespace ChatController
private void DoWorkAlleNachrichten()
{
while (true)
{
var x = _chat.SchaueNachAllenMessageCounts();
{
var x = _chat.SchaueNachAllenMessageCounts();
if (AlleNachrichtenCount == null)
{
AlleNachrichtenCount = x;
}
if (x > AlleNachrichtenCount)
if (x > 0)
{
this.Dispatcher.BeginInvoke(
DispatcherPriority.Background,
@@ -745,45 +773,50 @@ namespace ChatController
{
var alist = _chat.NeueGroupklassenKontakte();
var aktuellerKontakt =(AktuellerKontakt)AktChatUser.Items[0];
AktuellerKontakt aktuellerKontakt = null;
if (AktChatUser.HasItems)
{
aktuellerKontakt = (AktuellerKontakt) AktChatUser.Items[0];
}
foreach (var liste in _kontaktlist)
{
foreach (var neu in alist)
{
if (liste.GroupId == neu.GroupId)
foreach (var neu in alist)
{
if (!liste.ReceiveMs.Equals(neu.ReceiveMs)) {
if (liste.GroupId == neu.GroupId)
{
if (!liste.ReceiveMs.Equals(neu.ReceiveMs)) {
liste.ReceiveMs = neu.ReceiveMs;
liste.ReceiveMs = neu.ReceiveMs;
liste.TimeStamp = neu.TimeStamp;
if (neu.GroupId == aktuellerKontakt.GroupId)
{
liste.SetzeGelesen = 0;
}
else
{
liste.SetzeGelesen = 1;
if (aktuellerKontakt != null && neu.GroupId == aktuellerKontakt.GroupId)
{
liste.SetzeGelesen = 0;
}
else
{
liste.SetzeGelesen = 1;
}
}
}
}
}
}
Clientlist.Items.Refresh();
Clientlist.Items.Refresh();
});
AlleNachrichtenCount = x;
}
if (AlleNachrichtenThreadBool == false)
{
break;
}
//Task.Delay(5000);
}
Thread.Sleep(5000);
Thread.Sleep(5000);
}
}
@@ -929,10 +962,7 @@ namespace ChatController
#region ReloadGruppen (For Stand Alone version)
private void ButtonReloadGruppen_OnClick(object sender, RoutedEventArgs e)
{
//Thread newThread = new Thread(DoSynchro);
//newThread.IsBackground = true;
//newThread.Start();
{
DoSynchro();
}
@@ -942,17 +972,19 @@ namespace ChatController
{
Cursor = Cursors.Wait;
SpeichereMessageInfoInDatei();
var aktuelleGruppen = _chat.GruppenAktuallisieren();
var x = _chat.GroupklassenAktuallisieren(aktuelleGruppen);
CollectionViewSource.GetDefaultView(Clientlist.ItemsSource).Refresh();
//Clientlist.Items.Refresh();
_kontaktlist = x;
LeseMessageInfoAusDatei();
Clientlist.Items.Refresh();
Cursor = Cursors.Arrow;
}
catch (Exception e)
{
@@ -961,8 +993,7 @@ namespace ChatController
}
#endregion
//muss erweitert werden
#region speichern sowie lesen der MessageSyncDatei / stylezwecke
public void SpeichereMessageInfoInDatei()
{

View File

@@ -43,6 +43,7 @@ namespace ChatController.HauptKlassen
public static readonly List<string> ImageExtensions = new List<string> { ".JPG", ".JPE", ".BMP", ".GIF", ".PNG", ".JPEG" };
public static readonly List<string> DokumentExtension = new List<string> { ".TXT", ".PPT", ".XLS", ".DOC" };
private long lastTimeStamp=0;
public Chat(ChatDatenUebergabe chatDaten)
{
@@ -52,42 +53,54 @@ namespace ChatController.HauptKlassen
#region Gruppen In Kontaktliste Wandler
public IOrderedEnumerable<KontaktlistBuilder> GroupklassenInChatKontakteUmwandler()
{
foreach (var kontakt in ChatDaten.Groupconect.Response)
foreach (var kontakt in ChatDaten.Groupconect.Response)
{
foreach (var value in kontakt.Value)
{
foreach (var value in kontakt.Value)
string message = "";
DateTime timestamp = new DateTime();
var lastMS = value.LastMessage;
DateTime timeformated = new DateTime();
if (lastMS != null)
{
string message = "";
DateTime timestamp = new DateTime();
var lastMS = value.LastMessage;
if (lastMS != null)
if (lastMS.Text != null)
{
if (lastMS.Text != null)
{
message = lastMS.Text;
timestamp = DateTime.Parse(lastMS.Timestamp.Date);
}
}
message = lastMS.Text;
if (message.Equals("") && value.LastMessage != null && !value.LastMessage.File.Equals(""))
{
message = Path.GetFileName(value.LastMessage.File);
}
timestamp = DateTime.Parse(lastMS.Timestamp.Date);
//null steht für employee
Kontaktliste.Add(new KontaktlistBuilder(value.Name, AvatarToImageSourceConverter(value.Avatar),
message, timestamp, value.Oid, null));
var clientZone = TimeZoneInfo.Local;
timeformated = TimeZoneInfo.ConvertTimeFromUtc(timestamp, clientZone);
}
}
if (message.Equals("") && value.LastMessage != null && !value.LastMessage.File.Equals(""))
{
message = Path.GetFileName(value.LastMessage.File);
}
//null steht für employee
Kontaktliste.Add(new KontaktlistBuilder(value.Name, AvatarToImageSourceConverter(value.Avatar),
message, timeformated, value.Oid, null));
TimeSpan span = (DateTime.Parse(lastMS.Timestamp.Date) - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc));
long unixTime = System.Convert.ToInt64(span.TotalSeconds);
if (lastTimeStamp < unixTime)
{
lastTimeStamp = unixTime;
}
}
}
var sortedKontaktliste = Kontaktliste.OrderByDescending(r => r.TimeStamp);
var sortedKontaktliste = Kontaktliste.OrderByDescending(r => r.TimeStamp);
return sortedKontaktliste;
return sortedKontaktliste;
//Search Bereich
//CollectionView view = (CollectionView)CollectionViewSource.GetDefaultView(Clientlist.ItemsSource);
//view.SortDescriptions.Add(new SortDescription("TimeStamp", ListSortDirection.Descending));
@@ -591,7 +604,7 @@ namespace ChatController.HauptKlassen
#region Prüfe für alle ob neue Nachrichten vorhanden sind
public double SchaueNachAllenMessageCounts()
{
{
TimeSpan span = (DateTime.UtcNow - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc));
long unixTime = System.Convert.ToInt64(span.TotalSeconds);
@@ -604,7 +617,7 @@ namespace ChatController.HauptKlassen
{
try
{
var endurl = ChatDaten.ServerUrl + "/api/ownchat/news/" + groupId + "/" + lastStamp;
var endurl = ChatDaten.ServerUrl + "/api/ownchat/news/" + groupId + "/" + lastTimeStamp; //lastStamp
WebRequest request = WebRequest.Create(endurl);
@@ -645,6 +658,7 @@ namespace ChatController.HauptKlassen
{
string message = "";
DateTime timestamp = new DateTime();
DateTime timeformated = new DateTime();
var lastMS = value.LastMessage;
@@ -654,6 +668,9 @@ namespace ChatController.HauptKlassen
{
message = lastMS.Text;
timestamp = DateTime.Parse(lastMS.Timestamp.Date);
var clientZone = TimeZoneInfo.Local;
timeformated = TimeZoneInfo.ConvertTimeFromUtc(timestamp, clientZone);
}
}
@@ -664,7 +681,16 @@ namespace ChatController.HauptKlassen
//null steht für employee
Kontakt.Add(new KontaktlistBuilder(value.Name, AvatarToImageSourceConverter(value.Avatar),
message, timestamp, value.Oid, null));
message, timeformated, value.Oid, null));
TimeSpan span = (DateTime.Parse(lastMS.Timestamp.Date) - new DateTime(1970, 1, 1, 0, 0, 0, 0, DateTimeKind.Utc));
long unixTime = System.Convert.ToInt64(span.TotalSeconds);
if (lastTimeStamp < unixTime)
{
lastTimeStamp = unixTime;
}
}
}
@@ -729,11 +755,18 @@ namespace ChatController.HauptKlassen
{
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));
string username = "";
foreach (var daten in ChatDaten.Userconect.Response)
{
username = daten.Value.Firstname + " " + daten.Value.Lastname;
}
var time = DateTime.Now;
Messages.Add(new KontaktMessageBuilder(username, nachricht,
time.ToString("dd MMMM yyyy HH:mm:ss"), true, time));
}
catch (Exception e)
{
@@ -1222,7 +1255,6 @@ namespace ChatController.HauptKlassen
#endregion
#endregion
#region Zeige Kontakt Bild / hat noch probleme -> Show Kontakt
@@ -1578,8 +1610,6 @@ namespace ChatController.HauptKlassen
{
try
{
//Hole alle aktuellen, schreibe ihre oid und den Timestamp der Aktuellen nachricht in eine Datei
if (!File.Exists(Path.Combine(GetAndCreateUserAppDataPath(), "ownChatMessageSync.txt")))
{
using (

View File

@@ -64,9 +64,7 @@ namespace ChatController.HauptKlassen
dic.Add("chatcode",_chatCode);
VerbindeMitChatServer(dic);
// Gruppen abfragen
if (_ownchatVerbindungsaufbauOK)
{
GruppenHolen();
@@ -74,8 +72,7 @@ namespace ChatController.HauptKlassen
if (_gruppeholenverbindungsaufbauOK)
{
{
ChatDatenUebergabe ubergabe = new ChatDatenUebergabe(_serverconect, _userconect, _groupconect, _serverUrl, _authToken, _userid, _kundennummer,_apikey);
return ubergabe;
@@ -102,7 +99,7 @@ namespace ChatController.HauptKlassen
}
catch (Exception e)
{
MessageBox.Show("Es konnte keine Verbindung aufgebaut werden.", "Fehler", MessageBoxButton.OK);
MessageBox.Show("Fehler: Es konnte keine Verbindung aufgebaut werden.", "Fehler", MessageBoxButton.OK,MessageBoxImage.Error);
return false;
}
@@ -117,12 +114,12 @@ namespace ChatController.HauptKlassen
if (jsonDatentyp.Status == 1)
{
MessageBox.Show("Kundennummer unbekannt");
MessageBox.Show("Fehler: Kundennummer unbekannt.\nBitte überprüfen Sie die Anmeldeinformationen.","Info",MessageBoxButton.OK,MessageBoxImage.Asterisk);
return false;
}
else if (jsonDatentyp.Status == 2)
{
MessageBox.Show("Diensttyp ist für angegebene Kundennummer nicht definiert");
MessageBox.Show("Der Diensttyp ist für die angegebene Kundennummer nicht definiert.","Info",MessageBoxButton.OK,MessageBoxImage.Asterisk);
return false;
}
else
@@ -138,12 +135,12 @@ namespace ChatController.HauptKlassen
if (jsonDatentyp.Status == 1)
{
MessageBox.Show("Kundennummer unbekannt");
MessageBox.Show("Fehler: Kundennummer unbekannt.\nBitte überprüfen Sie die Anmeldeinformationen.","Info",MessageBoxButton.OK,MessageBoxImage.Asterisk);
return false;
}
else if (jsonDatentyp.Status == 2)
{
MessageBox.Show("Diensttyp ist für angegebene Kundennummer nicht definiert");
MessageBox.Show("Der Diensttyp ist für die angegebene Kundennummer nicht definiert.","Info",MessageBoxButton.OK,MessageBoxImage.Asterisk);
return false;
}
else
@@ -153,8 +150,8 @@ namespace ChatController.HauptKlassen
}
catch (Exception e)
{
MessageBox.Show("Beim Parsen der Datei ist ein fehler aufgetreten.", "Fehler",
MessageBoxButton.OK);
MessageBox.Show("Fehler: "+e.Message,"Fehler",MessageBoxButton.OK,MessageBoxImage.Error);
}
}
@@ -165,13 +162,14 @@ namespace ChatController.HauptKlassen
}
catch (Exception e)
{
MessageBox.Show("Ein nicht weiter definierter fehler ist aufgetreten: "+ e.Message,"Fehler",MessageBoxButton.OK);
MessageBox.Show("Fehler: "+ e.Message,"Fehler",MessageBoxButton.OK,MessageBoxImage.Error);
return false;
}
}
private void VerbindeMitChatServer(Dictionary<string, string> postparameter)
{
string fehlermeldung = "";
try
{
var endurl = _url + "/api/user/loginwithchatcode";
@@ -208,38 +206,36 @@ namespace ChatController.HauptKlassen
string pageContent = myStreamReader.ReadToEnd();
//UserDaten müssen mehrere wege der initialisierung bieten
if (!pageContent.Equals(""))
{
//_serverCheckOK = true;
//string[] array = responseFromServer.Split(':');
//Json Verarbeitungsgedöns Dictionary < string, TestKlasse>
var jsonDaten = JsonConvert.DeserializeObject<UserDaten>(pageContent);
//var serv = jsonDaten[_chatcode].ServerName;
foreach (var datev in jsonDaten.Response)
if (jsonDaten.Success == true)
{
_authToken = datev.Value.Token;
_userid = datev.Value.Oid;
foreach (var datev in jsonDaten.Response)
{
_authToken = datev.Value.Token;
_userid = datev.Value.Oid;
}
_userconect = jsonDaten;
_ownchatVerbindungsaufbauOK = true;
}
else
{
if (jsonDaten.Errors.chatcode_failed != null)
{
MessageBox.Show("Fehler: "+ jsonDaten.Errors.chatcode_failed[0] + "\nBitte überprüfen Sie die Anmeldeinformationen.", "Info", MessageBoxButton.OK, MessageBoxImage.Asterisk);
}else if (jsonDaten.Errors.login_failed != null)
{
MessageBox.Show("Fehler: "+ jsonDaten.Errors.login_failed[0] + "\nBitte überprüfen Sie die Anmeldeinformationen.", "Info", MessageBoxButton.OK, MessageBoxImage.Asterisk);
}
_ownchatVerbindungsaufbauOK = false;
}
_userconect = jsonDaten;
_ownchatVerbindungsaufbauOK = true;
}
else
{
//throw fehler
// MessageBox.Show("Keine Daten Vorhanden.");
}
// MessageBox.Show(pageContent);
myStreamReader.Close();
responseStream.Close();
@@ -247,7 +243,7 @@ namespace ChatController.HauptKlassen
catch (Exception e)
{
//throw fehler
MessageBox.Show(e.Message, "Fehler", MessageBoxButton.OK);
MessageBox.Show(e.Message, "Fehler", MessageBoxButton.OK,MessageBoxImage.Error);
}
}
@@ -262,38 +258,28 @@ namespace ChatController.HauptKlassen
request.Credentials = CredentialCache.DefaultCredentials;
request.Headers["Token"] = _authToken;
request.Headers["CustomerID"] = _kundennummer;
// Get the response.
WebResponse response = request.GetResponse();
// Display the status.
var statusResponse = ((HttpWebResponse)response).StatusDescription;
string responseFromServer = ReadStream(response);
//verarbeite hier zu json
if (!responseFromServer.Equals(""))
{
//################# Deserialisierung mit Json ###############################
var jsonDaten = JsonConvert.DeserializeObject<ChatGruppenDaten>(responseFromServer);
_groupconect = jsonDaten;
// var serv = jsonDaten[_chatcode].ServerName;
//MessageBox.Show(responseFromServer);
_gruppeholenverbindungsaufbauOK = true;
}
else
{
// MessageBox.Show("Keine Daten Vorhanden.");
}
response.Close();
}
catch (Exception e)
{
// MessageBox.Show(e.Message, "Fehler", MessageBoxButton.OK);
MessageBox.Show("Fehler: "+e.Message, "Fehler", MessageBoxButton.OK,MessageBoxImage.Error);
}
}

View File

@@ -39,10 +39,6 @@ namespace ChatController
public event LoginDelegate OnLogin;
//private readonly string _dateiPfad = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "ownChatX1253781.txt"; //OwnChatX1253781
//private readonly string _merkeDaten = Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location) + "ownChatX1253782.txt"; //OwnChatX1253782
private string _newUrl = "https://dict.ownchat.de/api/server/resolve/1/";
private string _benutzername = "";
private string _passwort = "";
@@ -103,10 +99,11 @@ namespace ChatController
OnLogin(x);
}
else
{
MessageBox.Show("Fehler bei der Anmeldung. Bitte überprüfen Sie die Anmeldeinformationen.", "Info", MessageBoxButton.OK, MessageBoxImage.Asterisk);
}
//else
//{
// Auskommentiert weil bereits abgefangen
// MessageBox.Show("Fehler bei der Anmeldung. Bitte überprüfen Sie die Anmeldeinformationen.", "Info", MessageBoxButton.OK, MessageBoxImage.Asterisk);
//}
Cursor = Cursors.Arrow;
}
@@ -117,13 +114,10 @@ namespace ChatController
}
catch (Exception exception)
{
//MessageBox.Show("Fehler bei der Anmeldung!\n\n" + exception.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Asterisk);
MessageBox.Show("Fehler bei der Anmeldung. Bitte überprüfen Sie die Anmeldeinformationen.", "Info", MessageBoxButton.OK, MessageBoxImage.Asterisk);
//throw;
MessageBox.Show("Fehler:"+exception.Message, "Fehler", MessageBoxButton.OK, MessageBoxImage.Error);
Cursor = Cursors.Arrow;
}
}
}
#region Speichern / Laden / Löschen der Datei
@@ -331,8 +325,7 @@ namespace ChatController
}
#endregion
//Neue Region zum VErschlüsseln und entschlüsseln der Daten
#region Verschlüsseln/Entschlüsseln via Link // wird ersmal nicht mehr gebraucht
@@ -477,8 +470,7 @@ namespace ChatController
}
}
#endregion
}

View File

@@ -10,7 +10,7 @@ namespace ChatController.Klassen
{
public Dictionary<string, TestInput> Response { get; set; }
public string Message { get; set; }
public string Errors { get; set; }
public Tetserror Errors { get; set; }
public bool Success { get; set; }
}
@@ -31,4 +31,10 @@ namespace ChatController.Klassen
public string Token { get; set; }
}
public class Tetserror
{
public string[] chatcode_failed{ get; set; }
public string[] login_failed { get; set; }
}
}