Esempio n. 1
0
        private void UpdateMessage(BaseMessage message, Func <BaseMessage, bool> UiUpdateStrategy)
        {
            try
            {
                var mes    = "New message from  @";
                var sender = UserServiceClient.GetUserById(message.SenderId);

                if (message is GroupMessage gMes)
                {
                    if (SelectedContact is ChatGroupUiInfo)
                    {
                        if (gMes.ChatGroupId != (SelectedContact as ChatGroupUiInfo).ChatGroupId)
                        {
                            gMes.SenderName = sender.FirstName;
                            ChatGroup chatGroup = UserServiceClient.GetChatGroupById(gMes.ChatGroupId);

                            mes += chatGroup.Name;
                            mes += " group \n";
                            mes += "\"" + GlobalBase.Base64Decode(message.Text) + "\"";
                            GlobalBase.ShowNotify("New message", mes);
                        }
                        else
                        {
                            UiUpdateStrategy(message);
                        }
                    }
                }
                else if (message is UserMessage uMes)
                {
                    if (SelectedContact is UserUiInfo)
                    {
                        if (uMes.SenderId != (SelectedContact as UserUiInfo).UserId)
                        {
                            mes += sender.FirstName + sender.LastName + "\n";
                            mes += "\"" + GlobalBase.Base64Decode(message.Text) + "\"";
                            GlobalBase.ShowNotify("New message", mes);
                        }
                        else
                        {
                            UiUpdateStrategy(message);
                        }
                    }
                }

                Debug.WriteLine("Receave Message from - ", sender.Login);
            }
            catch (Exception)
            {
            }
        }