void Worker_DoWork(object sender, DoWorkEventArgs e)
        {
            List <Make> mklist = new MakeFactory().SelectAll();
            List <AlphaElectric_DataAccessLayer.Type> paneltypelist = new TypeFactory().SelectAll();
            List <SizeType> szlist = new SizeTypeFactory().SelectAll();
            List <PanelShellGradeProtection> shellgradelist = new PanelShellGradeProtectionFactory().SelectAll();
            List <Certification>             certlist       = new CertificationFactory().SelectAll();
            List <PaType>   parttypelist = new PaTypeFactory().SelectAll();
            List <Location> locationlist = new LocationFactory().SelectAll();

            this.Dispatcher.Invoke(() =>
            {
                // Generic
                MakeComboBox.ItemsSource       = mklist;
                MakeComboBox.DisplayMemberPath = "Name";
                MakeComboBox.SelectedValuePath = "ID";

                //Panel Type
                PanelTypeComboBox.ItemsSource       = paneltypelist;
                PanelTypeComboBox.DisplayMemberPath = "Description";
                PanelTypeComboBox.SelectedValuePath = "ID";

                SizeComboBox.ItemsSource       = szlist;
                SizeComboBox.DisplayMemberPath = "Description";
                SizeComboBox.SelectedValuePath = "ID";

                PanelIPNumberComboBox.ItemsSource       = shellgradelist;
                PanelIPNumberComboBox.DisplayMemberPath = "IPNum";
                PanelIPNumberComboBox.SelectedValuePath = "ID";

                CertComboBox.ItemsSource       = certlist;
                CertComboBox.DisplayMemberPath = "Name";
                CertComboBox.SelectedValuePath = "ID";

                //Part Type
                PartTypeComboBox.ItemsSource       = parttypelist;
                PartTypeComboBox.DisplayMemberPath = "Name";
                PartTypeComboBox.SelectedValuePath = "ID";

                //Location
                LocationComboBox.ItemsSource       = locationlist;
                LocationComboBox.DisplayMemberPath = "Name";
                LocationComboBox.SelectedValuePath = "ID";
            });
        }
Esempio n. 2
0
        //响应微信平台推送消息
        private void ResponseMsg(HttpContext httpContext, RequestParams requestParams)
        {
            BaseBLL  weixin  = null;
            IFactory factory = null;

            #region 通过微信类型生成对应的业务处理类

            var application = new WApplicationInterfaceBLL(requestParams.LoggingSessionInfo);
            var appEntitys  = application.QueryByEntity(new WApplicationInterfaceEntity()
            {
                WeiXinID = requestParams.WeixinId
            }, null);

            if (appEntitys != null && appEntitys.Length > 0)
            {
                var entity = appEntitys.FirstOrDefault();
                BaseService.WriteLogWeixin("通过微信类型生成对应的业务处理类");
                BaseService.WriteLogWeixin("WeiXinTypeId(微信类型):  " + entity.WeiXinTypeId);

                switch (entity.WeiXinTypeId)
                {
                case WeiXinType.SUBSCRIPTION:
                    factory = new SubscriptionFactory();
                    weixin  = factory.CreateWeiXin(httpContext, requestParams);
                    BaseService.WriteLogWeixin("订阅号");
                    break;

                case WeiXinType.SERVICE:
                    factory = new ServiceFactory();
                    weixin  = factory.CreateWeiXin(httpContext, requestParams);
                    BaseService.WriteLogWeixin("服务号");
                    break;

                case WeiXinType.CERTIFICATION:        //目前我们的客户一般是认证服务号,所以关注事件从这里查看
                    factory = new CertificationFactory();
                    weixin  = factory.CreateWeiXin(httpContext, requestParams);
                    BaseService.WriteLogWeixin("认证服务号");
                    break;

                case WeiXinType.SUBSCRIPTION_EXTEND:
                    BaseService.WriteLogWeixin("可扩展订阅号");
                    break;

                case WeiXinType.SERVICE_EXTEND:
                    BaseService.WriteLogWeixin("可扩展服务号");
                    break;

                case WeiXinType.CERTIFICATION_EXTEND:
                    BaseService.WriteLogWeixin("可扩展认证服务号");
                    break;

                default:
                    factory = new SubscriptionFactory();
                    weixin  = factory.CreateWeiXin(httpContext, requestParams);
                    BaseService.WriteLogWeixin("默认订阅号");
                    break;
                }
            }

            #endregion

            weixin.ResponseMsg();//根据消息类型,回应事件。有文本消息、图片消息、多客服、地理位置、事件
        }
Esempio n. 3
0
        void Start()
        {
            try
            {
                RSA rsa = new RSA(_rsa);
                server = new TcpListenerX(int.Parse(txtPort.Text));
                server.Start();

                byte[]    bytes  = new byte[1024];
                string    data   = null;
                TcpClient client = null;
                while (true)
                {
                    if (started == false)
                    {
                        return;
                    }
                    log("waiting for a connection... ");

                    client = server.AcceptTcpClient();
                    log("connected!");

                    data = null;

                    try
                    {
                        using (NetworkStream stream = client.GetStream())
                        {
                            stream.Write(RSA.KeyToString(rsa.PublicKey).StringToBytes(), 0, 397);
                            if (stream.Read(bytes, 0, 397) != 0)
                            {
                                rsa.SetClientPublicKey(RSA.StringToKey(bytes.BytesToString()));
                                bytes = new Byte[4096];
                                stream.Read(bytes, 0, 128);
                                byte[] sign = bytes.Cute(0, 128);
                                int    r    = stream.Read(bytes, 0, bytes.Length);
                                data = bytes.Cute(0, r).BytesToString();
                                if (rsa.Varify(bytes.Cute(0, r), sign) == false)
                                {
                                    log("signture invalied");
                                }
                                else
                                {
                                    log("signture valied");
                                }

                                log("Received: " + data);

                                if (data.StartsWith("get cert for "))
                                {
                                    string           username = data.Substring("get cert for ".Length);
                                    X509Certificate2 cert     = CertificationFactory.GenerateCertificate();
                                    log("create certificate for user: "******"close connection with " + username);
                                }
                                else if (data.StartsWith("verify Cert for "))
                                {
                                }
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        log("error: " + ex.Message);
                    }
                    finally
                    {
                        client.Close();
                    }
                }
            }
            catch
            {
                log("server stoped");
            }
        }