コード例 #1
0
ファイル: Mail.cs プロジェクト: AntonyMoes/iu5-circle-mail
        private void button2_Click(object sender, EventArgs e)
        {
            if (letterAuthorBox.Text == "")
            {
                MessageBox.Show("Выберите письмо", "Ошибка");
                return;
            }

            this.Hide();

            CreateLetter createLetterForm = new CreateLetter("", letterAuthorBox.Text, NetworkService.GetSharedService().currentSession.username.ToString(), letterTextBox.Text);

            createLetterForm.Owner         = this;
            createLetterForm.StartPosition = FormStartPosition.CenterParent;
            createLetterForm.Show();
        }
コード例 #2
0
ファイル: Mail.cs プロジェクト: AntonyMoes/iu5-circle-mail
 private void Chat_FormClosed(object sender, FormClosedEventArgs e)
 {
     NetworkService.GetSharedService().CloseConnection();
 }
コード例 #3
0
ファイル: Mail.cs プロジェクト: AntonyMoes/iu5-circle-mail
 private void closeButton_Click(object sender, EventArgs e)
 {
     NetworkService.GetSharedService().CloseConnection();
 }
コード例 #4
0
        /// <summary>
        /// Обработка пришедшего кадра
        /// </summary>
        public void HandleFrame(Frame frame)
        {
            switch (frame.type)
            {
            case Frame.Type.Link:

                this.notificationLabel.Invoke((MethodInvoker) delegate {
                    // Running on the UI thread
                    this.notificationLabel.Text = "Соединение установлено";
                    this.connectButton.Text     = "Войти";
                });

                // Если станция не ведущая, то отправляем дальше
                if (currentConnection.isMaster == false)
                {
                    this.SendFrame(frame);
                }

                break;

            case Frame.Type.Ask:

                // Если станция не ведущая, то отправляем дальше
                if (currentConnection.isMaster == false)
                {
                    this.SendFrame(frame);
                }

                break;

            case Frame.Type.Data:

                if (currentSession.username == frame.authorID && currentSession.username != frame.recipientID)
                {
                    MessageBox.Show("Несуществующий пользователь", "Ошибка");
                    break;
                }

                // Если станция не ялвяется получателем, то отправляем дальше
                if (currentSession.username != frame.recipientID)
                {
                    this.SendFrame(frame);
                }
                else
                {
                    this.mailBox.Items.Add(string.Format("{0}: {1}", frame.authorID, frame.message));
                    int    filesCount = Directory.GetFiles(NetworkService.GetSharedService().userDirectory).Length;
                    string filePath   = String.Format("{0}/{1}.txt", NetworkService.GetSharedService().userDirectory, filesCount + 1);
                    //File.Create(filePath);
                    File.WriteAllText(filePath, string.Format("{0}\n{1}", frame.authorID, frame.message));
                }

                break;

            case Frame.Type.Error:

                // Если станция не ведущая, то отправляем дальше
                if (currentConnection.isMaster == false)
                {
                    this.SendFrame(frame);
                }

                break;

            case Frame.Type.Downlink:

                // Если станция не ведущая, то отправляем дальше
                if (currentConnection.isMaster == false)
                {
                    this.SendFrame(frame);
                }

                System.Windows.Forms.Application.Exit();

                break;
            }
        }