Bilder werden wieder angezeigt

This commit is contained in:
2026-03-23 16:11:06 +01:00
parent 0f8d538136
commit 1cfc856407
8 changed files with 35 additions and 57 deletions

View File

@@ -70,7 +70,7 @@ namespace ChatController.ChatKlassen
OriginalImage = originalImage;
OriginalImageName = imageName;
if(MessageId == 0 && MessageType == ChatMessageType.Image && !(logo is null))
if(MessageId == 0 && MessageType == ChatMessageType.Image && false == logo is null)
{
PictureSource = logo;
PicturePlaceholderHeight = (int) logo.Height;

View File

@@ -295,7 +295,7 @@ namespace ChatController
var contact = _ContactList.FirstOrDefault(a => a.Contact.GroupId == pGroupId);
if(!(contact is null))
if(false == contact is null)
{
notificationIcon = Utils.ImageSourceToIcon(contact.Contact.Image);
}
@@ -396,7 +396,7 @@ namespace ChatController
_ScrollPrueferAktivieren = false;
if(contact?.HasUnreadMessages ?? false)
if((bool) contact?.HasUnreadMessages)
{
contact.HasUnreadMessages = false;
@@ -404,22 +404,20 @@ namespace ChatController
OnPropertyChanged(nameof(ContactList));
}
var currentContact = contact;
contact.IsNewMessage = false;
var shouldChangeIcon = _ContactList.Any(contactDependencyObject => contactDependencyObject?.Contact?.IsNewMessage ?? false);
if(shouldChangeIcon && ContainingWindow != null)
if(shouldChangeIcon && false == ContainingWindow is null)
{
ContainingWindow.Icon = Utils.ConvertIconToImageSource(Resource.ownchat_favicon);
}
CurrentContact = currentContact;
CurrentContact = contact;
OnPropertyChanged(nameof(IsSendButtonEnabled));
if(!(Clientlist is null))
if(false == Clientlist is null)
{
foreach(var obj in Clientlist.Items)
{
@@ -433,7 +431,7 @@ namespace ChatController
_ChatMessages?.Clear();
OnPropertyChanged(nameof(_ChatMessages));
Chat?.LoadChatMessagesForContactAsync(currentContact, GetFirstMessage(), chatMessages =>
Chat?.LoadChatMessagesForContactAsync(contact, GetFirstMessage(), chatMessages =>
{
this.Dispatch(() =>
{
@@ -745,7 +743,7 @@ namespace ChatController
{
_ChatMessageFileWrapper = value;
OnPropertyChanged(nameof(ChatMessageFileWrapper));
OnPropertyChanged();
OnPropertyChanged(nameof(IsSendButtonEnabled));
OnPropertyChanged(nameof(FilePreviewGridVisibility));
OnPropertyChanged(nameof(ChatListBoxVisibility));
@@ -781,23 +779,6 @@ namespace ChatController
private void Chatbox_OnKeyDownHandler(object sender, KeyEventArgs e)
{
//if (e.Key == Key.Return)
//{
// if(CurrentContact != null && !string.IsNullOrEmpty(Chatbox.Text))
// {
// Chat.AddNewMessage(Chatbox.Text, CurrentContact.GroupId);
// OnPropertyChanged(nameof(CurrentChatMessages));
// ChatListBox.Items.MoveCurrentToLast();
// ChatListBox.ScrollIntoView(ChatListBox.Items.CurrentItem);
// Chat.SendMessage(Chatbox.Text, CurrentContact.GroupId);
// Chatbox.Text = string.Empty;
// }
//}
OnPropertyChanged(nameof(IsBroadcastButtonEnabled));
OnPropertyChanged(nameof(IsSendButtonEnabled));
}
@@ -934,13 +915,12 @@ namespace ChatController
var userOid = Chat.ChatDaten.LoggedInUser.Response.User.Oid;
var senderId = contactDependencyObject.Contact.ReceivedMessage?.UserId;
var receiverId = userOid;
var receiverGroupId = newContact.GroupId;
var selectedGroupId = selectedContact?.GroupId;
if(senderId != receiverId && (_IsInBackground || receiverGroupId != selectedGroupId))
if(senderId != userOid && (_IsInBackground || receiverGroupId != selectedGroupId))
{
if(!(ContainingWindow is null))
if(false == ContainingWindow is null)
{
ContainingWindow.Icon = Utils.ConvertIconToImageSource(Resource.oC_favico_NewMessage);
}
@@ -949,7 +929,7 @@ namespace ChatController
}
// Wenn der momentan ausgewählte Kontakt der aktuelle Kontakt in der Schleife ist, werden die Nachrichten nicht als ungelesen angezeigt, sonst schon.
if(!(CurrentContact is null) && newContact.GroupId == CurrentContact.GroupId)
if(false == CurrentContact is null && newContact.GroupId == CurrentContact.GroupId)
{
contactDependencyObject.Contact.HasUnreadMessages = false;
}

View File

@@ -13,6 +13,7 @@ using System.Net.Http;
using System.Runtime.CompilerServices;
using System.Threading;
using System.Threading.Tasks;
using System.Web.UI.WebControls;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
@@ -88,7 +89,7 @@ namespace ChatController.HauptKlassen
// Führt zu doppelter neuester Nachricht, wenn man vorher eine verschickt hat!
public void LoadChatMessagesForContactAsync(Contact contact, ChatMessage previousMessage, Action<List<ChatMessage>> callback)
{
if(!(contact is null))
if(false == contact is null)
{
LoadMessagesFromServerAsync(contact.GroupId, delegate
{
@@ -946,14 +947,14 @@ namespace ChatController.HauptKlassen
var clientZone = TimeZoneInfo.Local;
var formattedTime = TimeZoneInfo.ConvertTimeFromUtc(time, clientZone);
var isLoggedInUsersMessage = !(ChatDaten.Userid is null) && message.UserId == ChatDaten.Userid.Value;
var messageText = message.Text ?? (string.IsNullOrEmpty(message.File) ? string.Empty : message.OriginalFilename);
var isLoggedInUsersMessage = false == ChatDaten.Userid is null && message.UserId == ChatDaten.Userid.Value;
var messageText = message.Text ?? (string.IsNullOrEmpty(message.FileProtected) ? string.Empty : message.OriginalFilename);
if(!string.IsNullOrEmpty(message.File))
if(false == string.IsNullOrEmpty(message.FileProtected))
{
var message2Add = Constants.ImageFileExtensions.Contains(Path.GetExtension(message.File).ToUpperInvariant()) ? //SmallerImage ist null
new ChatMessage(message.GroupId, message.Id, message.UserName, messageText, formattedTime, isLoggedInUsersMessage, message.FileSize, message.SmallerImage, message.File, message.OriginalFilename, null, null, ChatMessageType.Image, message.UserId) :
new ChatMessage(message.GroupId, message.Id, message.UserName, messageText, formattedTime, isLoggedInUsersMessage, 0, message.File, null, null, message.SmallerImage, null, ChatMessageType.Document, message.UserId);
var message2Add = Constants.ImageFileExtensions.Contains(Path.GetExtension(message.FileProtected).ToUpperInvariant()) ? //SmallerImage ist null
new ChatMessage(message.GroupId, message.Id, message.UserName, messageText, formattedTime, isLoggedInUsersMessage, message.FileSize, message.SmallerImage, message.FileProtected, message.OriginalFilename, null, null, ChatMessageType.Image, message.UserId) :
new ChatMessage(message.GroupId, message.Id, message.UserName, messageText, formattedTime, isLoggedInUsersMessage, 0, message.FileProtected, null, null, message.SmallerImage, null, ChatMessageType.Document, message.UserId);
result.AddIfNotIn(message2Add);
}
@@ -975,9 +976,7 @@ namespace ChatController.HauptKlassen
chatMessages = new List<ChatMessage>();
}
var test = chatMessages.Any(a => a is null);
var messagesWithoutSeparators = chatMessages.Where(message => !message.IsSeparator).OrderBy(message => message.SendTime).ToList();
var messagesWithoutSeparators = chatMessages.Where(message => message != null && false == message.IsSeparator).OrderBy(message => message.SendTime).ToList();
var separators = new List<ChatMessage>();
@@ -985,7 +984,7 @@ namespace ChatController.HauptKlassen
foreach(var message in messagesWithoutSeparators.OrderBy(message => message.SendTime))
{
if(!message.Equals(previousMessage) && !(previousMessage is null))
if(false == message.Equals(previousMessage) && false == previousMessage is null)
{
if(message.SendTime.Date != previousMessage.SendTime.Date)
{

View File

@@ -3,10 +3,6 @@ using System.Collections.Generic;
using System.Diagnostics;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Net.Security;
using System.Security.Cryptography.X509Certificates;
using System.Threading.Tasks;
using System.Web;
using System.Windows;
using ChatController.Core;

View File

@@ -1,5 +1,4 @@
using System;
using Newtonsoft.Json;
using Newtonsoft.Json;
namespace ChatController.LoginKlassen
{
@@ -50,6 +49,9 @@ namespace ChatController.LoginKlassen
[JsonProperty("file")]
public string File { get; set; }
[JsonProperty("file_protected")]
public string FileProtected { get; set; }
[JsonProperty("original_filename")]
public string OriginalFilename { get; set; }

View File

@@ -5,7 +5,6 @@ using System.Runtime.CompilerServices;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using ChatController.Annotations;
using ChatController.Core;
namespace ChatController.Utilities
{
@@ -20,7 +19,7 @@ namespace ChatController.Utilities
set
{
_OriginalFilePath = value;
OnPropertyChanged(nameof(OriginalFilePath));
OnPropertyChanged();
OnPropertyChanged(nameof(FileName));
}
}
@@ -32,7 +31,7 @@ namespace ChatController.Utilities
set
{
_ScaledFilePath = value;
OnPropertyChanged(nameof(ScaledFilePath));
OnPropertyChanged();
}
}
@@ -44,7 +43,7 @@ namespace ChatController.Utilities
private set
{
_ChatMessageImageSource = value;
OnPropertyChanged(nameof(ChatMessageImageSource));
OnPropertyChanged();
}
}

View File

@@ -36,6 +36,8 @@ namespace ChatController.Utilities
}
}
private static readonly object _Lock = new object();
/// <summary>
/// Lädt ein Bild aus einer Nachricht herunter.
/// </summary>
@@ -80,7 +82,7 @@ namespace ChatController.Utilities
request.AddHeader(Constants.Token, AuthToken);
request.AddHeader(Constants.CustomerId, Tenant);
client.ExecuteAsync(request, null);
client.ExecuteAsync(request, (a,b)=>{});
}
private static Rotation GetRotationFromExifTag(int value)
@@ -110,7 +112,7 @@ namespace ChatController.Utilities
var cachedImage = cache.GetImageSourceFromCache(key, uri, cacheCategory);
if(!(cachedImage is null))
if(false == cachedImage is null)
{
callback?.Invoke(cachedImage);
return;