Beispiel #1
0
        public bool SaveOrUpdateChatHeader(ChatHeader record, DbActionFlag flag)
        {
            try
            {
                if (DbActionFlag.Create == flag)
                {
                    _context.ChatHeader.Add(record);
                }
                else if (DbActionFlag.Update == flag)
                {
                    _context.Entry(record).State = System.Data.Entity.EntityState.Modified;
                }
                else if (DbActionFlag.Delete == flag)
                {
                    _context.ChatHeader.Remove(record);
                }

                _context.SaveChanges();
                return(true);
            }
            catch (Exception ex)
            {
                return(false);
            }
        }
        public object Deserialize(
            StreamReader streamReader,
            SerializationContext serializationContext,
            PropertyMetaData propertyMetaData = null)
        {
            var header = new ChatHeader();

            header.PacketType = (ChatMessageType)streamReader.ReadInt16();
            header.Size       = streamReader.ReadInt16();
            return(header);
        }
Beispiel #3
0
        private async void ActivateFromURI(ProtocolActivatedEventArgs args)
        {
            // Parse the URI to extract the protocol and the contact ids
            Uri uri = args.Uri;

            string real   = Uri.UnescapeDataString(uri.Query);
            var    userID = real.Replace("?ContactRemoteIds=", "");

            if (uri.Scheme == "ms-ipmessaging")
            {
                Frame rootFrame = Window.Current.Content as Frame;

                // Ne répétez pas l'initialisation de l'application lorsque la fenêtre comporte déjà du contenu,
                // assurez-vous juste que la fenêtre est active
                if (rootFrame == null)
                {
                    rootFrame = InitFrameLoginAndUserAgentAndBack(args);
                }

                // Quand la pile de navigation n'est pas restaurée, accédez à la première page,
                // puis configurez la nouvelle page en transmettant les informations requises en tant que
                // paramètre
                if (!DataSource.IsLogedIn)
                {
                    rootFrame.Navigate(typeof(MainPage));
                }
                else
                {
                    var name = await DataSource.GetNameFromRemotId(userID);

                    var header = new ChatHeader()
                    {
                        Href        = userID,
                        Name        = name,
                        UnreadCount = 2
                    };
                    rootFrame.Navigate(typeof(ChatPage), new ChatViewModel(header));
                }

                // Vérifiez que la fenêtre actuelle est active
                Window.Current.Activate();
            }
        }
Beispiel #4
0
        async void ActivateForContactPanel(ContactPanelActivatedEventArgs e)
        {
            string remoteId = await DataSource.GetRemoteIdForContactIdAsync(e.Contact);

            if (string.IsNullOrEmpty(remoteId))
            {
                return;
            }
            {
                Frame rootFrame = Window.Current.Content as Frame;

                // Ne répétez pas l'initialisation de l'application lorsque la fenêtre comporte déjà du contenu,
                // assurez-vous juste que la fenêtre est active
                if (rootFrame == null)
                {
                    rootFrame = InitFrameLoginAndUserAgentAndBack(e);
                }

                if (!DataSource.IsLogedIn)
                {
                    rootFrame.Navigate(typeof(MainPage));
                }
                else
                {
                    var header = new ChatHeader()
                    {
                        Href        = remoteId,
                        Name        = e.Contact.Name,
                        UnreadCount = 2
                    };
                    rootFrame.Navigate(typeof(ChatPage), new ChatViewModel(header));
                }

                // Ensure the current window is active
                Window.Current.Activate();
            }
        }