private async Task LogMessage(Message message) { try { var user = this._db.Users.First(x => x.Nickname == message.Sender); var dbMessage = new Messages() { Id = this._db.Messages.Count() + 1, Id_Sender = user.Id, Timestamp = message.Timestamp, MessageText = message.MessageText }; this._db.Messages.Add(dbMessage); await this._db.SaveChangesAsync(); } catch(Exception ex) { Console.WriteLine("\nSave Message to DB error:{0}\n",ex.Message); } }
public bool SendMessage(string sender, string messageText) { var message = new Message() { Sender = sender, MessageText = messageText, Timestamp = DateTime.Now }; try { foreach (var callback in this._receiverCallbacks) { callback.OnMessageAdded(message); } Task.Run(async () => { await this.LogMessage(message); }).Wait(); return true; } catch { return false; } }
public void OnMessageAdded(Message message) { Console.WriteLine("Add message begin..."); chatMessages.Add(message.AsString()); Console.WriteLine("Add message finish"); }