Reworked GetDialog to return the dictionary value

This commit is contained in:
Chomp
2025-01-22 16:46:19 +00:00
parent 5da1060df6
commit 9c40900bac
2 changed files with 13 additions and 13 deletions
+1 -1
View File
@@ -292,7 +292,7 @@ public class GameController(
public GameKeepAliveResponse GetKeepAlive(string sessionId)
{
_profileActivityService.SetActivityTimestamp(sessionId);
return new GameKeepAliveResponse() { Message = "OK", UtcTime = _timeUtil.GetTimeStamp() };
return new GameKeepAliveResponse { Message = "OK", UtcTime = _timeUtil.GetTimeStamp() };
}
/// <summary>
+12 -12
View File
@@ -102,7 +102,7 @@ public class MailSendService(
*/
public void SendLocalisedNpcMessageToPlayer(
string sessionId,
string trader,
string? trader,
MessageType messageType,
string messageLocaleId,
List<Item>? items,
@@ -350,7 +350,7 @@ public class MailSendService(
ProfileChangeEvents = (messageDetails.ProfileChangeEvents?.Count == 0) ? messageDetails.ProfileChangeEvents : null
};
// handle replyTo
// Handle replyTo
if (messageDetails.ReplyTo is not null)
{
var replyMessage = GetMessageToReplyTo(messageDetails.RecipientId, messageDetails.ReplyTo, dialogId);
@@ -548,30 +548,30 @@ public class MailSendService(
*/
private Dialogue GetDialog(SendMessageDetails messageDetails)
{
var dialogsInProfile = _dialogueHelper.GetDialogsForProfile(messageDetails.RecipientId);
var senderId = GetMessageSenderIdByType(messageDetails);
if (senderId is null)
{
throw new Exception(_localisationService.GetText("mail-unable_to_find_message_sender_by_id", messageDetails.Sender));
}
var dialogsInProfile = _dialogueHelper.GetDialogsForProfile(messageDetails.RecipientId);
// Does dialog exist
var senderDialog = dialogsInProfile.FirstOrDefault(x => x.Key == senderId).Value;
if (senderDialog is null)
if (!dialogsInProfile.ContainsKey(senderId))
{
// create if doesnt
dialogsInProfile[senderId] = senderDialog = new Dialogue()
// Doesn't exist, create
dialogsInProfile[senderId] = new Dialogue
{
Id = senderId,
Type = (messageDetails.DialogType is not null) ? messageDetails.DialogType : messageDetails.Sender,
Messages = new(),
Type = messageDetails.DialogType ?? messageDetails.Sender,
Messages = [],
Pinned = false,
New = 0,
AttachmentsNew = 0
};
senderDialog = dialogsInProfile[senderId];
}
return senderDialog;
return dialogsInProfile[senderId]; ;
}
/**