/// <summary> /// /// </summary> /// <param name="message"></param> public CustomerConversationMessage AddMessage(CustomerConversationMessage message) { EntityEntry <CustomerConversationMessage> newMessage = this._context.CustomerConversationMessages.Add(message); this._context.SaveChanges(); return(newMessage.Entity); }
public async Task MessageFromCustomer(string message) { CustomerConversation searchedConversation = this.repository.GetCustomerConversationByConnectionId(this.Context.ConnectionId); if (searchedConversation != null) { searchedConversation.Unanswered = true; searchedConversation.LastModified = DateTime.Now; this.repository.Update(searchedConversation); } else { searchedConversation = new CustomerConversation(this.Context.ConnectionId); searchedConversation = this.repository.Add(searchedConversation); } CustomerConversationMessage ccMessage = new CustomerConversationMessage(searchedConversation.Id, message); ccMessage.FromCustomer = true; this.repository.AddMessage(ccMessage); // if we have active operator if (activeOperatorConnectionId != null) { var messageJsonResult = new JsonResult(GetMessageJsonObject(ccMessage)); await Clients.Client(activeOperatorConnectionId).SendAsync("ReceiveMessage", this.Context.ConnectionId, messageJsonResult.Value); } }
/// <summary> /// /// </summary> /// <param name="ccMessage"></param> /// <returns></returns> private dynamic GetMessageJsonObject(CustomerConversationMessage ccMessage) { dynamic messageJson = new ExpandoObject(); messageJson.content = ccMessage.Content; messageJson.created = ccMessage.Created.ToShortDateString() + " " + ccMessage.Created.ToShortTimeString(); messageJson.fromcustomer = ccMessage.FromCustomer; return(messageJson); }
public async Task MessageFromOperator(string connectionId, string message) { CustomerConversation conversation = this.repository.GetCustomerConversationByConnectionId(connectionId); if (conversation != null) { CustomerConversationMessage ccMessage = new CustomerConversationMessage(conversation.Id, message); ccMessage.FromCustomer = false; this.repository.AddMessage(ccMessage); conversation.Unanswered = false; conversation.LastModified = DateTime.Now; this.repository.Update(conversation); var messageJsonResult = new JsonResult(GetMessageJsonObject(ccMessage)); await Clients.Client(connectionId).SendAsync("ReceiveMessage", connectionId, messageJsonResult.Value); } }
/// <summary> /// /// </summary> /// <param name="message"></param> public void UpdateMessage(CustomerConversationMessage message) { this._context.CustomerConversationMessages.Update(message); this._context.SaveChanges(); }