From e6eb59e26d2f196fd7e7830f54b90446b6b0a569 Mon Sep 17 00:00:00 2001 From: Thomas Chazot Date: Sun, 16 Oct 2022 12:27:38 +0200 Subject: [PATCH] =?UTF-8?q?ADD:=20Ajout:=20-fonction=20sortMessage=20-fonc?= =?UTF-8?q?tion=20getLastMessage=20Tout=20=C3=A7a=20dans=20conversation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bob_party/src/core/conversation.ts | 30 +++++++++++++++++++++++++++--- bob_party/src/core/message.ts | 4 ++-- 2 files changed, 29 insertions(+), 5 deletions(-) diff --git a/bob_party/src/core/conversation.ts b/bob_party/src/core/conversation.ts index f6c35c1..52fdc34 100644 --- a/bob_party/src/core/conversation.ts +++ b/bob_party/src/core/conversation.ts @@ -3,15 +3,18 @@ import { User } from "./user"; export class Conversation{ - private TabUser?: User[]; - private TabMessage?: Message[]; + private TabUser: User[]; + private TabMessage: Message[]; + private Name?: string; - constructor(tabUser: User[], tabMessage:Message[]){ + constructor(tabUser: User[], tabMessage:Message[], name?:string){ this.TabUser=[...tabUser]; this.TabMessage=[...tabMessage]; + this.Name=name; } getTabMessage(){ + this.sortMessageDesc(); return this.TabMessage; } @@ -25,7 +28,28 @@ export class Conversation{ ajouterMessage(mess:Message){ this.TabMessage?.push(mess); + this.sortMessageDesc(); + } + + getName(){ + return this.Name; + } + + setName(name:string){ + this.Name=name; + } + + getLastMessage(){ + this.sortMessageDesc(); + return this.TabMessage[0]; + } + + sortMessageDesc(){ + this.TabMessage.sort( + (objA, objB) => objB.getMessageDate().getTime() - objA.getMessageDate().getTime(), + ); } } + diff --git a/bob_party/src/core/message.ts b/bob_party/src/core/message.ts index 0327d5c..e4058c2 100644 --- a/bob_party/src/core/message.ts +++ b/bob_party/src/core/message.ts @@ -16,11 +16,11 @@ export class Message{ this.Content=content; } - setSMessageSender(sender: User){ + setMessageSender(sender: User){ this.Sender=sender; } - setSMessageDate(dateEnvoie: Date){ + setMessageDate(dateEnvoie: Date){ this.DateEnvoie=dateEnvoie; }