public Message(MessageData data, ChatterUser user) { this.Recived = data.Recived; this.Text = data.Text; this.Time = data.Date; this.User = user; }
public void AddUser(ChatterUser source, string id) { var destination = new AgregatorUser(id); Users.Add(destination); AddUser(source, destination); }
public IEnumerable <Message> GetChatMessages(ChatterUser user) { if (user.Messages == null || user.Messages.Count() == 0) { var chatter = user.Chatter; user.Messages = chatter.GetChatForUser(user).ToList(); } return(user.Messages); }
public void SendMessage(ChatterUser user, string message) { Message msg = new Message(user) { Time = DateTime.Now, Text = message, Recived = false }; if (user.Chatter.SendMessage(ref msg)) { AddMessage(new Message[] { msg }, user); } }
public void AddMessage(IEnumerable <Message> messages, ChatterUser user) { if (user.AgregatorUser != null) { if (messages.Any(x => x.Recived)) { user.AgregatorUser.ActiveDialog = user; user.AgregatorUser.DialogExpire = DateTime.Now + user.ResponseTime; } else { //if first output message if (user.AgregatorUser.ActiveDialog == user && user.Messages.Last().Recived) {//no update StartTime, just doble existing waiting time; user.AgregatorUser.DialogExpire += user.ResponseTime; } } } //user = ChatterUsers.First(x => x.UserId == user.UserId); user.Messages.AddRange(messages); MessageAdded?.Invoke(messages, user); }
public void AddUser(ChatterUser source, AgregatorUser destination) { //ChatterUsers.Remove(source); destination.Chatters.Add(source); source.AgregatorUser = destination; }
public Message(ChatterUser user) { this.User = user; }