Exemplo n.º 1
0
        public void AddReceivedTextMessage(LanUser from, long id, string message)
        {
            Store.Models.Message m = new Store.Models.Message(MessageType.Text);
            m.FromUserId = from.ID;
            m.ToUserId   = this.OwnerUser.ID;
            m.Content    = message;
            m.Flag       = true; //默认成功,后面按照失败结果设定为false

            MessageListItem item = new MessageListItem();

            item.State   = MessageState.Received;
            item.ID      = id;
            item.Message = m;
            item.User    = from;

            item.Save();

            AddMessageListItem(from, item);
        }
Exemplo n.º 2
0
        private void SendImage_Click(object sender, EventArgs e)
        {
            if (!this.SendMessageEnabled)
            {
                return;
            }
            using (OpenFileDialog ofd = new OpenFileDialog())
            {
                ofd.Filter = "图像文件|*.png;*.jpg;*.bmp;";
                if (ofd.ShowDialog(this) == DialogResult.OK)
                {
                    string fileName = ofd.FileName;
                    Image  smallImg = LanImage.GetThumbnailImage(fileName, MessageListBox.PICTURE_THUMBNAIL_HEIGHT);
                    if (smallImg == null)
                    {
                        //可能不是合法的图片
                        return;
                    }

                    long id = User.SendImage(Contacter, fileName);

                    //保存发送记录,只保存缩略图,原图的Path也保存
                    Store.Models.ImageMessage m = new Store.Models.ImageMessage(smallImg);
                    m.FromUserId = this.User.ID;
                    m.ToUserId   = this.Contacter.ID;
                    m.OriginPath = fileName;
                    m.Flag       = true; //默认成功,后面按照失败结果设定为false

                    MessageListItem item = new MessageListItem();
                    item.ID      = id;
                    item.State   = MessageState.Sending;
                    item.Message = m;
                    item.User    = this.User;

                    item.Save();

                    AddMessageItem(item, true);

                    OnSendMessage(m);
                }
            }
        }
Exemplo n.º 3
0
        public void AddReceivedImageMessage(LanUser from, long id, Image image)
        {
            //保存记录
            Store.Models.ImageMessage m = new Store.Models.ImageMessage(image);
            m.FromUserId = from.ID;
            m.ToUserId   = this.OwnerUser.ID;
            m.OriginPath = "";
            m.Flag       = true; //默认成功,后面按照失败结果设定为false

            MessageListItem item = new MessageListItem();

            item.ID      = id;
            item.State   = MessageState.Received;
            item.Message = m;
            item.User    = from;

            item.Save();

            AddMessageListItem(from, item);
        }
Exemplo n.º 4
0
        private void textBoxInput_KeyDown(object sender, KeyEventArgs e)
        {
            if (e.KeyCode == Keys.Enter && !e.Control)
            {
                if (!this.SendMessageEnabled)
                {
                    return;
                }
                if (string.IsNullOrEmpty(textBoxInput.Text) ||
                    string.IsNullOrEmpty(textBoxInput.Text.Replace("\r", "").Replace("\n", "")))
                {
                    //空或者只有空行不发送
                    return;
                }
                long id = User.SendTextMessage(Contacter, textBoxInput.Text);

                Store.Models.Message m = new Store.Models.Message(MessageType.Text);
                m.FromUserId = this.User.ID;
                m.ToUserId   = this.Contacter.ID;
                m.Content    = textBoxInput.Text;
                m.Flag       = true; //默认成功,后面按照失败结果设定为false

                MessageListItem item = new MessageListItem();
                item.State   = MessageState.Sending;
                item.ID      = id;
                item.Message = m;
                item.User    = this.User;

                item.Save();

                AddMessageItem(item, true);

                textBoxInput.Text = "";
                e.Handled         = true;

                OnSendMessage(m);
            }
        }
Exemplo n.º 5
0
        public void AddFileReceivingMessage(LanUser from, TransportFile file)
        {
            //保存记录
            Store.Models.FileMessage m = new Store.Models.FileMessage();
            m.FromUserId     = from.ID;
            m.ToUserId       = this.OwnerUser.ID;
            m.OriginFilePath = file.SavePath;
            m.FileName       = Path.GetFileName(file.SavePath);
            m.FileLength     = file.File.Length;
            m.Flag           = true; //默认成功,后面按照失败结果设定为false

            MessageListItem item = new MessageListItem();

            item.ID      = file.ID;
            item.Message = m;
            item.User    = from;
            item.State   = MessageState.Receiving;

            //保存到数据库
            item.Save();

            AddMessageListItem(from, item);
        }
Exemplo n.º 6
0
        private void SendFile_Click(object sender, EventArgs e)
        {
            if (!this.SendMessageEnabled)
            {
                return;
            }
            using (OpenFileDialog ofd = new OpenFileDialog())
            {
                ofd.Filter = "所有文件|*.*";
                if (ofd.ShowDialog(this) == DialogResult.OK)
                {
                    string fileName = ofd.FileName;
                    long   id       = User.SendFile(Contacter, fileName);

                    //保存发送记录
                    Store.Models.FileMessage m = new Store.Models.FileMessage();
                    m.FromUserId     = this.User.ID;
                    m.ToUserId       = this.Contacter.ID;
                    m.OriginFilePath = fileName;
                    m.FileName       = Path.GetFileName(fileName);
                    m.FileLength     = LanFile.GetFileLength(fileName);
                    m.Flag           = true; //默认成功,后面按照失败结果设定为false

                    MessageListItem item = new MessageListItem();
                    item.ID      = id;
                    item.Message = m;
                    item.User    = this.User;
                    item.State   = MessageState.Sending;

                    item.Save();

                    AddMessageItem(item, true);

                    OnSendMessage(m);
                }
            }
        }