示例#1
0
        private void SendOfferTable(int index, string departmentname)
        {
            lock (DepartmentList)
            {
                foreach (var department in DepartmentList)
                {
                    if (department.Name == departmentname)
                    {
                        var sendTable = department.OrderList.Clone();
                        if (index == -1)
                        {
                            foreach (DataRow row in department.OrderList.Rows)
                            {
                                if (row["Status"].ToString() == Global.UnKnown)
                                {
                                    row["Status"] = Global.Wait;
                                    sendTable.Rows.Add(row.ItemArray);
                                }
                            }
                        }
                        else if (index >= 0)
                        {
                            sendTable.Rows.Add(department.OrderList.Rows[index].ItemArray);
                        }

                        var content = Mode.SendOrder.ToString();
                        content += " " + _client.ClientIP.ToString();
                        content += " " + department.IP;
                        content += " " + CSVHelper.MakeCSV(sendTable);
                        _client.SendContent(content);
                    }
                }
            }
        }
示例#2
0
        private void Send()
        {
            var guid = Guid.NewGuid();

            lock (Global.OnLineUserList)
            {
                if (clbOnlineList.CheckedItems.Count > 0)
                {
                    var toips    = string.Empty;
                    var selected = new string[clbOnlineList.CheckedItems.Count];
                    clbOnlineList.CheckedItems.CopyTo(selected, 0);

                    var selectitem = from item in selected
                                     where item != "All/None"
                                     select item;

                    if (selectitem.Count() > 0)
                    {
                        var message = tbSend.Text;
                        var o       = new List <string>();
                        o.Add(guid.ToString());
                        o.Add(message);
                        for (var i = 0; i < selectitem.Count(); i++)
                        {
                            SendContent sendContent = new SendContent();
                            sendContent.Id      = guid;
                            sendContent.Mode    = SendMode.send.ToString();
                            sendContent.From    = _client.ClientIP.ToString();
                            sendContent.To      = selectitem.ToArray()[i].ToString();
                            sendContent.Message = message;

                            toips += selectitem.ToArray()[i].ToString() + ",";

                            o.Add(sendContent.To);

                            var clientto = from user in Global.OnLineUserList
                                           where user.IP == sendContent.To
                                           select user;
                            foreach (var cli in clientto)
                            {
                                cli.SendList.Add(sendContent);
                            }
                        }

                        toips = toips.TrimEnd(',');
                        WriteMessage(DateTime.Now.ToString() + " To[" + toips + "]:" + message);

                        _client.SendContent(BuildContent(guid, SendMode.send, _client.ClientIP.ToString(), string.Join(",", selectitem), tbSend.Text));
                        tbSend.Text = string.Empty;
                        var parStart      = new ParameterizedThreadStart(CHandle);
                        var recieveThread = new Thread(parStart);
                        recieveThread.IsBackground = true;
                        recieveThread.Start(o);
                    }
                }
            }
        }