/// <summary> /// Creer Nouvelle Conversation /// </summary> /// <param name="newChat"></param> /// <returns></returns> public bool SaveChat (Chat newChat) { using (var db = new StationContext()) { if(newChat.Persons.Count < 2) throw new InvalidOperationException("CONVERSATION_MUST_HAVE_AT_LEAST_TWO_PERSONS"); if(newChat.ChatGuid==Guid.Empty) newChat.ChatGuid=Guid.NewGuid(); newChat.DateAdded =DateTime.Now; newChat.AddUserGuid =Guid.Empty; newChat.LastEditUserGuid =Guid.Empty; newChat.LastEditDate =DateTime.Now; //foreach (var talker in newConversation.Persons) //{ // if(talker.PersonGuid==Guid.Empty) // talker.PersonGuid=Guid.NewGuid(); // db.Set<Person>().Add(talker); //} foreach(var talk in newChat.Messages.Where(talk => talk.MessageGuid==Guid.Empty)) talk.MessageGuid=Guid.NewGuid(); db.Set<Chat>().Add(newChat); return db.SaveChanges()>0; } }
/// <summary> /// default /// </summary> /// <param name="chat"></param> public ChatCard(Chat chat) { var lastChat = chat.Messages.OrderByDescending(c => c.DateAdded).FirstOrDefault(); ChatGuid=chat.ChatGuid; LastSenderName =lastChat?.Sender.FullName; LastSenderPhoto =lastChat?.Sender.PhotoIdentity; LastBody =lastChat?.Body; LastDateString =(lastChat?.DateAdded.GetValueOrDefault()).Friendly(); }