public void EditUser(DeleteConversationOptions options, string userName)
 {
     if (options.HasFlag(DeleteConversationOptions.DeleteMessages))
     {
         LocalMessageRepository.RemoveMessagesByUser(userName);
     }
     if (options.HasFlag(DeleteConversationOptions.DeleteUser))
     {
         LocalUserRepository.DeleteUser(userName, UserHandler.GetInstance().User);
     }
     MessagingCenter.Send(this, MessageKeys.CONVERSATION_CHANGED, userName);
 }
        public void SyncMessage(MessageSyncInfo messageSyncInfo)
        {
            LocalMessage message = LocalMessageRepository
                                   .GetMessageByLocalIdAndSenderName(messageSyncInfo.LocalId, messageSyncInfo.SenderName);

            if (message is null)
            {
                return;
            }

            message.Id         = messageSyncInfo.Id;
            message.SendedTime = messageSyncInfo.NewDateTime;
            SaveAndShowMessage(message);

            RequestToHideMessage(
                LocalMessageRepository.GetMessageByLocalIdAndSenderName(message.LocalId, message.Sender));
            LocalMessageRepository.RemoveMessageByLocalIdIfWithoutId(message.LocalId);

            ServerConnectionHandler.RequestsToSend.Add(
                RequestConverter.ComposeMessageSynchronised(message.Id));
        }
 public IEnumerable <LocalMessage> GetMessagesWithUsers(string userName1, string userName2)
 {
     return(LocalMessageRepository.GetMessagesWithUsers(userName1, userName2));
 }
 public void SaveAndShowMessage(LocalMessage message)
 {
     LocalMessageRepository.AddMessage(message);
     RequestToShowMessage(message);
 }