Пример #1
0
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            string Content = (e.Source as Button).Content.ToString();

            if (Content == "管理员界面")
            {
                if (adminMainWindow.IsActive == false)
                {
                    adminMainWindow = new AdminMainWindow();
                }
                adminMainWindow.WindowStartupLocation = WindowStartupLocation.Manual;
                adminMainWindow.Left = 0;
                adminMainWindow.Top  = 500;
                adminMainWindow.Show();
            }
            else if (Content == "用户界面")
            {
                if (userMainWindow.IsActive == false)
                {
                    userMainWindow = new UserMainWindow();
                }
                userMainWindow.WindowStartupLocation = WindowStartupLocation.Manual;
                userMainWindow.Left = 800;
                userMainWindow.Top  = 500;
                userMainWindow.Show();
            }
        }
Пример #2
0
        private Window CreateUserWindow()
        {
            IDbContextFactory <FileCabinetContext> dbContextFactory = new FileCabinetDbContextFactory();
            IUnitOfWork             unitOfWork             = new UnitOfWork(dbContextFactory);
            ISimpleViewModelFactory simpleViewModelFactory = new UserSimpleViewModelFactory(unitOfWork, userId);
            INavigator navigator = new Navigator(simpleViewModelFactory);
            Window     window    = new UserMainWindow
            {
                DataContext = new UserMainViewModel(navigator)
            };

            return(window);
        }
Пример #3
0
        /// <summary>
        ///
        /// </summary>
        public void RegisterListen(IconController iconController)
        {
            #region

            TcpClientEx tcpclient = ChatClient.ConnectServer();

            SendRegisterClientListen sendregister = new SendRegisterClientListen()
            {
                _UserInfor = Logon._User
            };
            SendOnlineMarkup sendonlinemarkup = new SendOnlineMarkup()
            {
                _UserInfor = Logon._User
            };

            byte[] sendregistercommand = sendregister.GetProtocolCommand();
            byte[] sendonlinecommand   = sendonlinemarkup.GetProtocolCommand();
            tcpclient.SendToEndDevice(sendregistercommand);

            //可接收是否发送成功
            while (true)
            {
                tcpclient.Receive();

                switch (tcpclient.GetResolveType())
                {
                case TProtocol.RecvChatContent:
                    RecvChatContent chatcontentcmd = new RecvChatContent();
                    tcpclient.Dispatcher(chatcontentcmd);

                    Friend friend = new Friend()
                    {
                        _User = new EntityTUser()
                        {
                            uid = chatcontentcmd._Content._FromUID.ToString()
                        }
                    };

                    int    timestartindex = chatcontentcmd._Content._Text.Length - 19;
                    string dt             = chatcontentcmd._Content._Text.Substring(timestartindex, 19);

                    ChatMessage message = new ChatMessage()
                    {
                        _Content  = chatcontentcmd._Content._Text.Substring(0, timestartindex),
                        _RecvTime = DateTime.Parse(dt)
                    };

                    Friend findfriend = FriendCollector.FindFriend(friend);
                    if (findfriend != null)
                    {
                        if (findfriend._MessageMode == MessageMode.HasPop)
                        {
                            findfriend._Messages.Add(message);
                            TrafficMsg.PostMessage(int.Parse(findfriend._FrmHandle.ToString()), 500, 0, 0);
                        }
                        else
                        {
                            addMessageToFriend(findfriend, message);
                        }
                    }
                    else
                    {
                        friend._User        = UserMainWindow.GetFriendUser(friend._User.uid);
                        friend._Messages    = new List <ChatMessage>();
                        friend._MessageMode = MessageMode.None;
                        friend._Messages.Add(message);

                        FriendCollector.Add(friend);
                        TrafficMsg.PostMessage(int.Parse(UserMainWindow._FrmHandle.ToString()), 501, 0, 0);
                    }

                    break;

                case TProtocol.RecvOnlineMarkup:
                    tcpclient.SendToEndDevice(sendonlinecommand);
                    break;
                }
            }
            #endregion
        }