Пример #1
0
        /// <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;
            }
        }
Пример #2
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();
        }