public void InsertMessage(ReferenceData.Entity.Message message) { db.Usp_InsertMessage(message.id, message.conversationId, message.senderId, message.content, message.messageType, message.createdAt); if (message.messageType.Equals("FILE")) { string imagesFolder = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName) + @"\Files\Images\"; string otherFolder = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName) + @"\Files\Another_Files\"; if (getFileType(message.content).Equals("IMAGE")) { File.WriteAllBytes(imagesFolder + message.content, message.file); } else { File.WriteAllBytes(otherFolder + message.content, message.file); } } }
public List <ReferenceData.Entity.Message> GetMessagesByConversationId(string conversationId, int offset, int limit) { string imagesFolder = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName) + @"\Files\Images\"; string otherFolder = Path.GetDirectoryName(Process.GetCurrentProcess().MainModule.FileName) + @"\Files\Another_Files\"; var resultSet = db.Usp_GetMessagesByConversationId(conversationId, offset, limit).ToList(); List <ReferenceData.Entity.Message> list = null; if (resultSet.Count > 0) { list = new List <ReferenceData.Entity.Message>(); foreach (var m in resultSet) { ReferenceData.Entity.Message message = new ReferenceData.Entity.Message(); message.id = m.id; message.conversationId = m.conversationId; message.senderId = m.senderId; message.content = m.content; message.messageType = m.messageType; if (m.messageType.Equals("FILE")) { if (getFileType(m.content).Equals("IMAGE")) { message.file = ChatAppUtils.ConvertFileToByte(imagesFolder + m.content); } else { message.file = ChatAppUtils.ConvertFileToByte(otherFolder + m.content); } } message.createdAt = m.createdAt; message.firstName = m.firstName; message.lastName = m.lastName; message.avatar = ChatAppUtils.ConvertFileToByte(imagesFolder + m.avatar); list.Add(message); } } return(list); }
public void Handle() { List <ReferenceData.Entity.Message> mesList = new List <ReferenceData.Entity.Message>(); int a = 0; string textMsg = this.chatBox.txtMessage.Text.Trim(); if (this.chatBox.Conversation.id == null) { this.chatBox.Conversation.id = "conversation" + DateTime.Now.ToUniversalTime().Subtract(new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds; a = 1; } int b = 1; if (this.chatBox.FileItem != null) { if (this.chatBox.FileItem.File.Length <= 5242880) { string[] fileInfo = getFileInfo(this.chatBox.FileItem.FileName); ReferenceData.Entity.Message fileMessage = new ReferenceData.Entity.Message(); fileMessage.id = "" + DateTime.Now.ToUniversalTime().Subtract(new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds; fileMessage.conversationId = this.chatBox.Conversation.id; fileMessage.senderId = this.chatBox.Form.User.id; if (fileInfo[0].Length == this.chatBox.FileItem.FileName.Length) { fileMessage.content = fileInfo[0] + "_" + fileMessage.id; } else { fileMessage.content = fileInfo[0] + "_" + fileMessage.id + "_." + fileInfo[1]; } fileMessage.file = this.chatBox.FileItem.File; fileMessage.messageType = "FILE"; fileMessage.firstName = this.chatBox.Form.User.firstName; fileMessage.lastName = this.chatBox.Form.User.lastName; fileMessage.avatar = this.chatBox.Form.User.avatar; fileMessage.createdAt = DateTime.Now; fileMessage.Conversation = this.chatBox.Conversation; this.chatBox.Conversation.createdAt = DateTime.Now; this.chatBox.Conversation.messageType = "FILE"; this.chatBox.Conversation.content = fileMessage.content; this.chatBox.AddOutMessage(fileMessage); mesList.Add(fileMessage); } else { this.chatBox.Invoke(new VoidDelegate(this.chatBox.ShowErrorSendFile), new object[] { }); b = 0; } } if (!textMsg.Equals("") && b != 0) { ReferenceData.Entity.Message textMessage = new ReferenceData.Entity.Message(); textMessage.id = "" + DateTime.Now.ToUniversalTime().Subtract(new DateTime(1970, 1, 1, 0, 0, 0, DateTimeKind.Utc)).TotalMilliseconds; textMessage.conversationId = this.chatBox.Conversation.id; textMessage.senderId = this.chatBox.Form.User.id; textMessage.content = textMsg; textMessage.messageType = "TEXT"; textMessage.firstName = this.chatBox.Form.User.firstName; textMessage.lastName = this.chatBox.Form.User.lastName; textMessage.avatar = this.chatBox.Form.User.avatar; textMessage.createdAt = DateTime.Now; textMessage.Conversation = this.chatBox.Conversation; this.chatBox.Conversation.createdAt = DateTime.Now; this.chatBox.Conversation.messageType = "TEXT"; this.chatBox.Conversation.content = textMsg; this.chatBox.AddOutMessage(textMessage); mesList.Add(textMessage); } if (a == 1) { insertConversation(); } if (mesList.Count > 0) { if (a == 1) { this.chatBox.Form.InsertConversationList(this.chatBox.Conversation); this.chatBox.Form.DisplayNewConversation(); this.chatBox.Form.SelectConversation(this.chatBox.Conversation); } new InsertMessageHandler(this.chatBox.Form.Client).Handle(mesList); } }