/// <summary> /// Add Message /// </summary> /// <param name="oneMessage">One message (text, voice, video)</param> /// <param name="typeConversation">Type conversation (Enum TypeConversation)</param> /// <returns>true if add successfull</returns> bool IOperate.AddMessage(ChatMessage oneMessage, TypeConversation typeConversation) { bool result = false; try { //Chat if (typeConversation == TypeConversation.Chat) { FileStream fs = new FileStream(Manager.tempChatDirectory + "\\fileDatabase.txt", FileMode.OpenOrCreate, FileAccess.Write); StreamWriter m_streamWriter = new StreamWriter(fs); m_streamWriter.BaseStream.Seek(0, SeekOrigin.End); //sender m_streamWriter.WriteLine("Sender: " + oneMessage.Sender); //recipients string recipients = string.Empty; foreach (string oneRecipient in oneMessage.Recipients) { if (!string.IsNullOrEmpty(recipients)) { recipients += ", "; } recipients += oneRecipient; } m_streamWriter.WriteLine("Recipients: " + recipients); //information m_streamWriter.WriteLine("Date: " + oneMessage.Date.ToString()); m_streamWriter.WriteLine("Message: " + oneMessage.Message); m_streamWriter.WriteLine(""); m_streamWriter.Flush(); m_streamWriter.Close(); CountChatMessage++; result = true; } //Voice else if (typeConversation == TypeConversation.Audio) { //not implement } //Video else if (typeConversation == TypeConversation.Video) { //not implement } } catch (Exception ex) { ErrorCode = ex.Message; } return result; }
/// <summary> /// Change status message /// </summary> /// <remarks> /// Chat messages /// </remarks> /// <param name="chatmessage">talk to person (always) one person</param> /// <param name="status">status of talk</param> private void ChangeMessageStatus(SKYPE4COMLib.ChatMessage chatmessage, SKYPE4COMLib.TChatMessageStatus status) { try { //chat receive if ((status == TChatMessageStatus.cmsReceived) && (chatmessage.Type == TChatMessageType.cmeSaid)) { List<string> listOfRecipients = new List<string>(); if (chatmessage.Chat.Type == TChatType.chatTypeMultiChat) { //conferenc talk > 2 users UserCollection collectionOfUsers = chatmessage.Chat.Members as UserCollection; foreach (User oneUser in collectionOfUsers) { listOfRecipients.Add(oneUser.Handle); } } else { //pair talk < 3 users listOfRecipients.Add(skype.CurrentUser.Handle); } ChatMessage receiveChatMessage = new ChatMessage(chatmessage.FromHandle, listOfRecipients, chatmessage.Body, chatmessage.Timestamp, chatmessage.Chat.Blob); interfaceToOperate.AddMessage(receiveChatMessage, TypeConversation.Chat); } //chat send else if ((status == TChatMessageStatus.cmsSending) && (chatmessage.Type == TChatMessageType.cmeSaid)) { List<string> listOfRecipients = new List<string>(); string recipient = string.Empty; if (chatmessage.Chat.Type == TChatType.chatTypeMultiChat) { //conferenc talk > 2 users UserCollection collectOfUsers = chatmessage.Chat.Members as UserCollection; foreach (User oneUser in collectOfUsers) { if (oneUser.Handle != skype.CurrentUser.Handle) { //if itsn't me listOfRecipients.Add(oneUser.Handle); } } } else { //talk in one person recipient = chatmessage.Chat.DialogPartner; listOfRecipients.Add(recipient); } ChatMessage receiveChatMessage = new ChatMessage(chatmessage.FromHandle, listOfRecipients, chatmessage.Body, chatmessage.Timestamp, chatmessage.Chat.Blob); interfaceToOperate.AddMessage(receiveChatMessage, TypeConversation.Chat); } } catch (Exception ex) { ErrorCode = ex.Message; } }
/// <summary> /// Delete Message /// </summary> /// <param name="oneMessage">One message (text, voice, video)</param> /// <param name="typeConversation">Type conversation (Enum TypeConversation)</param> /// <returns>true if add successfull</returns> bool IOperate.DeleteMessage(ChatMessage oneMessage, TypeConversation typeConversation) { bool result = false; try { //Chat if (typeConversation == TypeConversation.Chat) { //not yet implement //CountChatMessage--; //result = true; } //Voice else if (typeConversation == TypeConversation.Audio) { //not implement } //Video else if (typeConversation == TypeConversation.Video) { //not implement } } catch (Exception ex) { ErrorCode = ex.Message; } return result; }
bool IOperate.DeleteMessage(ChatMessage oneMessage, TypeConversation typeConversation) { return true; }