예제 #1
0
        private void efwSimpleButton4_Click(object sender, EventArgs e)
        {
            if (MessageAgent.MessageShow(MessageType.Confirm, "저장 하시겠습니까?") == DialogResult.OK)
            {
                try
                {
                    using (MySqlConnection con = new MySqlConnection(ConstantLib.BasicConn_Real))
                    {
                        using (MySqlCommand cmd = new MySqlCommand("domabiz.USP_TM_TM14_SAVE_01", con))
                        {
                            con.Open();
                            cmd.CommandType = CommandType.StoredProcedure;

                            cmd.Parameters.Add(new MySqlParameter("i_idx", MySqlDbType.Int32));
                            cmd.Parameters["i_idx"].Value     = Convert.ToInt32(txtCost_idx.EditValue).ToString();
                            cmd.Parameters["i_idx"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_Major_Code", MySqlDbType.VarChar));
                            cmd.Parameters["i_Major_Code"].Value     = cmbMajor_Code.EditValue;
                            cmd.Parameters["i_Major_Code"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_Large_Code", MySqlDbType.VarChar));
                            cmd.Parameters["i_Large_Code"].Value     = cmbLarge_Code.EditValue;
                            cmd.Parameters["i_Large_Code"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_Middle_Code", MySqlDbType.VarChar));
                            cmd.Parameters["i_Middle_Code"].Value     = txtMiddle_Code.EditValue;
                            cmd.Parameters["i_Middle_Code"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_Middle_Name", MySqlDbType.VarChar));
                            cmd.Parameters["i_Middle_Name"].Value     = txtMiddle_Name.EditValue;
                            cmd.Parameters["i_Middle_Name"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_Small_Code", MySqlDbType.VarChar));
                            //cmd.Parameters["i_Small_Code"].Value = cmbSmall_Code.EditValue;
                            cmd.Parameters["i_Small_Code"].Value     = "01";
                            cmd.Parameters["i_Small_Code"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_Sort", MySqlDbType.Int32));
                            cmd.Parameters["i_Sort"].Value     = Convert.ToInt32(txtSort.EditValue).ToString();
                            cmd.Parameters["i_Sort"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_use_yn", MySqlDbType.VarChar));
                            cmd.Parameters["i_use_yn"].Value     = tbUse_YN.EditValue;
                            cmd.Parameters["i_use_yn"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_Remark", MySqlDbType.VarChar));
                            cmd.Parameters["i_Remark"].Value     = txtCustRemark.EditValue;
                            cmd.Parameters["i_Remark"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("o_idx", MySqlDbType.Int32));
                            cmd.Parameters["o_idx"].Direction = ParameterDirection.Output;

                            cmd.Parameters.Add(new MySqlParameter("o_Return", MySqlDbType.VarChar));
                            cmd.Parameters["o_Return"].Direction = ParameterDirection.Output;
                            cmd.ExecuteNonQuery();

                            txtCost_idx.EditValue = cmd.Parameters["o_idx"].Value.ToString();
                            MessageBox.Show(cmd.Parameters["o_Return"].Value.ToString());
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageAgent.MessageShow(MessageType.Error, ex.ToString());
                }
                AccCode();
            }
        }
예제 #2
0
        private void efwSimpleButton1_Click(object sender, EventArgs e)
        {
            if (MessageAgent.MessageShow(MessageType.Confirm, "저장 하시겠습니까?") == DialogResult.OK)
            {
                try
                {
                    using (MySqlConnection con = new MySqlConnection(ConstantLib.BasicConn_Real))
                    {
                        using (MySqlCommand cmd = new MySqlCommand("domabiz.USP_DN_DN01_SAVE_02", con))
                        {
                            con.Open();
                            cmd.CommandType = CommandType.StoredProcedure;

                            cmd.Parameters.Add(new MySqlParameter("i_id", MySqlDbType.Int32));
                            cmd.Parameters["i_id"].Value     = Convert.ToInt32(txtID.EditValue);
                            cmd.Parameters["i_id"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_o_receive_zipcode", MySqlDbType.VarChar));
                            cmd.Parameters["i_o_receive_zipcode"].Value     = txtO_Receive_ZipCode.EditValue;
                            cmd.Parameters["i_o_receive_zipcode"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_o_receive_address", MySqlDbType.VarChar));
                            cmd.Parameters["i_o_receive_address"].Value     = txtO_Receive_Address.EditValue;
                            cmd.Parameters["i_o_receive_address"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_o_receive_name", MySqlDbType.VarChar));
                            cmd.Parameters["i_o_receive_name"].Value     = txtO_Receive_Name.EditValue;
                            cmd.Parameters["i_o_receive_name"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_o_receive_contact", MySqlDbType.VarChar));
                            cmd.Parameters["i_o_receive_contact"].Value     = txtO_Receive_Contact.EditValue;
                            cmd.Parameters["i_o_receive_contact"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_o_receive_message", MySqlDbType.VarChar));
                            cmd.Parameters["i_o_receive_message"].Value     = txtO_Receive_Message.EditValue;
                            cmd.Parameters["i_o_receive_message"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_o_receive_zipcode1", MySqlDbType.VarChar));
                            cmd.Parameters["i_o_receive_zipcode1"].Value     = txtO_Receive_ZipCode1.EditValue;
                            cmd.Parameters["i_o_receive_zipcode1"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_o_receive_address1", MySqlDbType.VarChar));
                            cmd.Parameters["i_o_receive_address1"].Value     = txtO_Receive_Address1.EditValue;
                            cmd.Parameters["i_o_receive_address1"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_o_receive_name1", MySqlDbType.VarChar));
                            cmd.Parameters["i_o_receive_name1"].Value     = txtO_Receive_Name1.EditValue;
                            cmd.Parameters["i_o_receive_name1"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_o_receive_contact1", MySqlDbType.VarChar));
                            cmd.Parameters["i_o_receive_contact1"].Value     = txtO_Receive_Contact1.EditValue;
                            cmd.Parameters["i_o_receive_contact1"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_o_receive_message1", MySqlDbType.VarChar));
                            cmd.Parameters["i_o_receive_message1"].Value     = txtO_Receive_Message1.EditValue;
                            cmd.Parameters["i_o_receive_message1"].Direction = ParameterDirection.Input;


                            cmd.Parameters.Add(new MySqlParameter("i_remark", MySqlDbType.VarChar));
                            cmd.Parameters["i_remark"].Value     = txtRemark.EditValue;
                            cmd.Parameters["i_remark"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_Delivery_Num", MySqlDbType.VarChar));
                            cmd.Parameters["i_Delivery_Num"].Value     = txtO_Delivery_Num.EditValue;
                            cmd.Parameters["i_Delivery_Num"].Direction = ParameterDirection.Input;


                            cmd.Parameters.Add(new MySqlParameter("o_Return", MySqlDbType.VarChar));
                            cmd.Parameters["o_Return"].Direction = ParameterDirection.Output;
                            cmd.ExecuteNonQuery();

                            MessageBox.Show(cmd.Parameters["o_Return"].Value.ToString());
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageAgent.MessageShow(MessageType.Error, ex.ToString());
                }
            }
        }
예제 #3
0
        private void Cancel()
        {
            if (txtchk_type.EditValue.ToString() == "F")
            {
                MessageAgent.MessageShow(MessageType.Confirm, "배송완료된 주문 번호입니다.");
                return;
            }
            if (txtchk_type.EditValue.ToString() == "D")
            {
                MessageAgent.MessageShow(MessageType.Confirm, "배송중인 주문 번호입니다.");
                return;
            }
            if (txtchk_type.EditValue.ToString() == "E")
            {
                MessageAgent.MessageShow(MessageType.Confirm, "구매완료된 주문 번호입니다.");
                return;
            }
            //   if (txtchk_type.EditValue.ToString() == "C")
            //   {
            //       MessageAgent.MessageShow(MessageType.Confirm, "취소 처리된 주문 번호입니다.");
            //        return;
            //    }
            if (txtchk_type.EditValue.ToString() == "B")
            {
                MessageAgent.MessageShow(MessageType.Confirm, "반품완료된 주문 번호입니다.");
                return;
            }
            if (txtchk_type.EditValue.ToString() == "Z")
            {
                MessageAgent.MessageShow(MessageType.Confirm, "품절취소된 주문 번호입니다.");
                return;
            }

            if (MessageAgent.MessageShow(MessageType.Confirm, "취소/반품 승인을 하시겠습니까?") == DialogResult.OK)
            {
                try
                {
                    using (MySqlConnection con = new MySqlConnection(ConstantLib.BasicConn_Real))
                    {
                        using (MySqlCommand cmd = new MySqlCommand("domabiz.USP_DN_DN01_SAVE_03", con))
                        {
                            con.Open();
                            cmd.CommandType = CommandType.StoredProcedure;

                            cmd.Parameters.Add(new MySqlParameter("i_o_code", MySqlDbType.VarChar));
                            cmd.Parameters["i_o_code"].Value     = txto_mcode.EditValue;
                            cmd.Parameters["i_o_code"].Direction = ParameterDirection.Input;

                            cmd.ExecuteNonQuery();
                        }
                    }

                    // MS SQL 머니 차감
                    //int retVal = ServiceAgent.ExecuteNoneQuery(UserInfo.instance().UserId, "CONIS_IBS", "USP_DN_DN01_SAVE_04"
                    //             , this.txtO_Code.EditValue
                    //             );
                    //if (retVal > 0)-
                    //{
                    //    MessageAgent.MessageShow(MessageType.Informational, "저장 되었습니다.");
                    //}


                    //DataSet ds = ServiceAgent.ExecuteDataSet(false, "CONIS_IBS", "USP_DN_DN01_SAVE_04"
                    //                                        , this.txtO_Code.EditValue
                    //                                        );

                    MessageAgent.MessageShow(MessageType.Informational, "주문 취소 되었습니다.");

                    //if (ds.Tables.Count > 0)
                    //{
                    //    if (ds.Tables[0].Rows[0]["ERRC"].ToString() == "ERR")
                    //    {
                    //        MessageAgent.MessageShow(MessageType.Error, ds.Tables[0].Rows[0]["ERRM"].ToString());
                    //    }
                    //    else
                    //    {
                    //        MessageAgent.MessageShow(MessageType.Informational, "저장 되었습니다.");
                    //    }
                    //}
                }

                catch (Exception ex)
                {
                    MessageAgent.MessageShow(MessageType.Error, ex.ToString());
                }

                Open1();
            }
        }
예제 #4
0
        private void EfwSimpleButton4_Click(object sender, EventArgs e)
        {
            try
            {
                if (string.IsNullOrEmpty(this.txtU_NAME1.Text))
                {
                    return;
                }

                if (string.IsNullOrEmpty(this.cbDORAMD_TYPE.Text))
                {
                    MessageAgent.MessageShow(MessageType.Warning, " 프리/로컬 MD 구분을 선택하세요!");
                    return;
                }

                if (cbDORAMD_TYPE.EditValue.ToString() == "1")
                {
                    MessageAgent.MessageShow(MessageType.Warning, " 지역구는 로컬MD만 지정 가능합니다");
                    return;
                }

                if (cmbSAREA1.EditValue == null)
                {
                    MessageAgent.MessageShow(MessageType.Warning, " 시/도/구군을 선택하세요 ");
                    return;
                }
                using (MySqlConnection con = new MySqlConnection(ConstantLib.BasicConn_Real))
                {
                    using (MySqlCommand cmd = new MySqlCommand("domabiz.USP_GSHOP_GSHOP06_DELETE_04", con))
                    {
                        con.Open();
                        cmd.CommandType = CommandType.StoredProcedure;

                        cmd.Parameters.Add(new MySqlParameter("i_idx", MySqlDbType.Int32));
                        cmd.Parameters["i_idx"].Value     = Convert.ToInt32(txtAREAIDX.EditValue);
                        cmd.Parameters["i_idx"].Direction = ParameterDirection.Input;

                        cmd.Parameters.Add(new MySqlParameter("i_md_idx", MySqlDbType.Int32));
                        cmd.Parameters["i_md_idx"].Value     = Convert.ToInt32(txtIDX1.EditValue);
                        cmd.Parameters["i_md_idx"].Direction = ParameterDirection.Input;

                        cmd.Parameters.Add(new MySqlParameter("i_sido", MySqlDbType.VarChar));
                        cmd.Parameters["i_sido"].Value     = cmbTAREA1.EditValue;
                        cmd.Parameters["i_sido"].Direction = ParameterDirection.Input;

                        cmd.Parameters.Add(new MySqlParameter("i_gugun", MySqlDbType.VarChar));
                        cmd.Parameters["i_gugun"].Value     = cmbSAREA1.EditValue;
                        cmd.Parameters["i_gugun"].Direction = ParameterDirection.Input;

                        cmd.Parameters.Add(new MySqlParameter("o_return", MySqlDbType.VarChar));
                        cmd.Parameters["o_return"].Direction = ParameterDirection.Output;
                        cmd.ExecuteNonQuery();

                        if (cmd.Parameters["o_Return"].Value.ToString() != "")
                        {
                            MessageBox.Show(cmd.Parameters["o_Return"].Value.ToString());
                        }
                    }
                }
            }

            catch (Exception ex)
            {
                MessageAgent.MessageShow(MessageType.Error, ex.ToString());
            }
            finally
            {
                EfwSimpleButton1_Click(null, null);
            }
            Open3();
        }
예제 #5
0
        /// <summary>
        /// 点击事件
        /// </summary>
        /// <param name="requestMessage"></param>
        /// <returns></returns>
        public override IResponseMessageBase OnEvent_ClickRequest(RequestMessageEvent_Click requestMessage)
        {
            IResponseMessageBase reponseMessage = null;

            //菜单点击,需要跟创建菜单时的Key匹配
            switch (requestMessage.EventKey)
            {
            case "OneClick":
            {
                //这个过程实际已经在OnTextOrEventRequest中完成,这里不会执行到。
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Content = "您点击了底部按钮。\r\n为了测试微信软件换行bug的应对措施,这里做了一个——\r\n换行";
            }
            break;

            case "SubClickRoot_Text":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Content = "您点击了子菜单按钮。";
            }
            break;

            case "SubClickRoot_News":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageNews>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Articles.Add(new Article()
                    {
                        Title       = "您点击了子菜单图文按钮",
                        Description = "您点击了子菜单图文按钮,这是一条图文信息。这个区域是Description内容\r\n可以使用\\r\\n进行换行。",
                        PicUrl      = "http://sdk.weixin.senparc.com/Images/qrcode.jpg",
                        Url         = "http://sdk.weixin.senparc.com"
                    });

                //随机添加一条图文,或只输出一条图文信息
                if (DateTime.Now.Second % 2 == 0)
                {
                    strongResponseMessage.Articles.Add(new Article()
                        {
                            Title       = "这是随机产生的第二条图文信息,用于测试多条图文的样式",
                            Description = "这是随机产生的第二条图文信息,用于测试多条图文的样式",
                            PicUrl      = "http://sdk.weixin.senparc.com/Images/qrcode.jpg",
                            Url         = "http://sdk.weixin.senparc.com"
                        });
                }
            }
            break;

            case "SubClickRoot_Music":
            {
                //上传缩略图
                var accessToken  = Senparc.Weixin.MP.Containers.AccessTokenContainer.TryGetAccessToken(appId, appSecret);
                var uploadResult = Senparc.Weixin.MP.AdvancedAPIs.MediaApi.UploadTemporaryMedia(accessToken, UploadMediaFileType.thumb,
                                                                                                Server.GetMapPath("~/Images/Logo.thumb.jpg"));
                //PS:缩略图官方没有特别提示文件大小限制,实际测试哪怕114K也会返回文件过大的错误,因此尽量控制在小一点(当前图片39K)

                //设置音乐信息
                var strongResponseMessage = CreateResponseMessage <ResponseMessageMusic>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Music.Title        = "天籁之音";
                strongResponseMessage.Music.Description  = "真的是天籁之音";
                strongResponseMessage.Music.MusicUrl     = "https://sdk.weixin.senparc.com/Content/music1.mp3";
                strongResponseMessage.Music.HQMusicUrl   = "https://sdk.weixin.senparc.com/Content/music1.mp3";
                strongResponseMessage.Music.ThumbMediaId = uploadResult.thumb_media_id;
            }
            break;

            case "SubClickRoot_Image":
            {
                //上传图片
                var accessToken  = Senparc.Weixin.MP.Containers.AccessTokenContainer.TryGetAccessToken(appId, appSecret);
                var uploadResult = Senparc.Weixin.MP.AdvancedAPIs.MediaApi.UploadTemporaryMedia(accessToken, UploadMediaFileType.image,
                                                                                                Server.GetMapPath("~/Images/Logo.jpg"));
                //设置图片信息
                var strongResponseMessage = CreateResponseMessage <ResponseMessageImage>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Image.MediaId = uploadResult.media_id;
            }
            break;

            case "SubClickRoot_Agent":    //代理消息
            {
                //获取返回的XML
                DateTime dt1 = DateTime.Now;
                reponseMessage = MessageAgent.RequestResponseMessage(this, agentUrl, agentToken, RequestDocument.ToString());
                //上面的方法也可以使用扩展方法:this.RequestResponseMessage(this,agentUrl, agentToken, RequestDocument.ToString());

                DateTime dt2 = DateTime.Now;

                if (reponseMessage is ResponseMessageNews)
                {
                    (reponseMessage as ResponseMessageNews)
                    .Articles[0]
                    .Description += string.Format("\r\n\r\n代理过程总耗时:{0}毫秒", (dt2 - dt1).Milliseconds);
                }
            }
            break;

            case "Member":    //托管代理会员信息
            {
                //原始方法为:MessageAgent.RequestXml(this,agentUrl, agentToken, RequestDocument.ToString());//获取返回的XML
                reponseMessage = this.RequestResponseMessage(agentUrl, agentToken, RequestDocument.ToString());
            }
            break;

            case "OAuth":    //OAuth授权测试
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageNews>();

                strongResponseMessage.Articles.Add(new Article()
                    {
                        Title       = "OAuth2.0测试",
                        Description = "选择下面两种不同的方式进行测试,区别在于授权成功后,最后停留的页面。",
                        //Url = "http://sdk.weixin.senparc.com/oauth2",
                        //PicUrl = "http://sdk.weixin.senparc.com/Images/qrcode.jpg"
                    });

                strongResponseMessage.Articles.Add(new Article()
                    {
                        Title       = "OAuth2.0测试(不带returnUrl),测试环境可使用",
                        Description = "OAuth2.0测试(不带returnUrl)",
                        Url         = "http://sdk.weixin.senparc.com/oauth2",
                        PicUrl      = "http://sdk.weixin.senparc.com/Images/qrcode.jpg"
                    });

                var returnUrl = "/OAuth2/TestReturnUrl";
                strongResponseMessage.Articles.Add(new Article()
                    {
                        Title       = "OAuth2.0测试(带returnUrl),生产环境强烈推荐使用",
                        Description = "OAuth2.0测试(带returnUrl)",
                        Url         = "http://sdk.weixin.senparc.com/oauth2?returnUrl=" + returnUrl.UrlEncode(),
                        PicUrl      = "http://sdk.weixin.senparc.com/Images/qrcode.jpg"
                    });

                reponseMessage = strongResponseMessage;
            }
            break;

            case "Description":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                strongResponseMessage.Content = GetWelcomeInfo();
                reponseMessage = strongResponseMessage;
            }
            break;

            case "SubClickRoot_PicPhotoOrAlbum":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Content = "您点击了【微信拍照】按钮。系统将会弹出拍照或者相册发图。";
            }
            break;

            case "SubClickRoot_ScancodePush":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Content = "您点击了【微信扫码】按钮。";
            }
            break;

            case "ConditionalMenu_Male":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Content = "您点击了个性化菜单按钮,您的微信性别设置为:男。";
            }
            break;

            case "ConditionalMenu_Femle":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Content = "您点击了个性化菜单按钮,您的微信性别设置为:女。";
            }
            break;

            case "GetNewMediaId":    //获取新的MediaId
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                try
                {
                    var result = Senparc.Weixin.MP.AdvancedAPIs.MediaApi.UploadForeverMedia(appId, Server.GetMapPath("~/Images/logo.jpg"));
                    strongResponseMessage.Content = result.media_id;
                }
                catch (Exception e)
                {
                    strongResponseMessage.Content = "发生错误:" + e.Message;
                    Senparc.Weixin.WeixinTrace.SendCustomLog("调用UploadForeverMedia()接口发生异常", e.Message);
                }
            }
            break;

            default:
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                strongResponseMessage.Content = "您点击了按钮,EventKey:" + requestMessage.EventKey;
                reponseMessage = strongResponseMessage;
            }
            break;
            }

            return(reponseMessage);
        }
예제 #6
0
        private void efwSimpleButton6_Click(object sender, EventArgs e)
        {
            {
                if (string.IsNullOrEmpty(this.txtUserName.Text))
                {
                    MessageAgent.MessageShow(MessageType.Warning, " ID를 입력하세요");
                    return;
                }

                if (MessageAgent.MessageShow(MessageType.Confirm, "저장 하시겠습니까?") == DialogResult.OK)
                {
                    try
                    {
                        // using (MySqlConnection con = new MySqlConnection(ConstantLib.BasicConn_Real))
                        using (MySqlConnection con = new MySqlConnection(ConstantLib.Dev_Conn))
                        {
                            using (MySqlCommand cmd = new MySqlCommand("domabiz.USP_GSHOP_GSHOP17_SAVE_01", con))
                            {
                                con.Open();
                                cmd.CommandType = CommandType.StoredProcedure;

                                cmd.Parameters.Add(new MySqlParameter("i_id", MySqlDbType.Int32));
                                cmd.Parameters["i_id"].Value     = Convert.ToInt32(txtID.EditValue);
                                cmd.Parameters["i_id"].Direction = ParameterDirection.Input;

                                cmd.Parameters.Add(new MySqlParameter("i_username", MySqlDbType.VarChar));
                                cmd.Parameters["i_username"].Value     = txtUserName.EditValue;
                                cmd.Parameters["i_username"].Direction = ParameterDirection.Input;

                                cmd.Parameters.Add(new MySqlParameter("i_u_name", MySqlDbType.VarChar));
                                cmd.Parameters["i_u_name"].Value     = txtU_Name.EditValue;
                                cmd.Parameters["i_u_name"].Direction = ParameterDirection.Input;

                                cmd.Parameters.Add(new MySqlParameter("i_u_cell", MySqlDbType.VarChar));
                                cmd.Parameters["i_u_cell"].Value     = txtU_Cell.EditValue;
                                cmd.Parameters["i_u_cell"].Direction = ParameterDirection.Input;

                                cmd.Parameters.Add(new MySqlParameter("i_u_email", MySqlDbType.VarChar));
                                cmd.Parameters["i_u_email"].Value     = txtU_Email.EditValue;
                                cmd.Parameters["i_u_email"].Direction = ParameterDirection.Input;

                                cmd.Parameters.Add(new MySqlParameter("i_region", MySqlDbType.VarChar));
                                cmd.Parameters["i_region"].Value     = cmbRegion.EditValue;
                                cmd.Parameters["i_region"].Direction = ParameterDirection.Input;

                                cmd.Parameters.Add(new MySqlParameter("i_region_area", MySqlDbType.VarChar));
                                cmd.Parameters["i_region_area"].Value     = cmbRegion_Area.EditValue;
                                cmd.Parameters["i_region_area"].Direction = ParameterDirection.Input;

                                cmd.Parameters.Add(new MySqlParameter("i_enabled", MySqlDbType.VarChar));
                                cmd.Parameters["i_enabled"].Value     = chkEnabled.EditValue;
                                cmd.Parameters["i_enabled"].Direction = ParameterDirection.Input;

                                cmd.Parameters.Add(new MySqlParameter("i_u_id", MySqlDbType.VarChar));
                                cmd.Parameters["i_u_id"].Value     = txtU_ID.EditValue;
                                cmd.Parameters["i_u_id"].Direction = ParameterDirection.Input;


                                cmd.Parameters.Add(new MySqlParameter("o_Return", MySqlDbType.VarChar));
                                cmd.Parameters["o_Return"].Direction = ParameterDirection.Output;
                                cmd.ExecuteNonQuery();


                                MessageBox.Show(cmd.Parameters["o_Return"].Value.ToString());
                            }
                        }
                    }
                    catch (Exception ex)
                    {
                        MessageAgent.MessageShow(MessageType.Error, ex.ToString());
                    }
                    Search();
                }
            }
        }
        public override IResponseMessageBase OnEvent_ClickRequest(RequestMessageEvent_Click requestMessage)
        {
            IResponseMessageBase reponseMessage = null;

            //菜单点击,需要跟创建菜单时的Key匹配
            switch (requestMessage.EventKey)
            {
            case "OneClick":
            {
                //这个过程实际已经在OnTextOrEventRequest中完成,这里不会执行到。
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Content = "您点击了底部按钮。\r\n为了测试微信软件换行bug的应对措施,这里做了一个——\r\n换行";
            }
            break;

            case "telphone":
            {
                //这个过程实际已经在OnTextOrEventRequest中完成,这里不会执行到。
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Content = "02168409571";
            }
            break;

            case "SubClickRoot_Text":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Content = "您点击了子菜单按钮。";
            }
            break;

            case "SubClickRoot_News":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageNews>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Articles.Add(new Article()
                    {
                        Title       = "您点击了子菜单图文按钮222",
                        Description = "您点击了子菜单图文按钮,这是一条图文信息33。",
                        PicUrl      = "http://weixin.senparc.com/Images/qrcode.jpg",
                        Url         = "http://weixin.senparc.com"
                    });
            }
            break;

            //case "SubClickRoot_Music":
            //    {
            //        //上传缩略图
            //        var accessToken = CommonAPIs.AccessTokenContainer.TryGetToken(appId, appSecret);
            //        var uploadResult = AdvancedAPIs.Media.MediaApi.UploadTemporaryMedia(accessToken, UploadMediaFileType.thumb,
            //                                                     Server.GetMapPath("~/Images/Logo.jpg"));
            //        //设置音乐信息
            //        var strongResponseMessage = CreateResponseMessage<ResponseMessageMusic>();
            //        reponseMessage = strongResponseMessage;
            //        strongResponseMessage.Music.Title = "天籁之音";
            //        strongResponseMessage.Music.Description = "真的是天籁之音";
            //        strongResponseMessage.Music.MusicUrl = "http://weixin.senparc.com/Content/music1.mp3";
            //        strongResponseMessage.Music.HQMusicUrl = "http://weixin.senparc.com/Content/music1.mp3";
            //        strongResponseMessage.Music.ThumbMediaId = uploadResult.thumb_media_id;
            //    }
            //    break;
            //case "SubClickRoot_Image":
            //    {
            //        //上传图片
            //        var accessToken = CommonAPIs.AccessTokenContainer.TryGetToken(appId, appSecret);
            //        var uploadResult = AdvancedAPIs.Media.MediaApi.UploadTemporaryMedia(accessToken, UploadMediaFileType.image,
            //                                                     Server.GetMapPath("~/Images/Logo.jpg"));
            //        //设置图片信息
            //        var strongResponseMessage = CreateResponseMessage<ResponseMessageImage>();
            //        reponseMessage = strongResponseMessage;
            //        strongResponseMessage.Image.MediaId = uploadResult.media_id;
            //    }
            //    break;
            case "SubClickRoot_Agent":    //代理消息
            {
                //获取返回的XML
                DateTime dt1 = DateTime.Now;
                reponseMessage = MessageAgent.RequestResponseMessage(this, agentUrl, agentToken, RequestDocument.ToString());
                //上面的方法也可以使用扩展方法:this.RequestResponseMessage(this,agentUrl, agentToken, RequestDocument.ToString());

                DateTime dt2 = DateTime.Now;

                if (reponseMessage is ResponseMessageNews)
                {
                    (reponseMessage as ResponseMessageNews)
                    .Articles[0]
                    .Description += string.Format("\r\n\r\n代理过程总耗时:{0}毫秒", (dt2 - dt1).Milliseconds);
                }
            }
            break;

            case "Member":    //托管代理会员信息
            {
                //原始方法为:MessageAgent.RequestXml(this,agentUrl, agentToken, RequestDocument.ToString());//获取返回的XML
                reponseMessage = this.RequestResponseMessage(agentUrl, agentToken, RequestDocument.ToString());
            }
            break;

            case "Description":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageNews>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Articles.Add(new Article()
                    {
                        Title       = "您点击了子菜单图文按钮111",
                        Description = "您点击了子菜单图文按钮,这是一条图文信息。",
                        PicUrl      = "http://weixin.senparc.com/Images/qrcode.jpg",
                        Url         = "http://weixin.senparc.com"
                    });
            }
            break;

            case "SubClickRoot_PicPhotoOrAlbum":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Content = "您点击了【微信拍照】按钮。系统将会弹出拍照或者相册发图。";
            }
            break;

            case "SubClickRoot_ScancodePush":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Content = "您点击了【微信扫码】按钮。";
            }
            break;

            default:
            {
                reponseMessage = this.Robet(requestMessage.EventKey);
            }
            break;
            }

            return(reponseMessage);
        }
예제 #8
0
        /// <summary>
        /// 处理文字请求
        /// </summary>
        /// <returns></returns>
        public override IResponseMessageBase OnTextRequest(RequestMessageText requestMessage)
        {
            //TODO:这里的逻辑可以交给Service处理具体信息,参考OnLocationRequest方法或/Service/LocationSercice.cs

            #region 书中例子
            //if (requestMessage.Content == "你好")
            //{
            //    var responseMessage = base.CreateResponseMessage<ResponseMessageNews>();
            //    var title = "Title";
            //    var description = "Description";
            //    var picUrl = "PicUrl";
            //    var url = "Url";
            //    responseMessage.Articles.Add(new Article()
            //    {
            //        Title = title,
            //        Description = description,
            //        PicUrl = picUrl,
            //        Url = url
            //    });
            //    return responseMessage;
            //}
            //else if (requestMessage.Content == "Senparc")
            //{
            //    //相似处理逻辑
            //}
            //else
            //{
            //    //...
            //}

            #endregion

            //方法一(v0.1),此方法调用太过繁琐,已过时(但仍是所有方法的核心基础),建议使用方法二到四
            //var responseMessage =
            //    ResponseMessageBase.CreateFromRequestMessage(RequestMessage, ResponseMsgType.Text) as
            //    ResponseMessageText;

            //方法二(v0.4)
            //var responseMessage = ResponseMessageBase.CreateFromRequestMessage<ResponseMessageText>(RequestMessage);

            //方法三(v0.4),扩展方法,需要using Senparc.Weixin.MP.Helpers;
            //var responseMessage = RequestMessage.CreateResponseMessage<ResponseMessageText>();

            //方法四(v0.6+),仅适合在HandlerMessage内部使用,本质上是对方法三的封装
            //注意:下面泛型ResponseMessageText即返回给客户端的类型,可以根据自己的需要填写ResponseMessageNews等不同类型。

            var responseMessage = base.CreateResponseMessage <ResponseMessageText>();

            if (requestMessage.Content == null)
            {
            }
            else if (requestMessage.Content == "约束")
            {
                responseMessage.Content =
                    @"您正在进行微信内置浏览器约束判断测试。您可以:
<a href=""http://sdk.weixin.senparc.com/FilterTest/"">点击这里</a>进行客户端约束测试(地址:http://sdk.weixin.senparc.com/FilterTest/),如果在微信外打开将直接返回文字。
或:
<a href=""http://sdk.weixin.senparc.com/FilterTest/Redirect"">点击这里</a>进行客户端约束测试(地址:http://sdk.weixin.senparc.com/FilterTest/Redirect),如果在微信外打开将重定向一次URL。";
            }
            else if (requestMessage.Content == "托管" || requestMessage.Content == "代理")
            {
                //开始用代理托管,把请求转到其他服务器上去,然后拿回结果
                //甚至也可以将所有请求在DefaultResponseMessage()中托管到外部。

                DateTime dt1 = DateTime.Now; //计时开始

                var agentXml = RequestDocument.ToString();

                #region 暂时转发到SDK线上Demo

                agentUrl   = "http://sdk.weixin.senparc.com/weixin";
                agentToken = WebConfigurationManager.AppSettings["WeixinToken"];//Token

                //修改内容,防止死循环
                var agentDoc = XDocument.Parse(agentXml);
                agentDoc.Root.Element("Content").SetValue("代理转发文字:" + requestMessage.Content);
                agentDoc.Root.Element("CreateTime").SetValue(DateTimeHelper.GetWeixinDateTime(DateTime.Now)); //修改时间,防止去重
                agentDoc.Root.Element("MsgId").SetValue("123");                                               //防止去重
                agentXml = agentDoc.ToString();

                #endregion

                var responseXml = MessageAgent.RequestXml(this, agentUrl, agentToken, agentXml);
                //获取返回的XML
                //上面的方法也可以使用扩展方法:this.RequestResponseMessage(this,agentUrl, agentToken, RequestDocument.ToString());

                /* 如果有WeiweihiKey,可以直接使用下面的这个MessageAgent.RequestWeiweihiXml()方法。
                 * WeiweihiKey专门用于对接www.weiweihi.com平台,获取方式见:https://www.weiweihi.com/ApiDocuments/Item/25#51
                 */
                //var responseXml = MessageAgent.RequestWeiweihiXml(weiweihiKey, RequestDocument.ToString());//获取Weiweihi返回的XML

                DateTime dt2 = DateTime.Now; //计时结束

                //转成实体。

                /* 如果要写成一行,可以直接用:
                 * responseMessage = MessageAgent.RequestResponseMessage(agentUrl, agentToken, RequestDocument.ToString());
                 * 或
                 *
                 */
                var msg = string.Format("\r\n\r\n代理过程总耗时:{0}毫秒", (dt2 - dt1).Milliseconds);
                var agentResponseMessage = responseXml.CreateResponseMessage();
                if (agentResponseMessage is ResponseMessageText)
                {
                    (agentResponseMessage as ResponseMessageText).Content += msg;
                }
                else if (agentResponseMessage is ResponseMessageNews)
                {
                    (agentResponseMessage as ResponseMessageNews).Articles[0].Description += msg;
                }
                return(agentResponseMessage);//可能出现多种类型,直接在这里返回
            }
            else if (requestMessage.Content == "测试" || requestMessage.Content == "退出")
            {
                /*
                 * 这是一个特殊的过程,此请求通常来自于微微嗨(http://www.weiweihi.com)的“盛派网络小助手”应用请求(https://www.weiweihi.com/User/App/Detail/1),
                 * 用于演示微微嗨应用商店的处理过程,由于微微嗨的应用内部可以单独设置对话过期时间,所以这里通常不需要考虑对话状态,只要做最简单的响应。
                 */
                if (requestMessage.Content == "测试")
                {
                    //进入APP测试
                    responseMessage.Content = "您已经进入【盛派网络小助手】的测试程序,请发送任意信息进行测试。发送文字【退出】退出测试对话。10分钟内无任何交互将自动退出应用对话状态。";
                }
                else
                {
                    //退出APP测试
                    responseMessage.Content = "您已经退出【盛派网络小助手】的测试程序。";
                }
            }
            else if (requestMessage.Content == "AsyncTest")
            {
                //异步并发测试(提供给单元测试使用)
                DateTime begin = DateTime.Now;
                int      t1, t2, t3;
                System.Threading.ThreadPool.GetAvailableThreads(out t1, out t3);
                System.Threading.ThreadPool.GetMaxThreads(out t2, out t3);
                System.Threading.Thread.Sleep(TimeSpan.FromSeconds(4));
                DateTime end    = DateTime.Now;
                var      thread = System.Threading.Thread.CurrentThread;
                responseMessage.Content = string.Format("TId:{0}\tApp:{1}\tBegin:{2:mm:ss,ffff}\tEnd:{3:mm:ss,ffff}\tTPool:{4}",
                                                        thread.ManagedThreadId,
                                                        HttpContext.Current != null ? HttpContext.Current.ApplicationInstance.GetHashCode() : -1,
                                                        begin,
                                                        end,
                                                        t2 - t1
                                                        );
            }
            else if (requestMessage.Content.ToUpper() == "OPEN")
            {
                var openResponseMessage = requestMessage.CreateResponseMessage <ResponseMessageNews>();
                openResponseMessage.Articles.Add(new Article()
                {
                    Title       = "开放平台微信授权测试",
                    Description = @"点击进入Open授权页面。

授权之后,您的微信所收到的消息将转发到第三方(盛派网络小助手)的服务器上,并获得对应的回复。

测试完成后,您可以登陆公众号后台取消授权。",
                    Url         = "http://sdk.weixin.senparc.com/OpenOAuth/JumpToMpOAuth"
                });
                return(openResponseMessage);
            }
            else if (requestMessage.Content == "错误")
            {
                var errorResponseMessage = requestMessage.CreateResponseMessage <ResponseMessageText>();
                //因为没有设置errorResponseMessage.Content,所以这小消息将无法正确返回。
                return(errorResponseMessage);
            }
            else if (requestMessage.Content == "容错")
            {
                Thread.Sleep(1500);//故意延时1.5秒,让微信多次发送消息过来,观察返回结果
                var faultTolerantResponseMessage = requestMessage.CreateResponseMessage <ResponseMessageText>();
                faultTolerantResponseMessage.Content = string.Format("测试容错,MsgId:{0},Ticks:{1}", requestMessage.MsgId,
                                                                     DateTime.Now.Ticks);
                return(faultTolerantResponseMessage);
            }
            else if (requestMessage.Content.ToUpper() == "TM")//异步模板消息设置
            {
                var openId    = requestMessage.FromUserName;
                var checkCode = Guid.NewGuid().ToString("n").Substring(0, 3);//为了防止openId泄露造成骚扰,这里启用验证码
                TemplateMessageCollection[checkCode] = openId;
                responseMessage.Content = string.Format(@"新的验证码为:{0},请在网页上输入。网址:http://sdk.weixin.senparc.com/AsyncMethods", checkCode);
            }
            else if (requestMessage.Content.ToUpper() == "OPENID") //返回OpenId及用户信息
            {
                var openId   = requestMessage.FromUserName;        //获取OpenId
                var userInfo = AdvancedAPIs.UserApi.Info(appId, openId, Language.zh_CN);

                responseMessage.Content = string.Format(
                    "您的OpenID为:{0}\r\n昵称:{1}\r\n性别:{2}\r\n地区(国家/省/市):{3}/{4}/{5}\r\n关注时间:{6}\r\n关注状态:{7}",
                    requestMessage.FromUserName, userInfo.nickname, (Sex)userInfo.sex, userInfo.country, userInfo.province, userInfo.city, DateTimeHelper.GetDateTimeFromXml(userInfo.subscribe_time), userInfo.subscribe);
            }
            else if (requestMessage.Content.ToUpper() == "EX")
            {
                var ex = new WeixinException("openid:" + requestMessage.FromUserName + ":这是一条测试异常信息");//回调过程在global的ConfigWeixinTraceLog()方法中
                responseMessage.Content = "请等待异步模板消息发送到此界面上(自动延时数秒)。\r\n当前时间:" + DateTime.Now.ToString();
            }
            else if (requestMessage.Content.ToUpper() == "MUTE")
            {
                return(new SuccessResponseMessage());

                base.TextResponseMessage = "success";
                responseMessage          = null;
            }
            else
            {
                var result = new StringBuilder();
                result.AppendFormat("您刚才发送了文字信息:{0}\r\n\r\n", requestMessage.Content);

                if (CurrentMessageContext.RequestMessages.Count > 1)
                {
                    result.AppendFormat("您刚才还发送了如下消息({0}/{1}):\r\n", CurrentMessageContext.RequestMessages.Count,
                                        CurrentMessageContext.StorageData);
                    for (int i = CurrentMessageContext.RequestMessages.Count - 2; i >= 0; i--)
                    {
                        var historyMessage = CurrentMessageContext.RequestMessages[i];
                        result.AppendFormat("{0} 【{1}】{2}\r\n",
                                            historyMessage.CreateTime.ToShortTimeString(),
                                            historyMessage.MsgType.ToString(),
                                            (historyMessage is RequestMessageText)
                                ? (historyMessage as RequestMessageText).Content
                                : "[非文字类型]"
                                            );
                    }
                    result.AppendLine("\r\n");
                }

                result.AppendFormat("如果您在{0}分钟内连续发送消息,记录将被自动保留(当前设置:最多记录{1}条)。过期后记录将会自动清除。\r\n",
                                    WeixinContext.ExpireMinutes, WeixinContext.MaxRecordCount);
                result.AppendLine("\r\n");
                result.AppendLine(
                    "您还可以发送【位置】【图片】【语音】【视频】等类型的信息(注意是这几种类型,不是这几个文字),查看不同格式的回复。\r\nSDK官方地址:http://sdk.weixin.senparc.com");

                responseMessage.Content = result.ToString();
            }
            return(responseMessage);
        }
예제 #9
0
        /// <summary>
        /// 执行NeuChar判断过程,获取响应消息
        /// </summary>
        /// <param name="requestMessage"></param>
        /// <param name="messageHandler"></param>
        /// <param name="accessTokenOrApi"></param>
        /// <returns></returns>
        public async Task <IResponseMessageBase> ExecuteAsync <TC, TRequest, TResponse>(IRequestMessageBase requestMessage, IMessageHandlerWithContext <TC, TRequest, TResponse> messageHandler,
                                                                                        string accessTokenOrApi)
            where TC : class, IMessageContext <TRequest, TResponse>, new()
            where TRequest : class, IRequestMessageBase
            where TResponse : class, IResponseMessageBase
        {
            //SenparcTrace.SendCustomLog("neuchar trace","1");
            //if (accessTokenOrApi == null)
            //{
            //    throw new ArgumentNullException(nameof(accessTokenOrApi));
            //}

            if (messageHandler == null)
            {
                throw new ArgumentNullException(nameof(messageHandler));
            }

            var messageHandlerEnlightener = messageHandler.MessageEntityEnlightener;
            var appDataNode = messageHandler.CurrentAppDataNode;

            IResponseMessageBase responseMessage = null;

            //SenparcTrace.SendCustomLog("neuchar trace", "3");

            //进行APP特殊处理

            //判断状态
            var context = await messageHandler.GetCurrentMessageContext();

            AppDataItem currentAppDataItem = null;

            switch (context.AppStoreState)
            {
            case AppStoreState.None:    //未进入任何应用
            case AppStoreState.Exit:
                currentAppDataItem = null;
                break;

            case AppStoreState.Enter:
                //判断是否已过期
                if (context.CurrentAppDataItem != null)
                {
                    if (context.LastActiveTime.HasValue && context.LastActiveTime.Value.AddMinutes(context.CurrentAppDataItem.MessageKeepTime) < SystemTime.Now)
                    {
                        //没有上一条活动,或者对话已过期,则设置为退出状态
                        context.AppStoreState      = AppStoreState.None;
                        context.CurrentAppDataItem = null;                                            //退出清空
                        await messageHandler.GlobalMessageContext.UpdateMessageContextAsync(context); //储存到缓存
                    }
                    else
                    {
                        //继续保持应用状态
                        currentAppDataItem = context.CurrentAppDataItem;

                        if (requestMessage is IRequestMessageText || requestMessage is IRequestMessageEventKey requestClick)
                        {
                            var content = (requestMessage is IRequestMessageText requestText) ? requestText.Content : (requestMessage as IRequestMessageEventKey).EventKey;
                            if (!context.CurrentAppDataItem.MessageExitWord.IsNullOrEmpty() && context.CurrentAppDataItem.MessageExitWord.Equals(content, StringComparison.OrdinalIgnoreCase))
                            {
                                //执行退出命令
                                context.AppStoreState      = AppStoreState.None;
                                context.CurrentAppDataItem = null;                                            //退出清空
                                                                                                              //currentAppDataItem = context.CurrentAppDataItem;//当前消息仍然转发(最后一条退出消息)
                                await messageHandler.GlobalMessageContext.UpdateMessageContextAsync(context); //储存到缓存
                            }
                        }
                    }
                }
                else
                {
                    //已经进入App状态,但是没有标记退出,此处强制退出
                    context.AppStoreState = AppStoreState.None;
                    await messageHandler.GlobalMessageContext.UpdateMessageContextAsync(context);    //储存到缓存
                }
                break;

            default:
                break;
            }

            //TODO:暂时限定类型

            if (currentAppDataItem == null)
            {
                if (requestMessage is IRequestMessageText || requestMessage is IRequestMessageEventKey requestClick)
                {
                    var content = (requestMessage is IRequestMessageText requestText) ? requestText.Content : (requestMessage as IRequestMessageEventKey).EventKey;

                    currentAppDataItem = appDataNode.Config.AppDataItems
                                         .FirstOrDefault(z => z.ExpireDateTime > SystemTime.Now && !z.MessageEnterWord.IsNullOrEmpty() && z.MessageEnterWord.Equals(content, StringComparison.OrdinalIgnoreCase));

                    if (currentAppDataItem != null && currentAppDataItem.MessageKeepTime > 0)
                    {
                        //初次进入应用
                        context.AppStoreState      = AppStoreState.Enter;
                        context.CurrentAppDataItem = currentAppDataItem;
                        await messageHandler.GlobalMessageContext.UpdateMessageContextAsync(context);//储存到缓存
                    }
                }
            }

            if (currentAppDataItem != null) //已经锁定某个App
            {
                //NeuralSystem.Instance.NeuCharDomainName = "https://www.neuchar.com";

                //转发AppData消息
                var neuCharUrl = $"{NeuralSystem.Instance.NeuCharDomainName}/App/Weixin?appId={currentAppDataItem.Id}&neuralAppId={appDataNode.NeuralAppId}";
                try
                {
                    responseMessage = MessageAgent.RequestResponseMessage(messageHandler, neuCharUrl, "Senparc", requestMessage.ConvertEntityToXmlString());
                }
                catch (Exception ex)
                {
                    Senparc.CO2NET.Trace.SenparcTrace.SendCustomLog("NeuChar 远程调用 APP 失败", ex.Message);
                }
            }


            //APP特殊处理结束


            if (responseMessage != null)
            {
                if (messageHandler.MessageEntityEnlightener.PlatformType == PlatformType.WeChat_MiniProgram && responseMessage is IResponseMessageText)
                {
                    //小程序
                    messageHandler.ApiEnlightener.SendText(accessTokenOrApi, messageHandler.WeixinOpenId, (responseMessage as IResponseMessageText).Content);
                    return(new SuccessResponseMessage());
                }
                else
                {
                    return(responseMessage);
                }
            }

            //处理普通消息回复
            switch (requestMessage.MsgType)
            {
            case RequestMsgType.Text:
            {
                try
                {
                    //SenparcTrace.SendCustomLog("neuchar trace", "3.1");

                    var textRequestMessage = requestMessage as IRequestMessageText;

                    //遍历所有的消息设置
                    foreach (var messagePair in Config.MessagePair.Where(z => z.Request.Type == RequestMsgType.Text))
                    {
                        //遍历每一个消息设置中的关键词
                        var pairSuccess = messagePair.Request.Keywords.Exists(keyword => keyword.Equals(textRequestMessage.Content, StringComparison.OrdinalIgnoreCase));
                        if (pairSuccess)
                        {
                            responseMessage = await GetResponseMessage(requestMessage, messagePair.Responses, messageHandler, accessTokenOrApi);
                        }

                        if (responseMessage != null)
                        {
                            break;
                        }
                    }
                }
                catch (Exception ex)
                {
                    SenparcTrace.SendCustomLog("neuchar text error", ex.Message + "\r\n|||\r\n" + (ex.InnerException != null ? ex.InnerException.ToString() : ""));
                }
            }
            break;

            case RequestMsgType.Image:
            {
                var imageRequestMessage = requestMessage as IRequestMessageImage;
                //遍历所有的消息设置

                foreach (var messagePair in Config.MessagePair.Where(z => z.Request.Type == RequestMsgType.Image))
                {
                    responseMessage = await GetResponseMessage(requestMessage, messagePair.Responses, messageHandler, accessTokenOrApi);

                    if (responseMessage != null)
                    {
                        break;
                    }
                }
            }
            break;

            case RequestMsgType.Event:
            {
                //菜单或其他系统事件
                if (requestMessage is IRequestMessageEvent eventRequestMessage)
                {
                    var eventType = eventRequestMessage.EventName.ToUpper();

                    //构造返回结果
                    List <Response> responses = new List <Response>();


                    switch (eventType)
                    {
                    case "CLICK" when requestMessage is IRequestMessageEventKey clickRequestMessage:
                    {
                        //TODO:暂时只支持CLICK,因此在这里遍历
                        foreach (var messagePair in Config.MessagePair.Where(z => z.Request.Type == RequestMsgType.Event))
                        {
                            var pairSuccess = messagePair.Request.Keywords.Exists(keyword => keyword.Equals(clickRequestMessage.EventKey, StringComparison.OrdinalIgnoreCase));
                            if (pairSuccess)
                            {
                                try
                                {
                                    responseMessage = await GetResponseMessage(requestMessage, messagePair.Responses, messageHandler, accessTokenOrApi);
                                }
                                catch (Exception ex)
                                {
                                    SenparcTrace.SendCustomLog("CLICK 跟踪 1.1", ex.Message + "\r\n" + ex.StackTrace);
                                }
                            }

                            if (responseMessage != null)
                            {
                                break;
                            }
                        }
                    }
                    break;

                    default:
                        break;
                    }
                }
                else
                {
                    //下级模块中没有正确处理 requestMessage 类型
                }
            }
            break;

            default:
                //不作处理

                //throw new UnknownRequestMsgTypeException("NeuChar未支持的的MsgType请求类型:"+ requestMessage.MsgType, null);
                break;
            }
            //SenparcTrace.SendCustomLog("neuchar trace", "4");

            return(responseMessage);
        }
예제 #10
0
        public override void Search()
        {
            try
            {
                string sP_SHOW_TYPE = string.Empty;

                // using (MySqlConnection con = new MySqlConnection(ConstantLib.BasicConn_Dev))
                using (MySqlConnection con = new MySqlConnection(ConstantLib.BasicConn_Real))

                {
                    using (MySqlCommand cmd = new MySqlCommand("domabiz.USP_DN_DN01_SELECT_01", con))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;

                        cmd.Parameters.Add("i_sdate", MySqlDbType.VarChar, 8);
                        cmd.Parameters[0].Value = dtS_DATE.EditValue3;

                        cmd.Parameters.Add("i_edate", MySqlDbType.VarChar, 8);
                        cmd.Parameters[1].Value = dtE_DATE.EditValue3;

                        cmd.Parameters.Add("i_type", MySqlDbType.VarChar, 50);
                        cmd.Parameters[2].Value = cmbORDER_SEARCH.EditValue;

                        cmd.Parameters.Add("i_search", MySqlDbType.VarChar, 50);
                        cmd.Parameters[3].Value = txtI_SEARCH.EditValue;

                        if (rbP_SHOW_TYPE.EditValue.ToString() != "Y" && rbP_SHOW_TYPE.EditValue.ToString() != "N")
                        {
                            sP_SHOW_TYPE = null;
                        }
                        else
                        {
                            sP_SHOW_TYPE = rbP_SHOW_TYPE.EditValue.ToString();
                        }

                        // efwRadioGroup1.Properties.Items[efwRadioGroup1.SelectedIndex].Valuellllll.ToString()
                        cmd.Parameters.Add("i_is_order", MySqlDbType.VarChar, 10);
                        cmd.Parameters[4].Value = sP_SHOW_TYPE;

                        cmd.Parameters.Add("i_order_mall_type", MySqlDbType.VarChar, 10);
                        cmd.Parameters[5].Value = cmbMALL_TYPE.EditValue;

                        //Console.WriteLine(" i_sdate           ---> [" + cmd.Parameters[0].Value + "]" );
                        //Console.WriteLine(" i_edate           ---> [" + cmd.Parameters[1].Value + "]");
                        //Console.WriteLine(" i_type            ---> [" + cmd.Parameters[2].Value + "]");
                        //Console.WriteLine(" i_search          ---> [" + cmd.Parameters[3].Value + "]");
                        //Console.WriteLine(" i_is_order        ---> [" + cmd.Parameters[4].Value + "]");
                        //Console.WriteLine(" i_order_mall_type ---> [" + cmd.Parameters[5].Value + "]");


                        cmd.Parameters.Add("i_o_type1", MySqlDbType.VarChar, 10);
                        cmd.Parameters[6].Value = chkI.EditValue;

                        cmd.Parameters.Add("i_o_type2", MySqlDbType.VarChar, 10);
                        cmd.Parameters[7].Value = chkO.EditValue;

                        cmd.Parameters.Add("i_o_type3", MySqlDbType.VarChar, 10);
                        cmd.Parameters[8].Value = chkP.EditValue;

                        cmd.Parameters.Add("i_o_type4", MySqlDbType.VarChar, 10);
                        cmd.Parameters[9].Value = chkD.EditValue;

                        cmd.Parameters.Add("i_o_type5", MySqlDbType.VarChar, 10);
                        cmd.Parameters[10].Value = chkF.EditValue;

                        cmd.Parameters.Add("i_o_type6", MySqlDbType.VarChar, 10);
                        cmd.Parameters[11].Value = chkE.EditValue;

                        cmd.Parameters.Add("i_o_type7", MySqlDbType.VarChar, 10);
                        cmd.Parameters[12].Value = chkC.EditValue;

                        cmd.Parameters.Add("i_o_type8", MySqlDbType.VarChar, 10);
                        cmd.Parameters[13].Value = chkZ.EditValue;

                        cmd.Parameters.Add("i_o_type9", MySqlDbType.VarChar, 10);
                        cmd.Parameters[14].Value = chkX.EditValue;

                        cmd.Parameters.Add("i_o_type10", MySqlDbType.VarChar, 10);
                        cmd.Parameters[15].Value = chkT.EditValue;

                        cmd.Parameters.Add("i_o_type11", MySqlDbType.VarChar, 10);
                        cmd.Parameters[16].Value = chkA.EditValue;

                        cmd.Parameters.Add("i_o_type12", MySqlDbType.VarChar, 10);
                        cmd.Parameters[17].Value = chkB.EditValue;

                        cmd.Parameters.Add("i_g_prod", MySqlDbType.VarChar, 10);
                        cmd.Parameters[18].Value = rbG_Prod.EditValue;
                        //cmbOrderDate

                        cmd.Parameters.Add("i_order_date", MySqlDbType.VarChar, 10);
                        cmd.Parameters[19].Value = cmbOrderDate.EditValue;

                        cmd.Parameters.Add("i_o_pay_type", MySqlDbType.VarChar, 1);
                        cmd.Parameters[20].Value = rbo_pay_type.EditValue;


                        using (MySqlDataAdapter sda = new MySqlDataAdapter(cmd))
                        {
                            DataTable ds = new DataTable();
                            sda.Fill(ds);
                            efwGridControl1.DataBind(ds);
                            this.efwGridControl1.MyGridView.BestFitColumns();
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageAgent.MessageShow(MessageType.Error, ex.ToString());
            }
        }
예제 #11
0
        // 저장
        private void efwSimpleButton1_Click(object sender, EventArgs e)
        {
            if (txtYN.EditValue.ToString() == "Y")
            {
                MessageAgent.MessageShow(MessageType.Warning, " 이체 처리 되었습니다. 신규 버튼을 눌른후 다시 저장 하세요. ");
                return;
            }
            if (cmbDonut_Type.EditValue.ToString() == "0")
            {
                MessageAgent.MessageShow(MessageType.Warning, " 차감 머니 종류를 선택하세요. ");
                return;
            }
            if (cmbDonut_Type1.EditValue.ToString() == "0")
            {
                MessageAgent.MessageShow(MessageType.Warning, " 적립 머니 종류를 선택하세요. ");
                return;
            }

            string shold_money;

            if (cmbDonut_Type.EditValue.ToString() == "GD")
            {
                shold_money = lblGD_MONEY.Text;
            }
            else if (cmbDonut_Type.EditValue.ToString() == "TD")
            {
                shold_money = lblTD_MONEY.Text;
            }
            else
            {
                shold_money = lblDM_MONEY.Text;
            }

            if (Convert.ToInt32(shold_money.Replace(",", "")) < Convert.ToInt32(txtdonut_count.EditValue.ToString().Replace(",", "")))
            {
                MessageAgent.MessageShow(MessageType.Warning, " 보유금액보다 이체할 금액이 더 많습니다. ");
                return;
            }

            if (MessageAgent.MessageShow(MessageType.Confirm, "저장 하시겠습니까?") == DialogResult.OK)
            {
                try
                {
                    using (MySqlConnection con = new MySqlConnection(ConstantLib.BasicConn_Real))
                    {
                        using (MySqlCommand cmd = new MySqlCommand("domabiz.USP_DT_DT01_SAVE_01", con))
                        {
                            con.Open();
                            cmd.CommandType = CommandType.StoredProcedure;

                            cmd.Parameters.Add(new MySqlParameter("i_sender", MySqlDbType.VarChar));
                            cmd.Parameters["i_sender"].Value     = txtU_Id.EditValue;
                            cmd.Parameters["i_sender"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_send_login_id", MySqlDbType.VarChar));
                            cmd.Parameters["i_send_login_id"].Value     = txtLogin_Id.EditValue;
                            cmd.Parameters["i_send_login_id"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_send_donut_type", MySqlDbType.VarChar));
                            cmd.Parameters["i_send_donut_type"].Value     = cmbDonut_Type.EditValue;
                            cmd.Parameters["i_send_donut_type"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_receiver", MySqlDbType.VarChar));
                            cmd.Parameters["i_receiver"].Value     = txtU_Id1.EditValue;
                            cmd.Parameters["i_receiver"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_rec_login_id", MySqlDbType.VarChar));
                            cmd.Parameters["i_rec_login_id"].Value     = txtLogin_Id1.EditValue;
                            cmd.Parameters["i_rec_login_id"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_rec_donut_type", MySqlDbType.VarChar));
                            cmd.Parameters["i_rec_donut_type"].Value     = cmbDonut_Type1.EditValue;
                            cmd.Parameters["i_rec_donut_type"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_donut_count", MySqlDbType.Int32));
                            cmd.Parameters["i_donut_count"].Value     = Convert.ToInt32(txtdonut_count.EditValue);
                            cmd.Parameters["i_donut_count"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_hold_money", MySqlDbType.Int32));
                            cmd.Parameters["i_hold_money"].Value     = Convert.ToInt32(shold_money.Replace(",", ""));
                            cmd.Parameters["i_hold_money"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_send_message", MySqlDbType.VarChar));
                            cmd.Parameters["i_send_message"].Value     = txtsend_message.EditValue;
                            cmd.Parameters["i_send_message"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_receive_message", MySqlDbType.VarChar));
                            cmd.Parameters["i_receive_message"].Value     = txtreceive_message.EditValue;
                            cmd.Parameters["i_receive_message"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("o_Return", MySqlDbType.VarChar));
                            cmd.Parameters["o_Return"].Direction = ParameterDirection.Output;
                            cmd.ExecuteNonQuery();

                            MessageBox.Show(cmd.Parameters["o_Return"].Value.ToString());
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageAgent.MessageShow(MessageType.Error, ex.ToString());
                }
                txtYN.Text = "Y";
                Search();
                MoneySet();
            }
        }
예제 #12
0
        //private void efwGridControl1_Click(object sender, EventArgs e)
        //{


        //}

        private void setCmb()
        {
            try
            {
                //Dictionary<string, string> myRecord;


                string strQueruy1 = @"  SELECT
                              T1.DCODE, T1.DNAME
                              FROM
                              (  SELECT ''  DCODE, N'전체'  DNAME
	                             UNION ALL
	                             SELECT CODE DCODE, CODE_NM DNAME
                                 FROM dbo.ETCCODE
	                             WHERE GRP_CODE = 'MALL_TYPE' and Use_YN = 'Y' "     + @") T1 ";

                CodeAgent.SetLegacyCode(cmbMALL_TYPE, strQueruy1);
                cmbMALL_TYPE.EditValue = "";


                string strQueruy2 = @"  SELECT
                              T1.DCODE, T1.DNAME
                              FROM
                              (  SELECT CODE  DCODE, CODE_NM DNAME
                                 FROM dbo.ETCCODE
	                             WHERE GRP_CODE = 'ORDER_SEARCH' "     + @") T1 ";

                CodeAgent.SetLegacyCode(cmbORDER_SEARCH, strQueruy2);
                cmbORDER_SEARCH.EditValue = "1";
            }
            catch (Exception ex)
            {
                MessageAgent.MessageShow(MessageType.Error, ex.ToString());
            }

            using (MySQLConn con = new MySQLConn(ConstantLib.BasicConn_Real))
            {
                con.Query = " select '' as DCODE, '선택하세요' DNAME  UNION all SELECT ifnull(code_id,'') as DCODE ,code_nm as DNAME  FROM domaadmin.tb_common_code where gcode_id = '00025'   ";

                DataSet ds = con.selectQueryDataSet();
                //DataTable retDT = ds.Tables[0];
                DataRow[]  dr        = ds.Tables[0].Select();
                CodeData[] codeArray = new CodeData[dr.Length];

                // cmbTAREA1.EditValue = "";
                // cmbTAREA1.EditValue = ds.Tables[0].Rows[0]["RESIDENTTYPE"].ToString();

                for (int i = 0; i < dr.Length; i++)
                {
                    codeArray[i] = new CodeData(dr[i]["DCODE"].ToString(), dr[i]["DNAME"].ToString());
                }

                CodeAgent.MakeCodeControl(this.cmbChange_type, codeArray);
            }
            cmbChange_type.EditValue = "";


            using (MySQLConn con = new MySQLConn(ConstantLib.BasicConn_Real))
            {
                con.Query = " SELECT ifnull(code_id,'') as DCODE ,code_nm as DNAME  FROM domaadmin.tb_common_code where gcode_id = '00032'   ";

                DataSet ds = con.selectQueryDataSet();
                //DataTable retDT = ds.Tables[0];
                DataRow[]  dr        = ds.Tables[0].Select();
                CodeData[] codeArray = new CodeData[dr.Length];

                // cmbTAREA1.EditValue = "";
                // cmbTAREA1.EditValue = ds.Tables[0].Rows[0]["RESIDENTTYPE"].ToString();

                for (int i = 0; i < dr.Length; i++)
                {
                    codeArray[i] = new CodeData(dr[i]["DCODE"].ToString(), dr[i]["DNAME"].ToString());
                }

                CodeAgent.MakeCodeControl(this.cmbOrderDate, codeArray);
            }
            cmbOrderDate.EditValue = "1";
        }
예제 #13
0
        public override IResponseMessageBase OnEvent_ClickRequest(RequestMessageEvent_Click requestMessage)
        {
            IResponseMessageBase reponseMessage = null;

            //菜单点击,需要跟创建菜单时的Key匹配
            switch (requestMessage.EventKey)
            {
            case "OneClick":
            {
                //这个过程实际已经在OnTextOrEventRequest中完成,这里不会执行到。
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Content = "hello world!!!!您点击了底部按钮。\r\n为了测试微信软件换行bug的应对措施,这里做了一个——\r\n换行";
            }
            break;

            case "SubClickRoot_Text":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Content = "hello祖爷 你好啊!!!!您点击了子菜单按钮。";
            }
            break;

            case "SubClickRoot_News":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageNews>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Articles.Add(new Article()
                    {
                        Title       = "祖爷 你好啊!!!!您点击了子菜单图文按钮",
                        Description = "您点击了子菜单图文按钮,这是一条图文信息。呵呵呵",
                        PicUrl      = "http://weixin.senparc.com/Images/qrcode.jpg",
                        Url         = "http://weixin.senparc.com"
                    });
                strongResponseMessage.Articles.Add(new Article()
                    {
                        Title       = "2祖爷 你好啊!!!!您点击了子菜单图文按钮",
                        Description = "您点击了子菜单图文按钮,这是一条图文信息。呵呵呵",
                        PicUrl      = "http://weixin.senparc.com/Images/qrcode.jpg",
                        Url         = "http://weixin.senparc.com"
                    });
            }
            break;

            case "SubClickRoot_Music":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageMusic>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Music.MusicUrl = "http://weixin.senparc.com/Content/music1.mp3";
            }
            break;

            case "SubClickRoot_Image":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageImage>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Image.MediaId = "Mj0WUTZeeG9yuBKhGP7iR5n1xUJO9IpTjGNC4buMuswfEOmk6QSIRb_i98do5nwo";
            }
            break;

            case "SubClickRoot_Agent":    //代理消息
            {
                //获取返回的XML
                DateTime dt1 = DateTime.Now;
                reponseMessage = MessageAgent.RequestResponseMessage(this, agentUrl, agentToken, RequestDocument.ToString());
                //上面的方法也可以使用扩展方法:this.RequestResponseMessage(this,agentUrl, agentToken, RequestDocument.ToString());

                DateTime dt2 = DateTime.Now;

                if (reponseMessage is ResponseMessageNews)
                {
                    (reponseMessage as ResponseMessageNews)
                    .Articles[0]
                    .Description += string.Format("\r\n\r\n代理过程总耗时:{0}毫秒", (dt2 - dt1).Milliseconds);
                }
            }
            break;

            case "Member":    //托管代理会员信息
            {
                //原始方法为:MessageAgent.RequestXml(this,agentUrl, agentToken, RequestDocument.ToString());//获取返回的XML
                reponseMessage = this.RequestResponseMessage(agentUrl, agentToken, RequestDocument.ToString());
            }
            break;

            case "OAuth":    //OAuth授权测试
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageNews>();
                strongResponseMessage.Articles.Add(new Article()
                    {
                        Title       = "OAuth2.0测试",
                        Description = "点击【查看全文】进入授权页面。\r\n注意:此页面仅供测试(是专门的一个临时测试账号的授权,并非Senparc.Weixin.MP SDK官方账号,所以如果授权后出现错误页面数正常情况),测试号随时可能过期。请将此DEMO部署到您自己的服务器上,并使用自己的appid和secret。",
                        Url         = "http://weixin.senparc.com/oauth2",
                        PicUrl      = "http://weixin.senparc.com/Images/qrcode.jpg"
                    });
                reponseMessage = strongResponseMessage;
            }
            break;

            case "Description":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                strongResponseMessage.Content = GetWelcomeInfo();
                reponseMessage = strongResponseMessage;
            }
            break;

            default:
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                strongResponseMessage.Content = "您点击了按钮,EventKey:" + requestMessage.EventKey;
                reponseMessage = strongResponseMessage;
            }
            break;
            }

            return(reponseMessage);
        }
예제 #14
0
        private void efwSimpleButton9_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(this.txtAcc_Code.Text))
            {
                MessageAgent.MessageShow(MessageType.Warning, "계정코드를 선택하세요!");
                return;
            }

            if (cmbCompany.EditValue.ToString() == "")
            {
                MessageAgent.MessageShow(MessageType.Warning, " 회사구분을 선택하세요!");
                return;
            }

            if (MessageAgent.MessageShow(MessageType.Confirm, "저장 하시겠습니까?") == DialogResult.OK)
            {
                try
                {
                    using (MySqlConnection con = new MySqlConnection(ConstantLib.BasicConn_Real))
                    {
                        using (MySqlCommand cmd = new MySqlCommand("domabiz.USP_TM_TM14_SAVE_02", con))
                        {
                            con.Open();
                            cmd.CommandType = CommandType.StoredProcedure;

                            cmd.Parameters.Add(new MySqlParameter("i_idx", MySqlDbType.Int32));
                            cmd.Parameters["i_idx"].Value     = Convert.ToInt32(txtidx.EditValue).ToString();
                            cmd.Parameters["i_idx"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_company", MySqlDbType.VarChar));
                            cmd.Parameters["i_company"].Value     = cmbCompany.EditValue;
                            cmd.Parameters["i_company"].Direction = ParameterDirection.Input;

                            string sAcc_Date = string.Empty;
                            sAcc_Date = txtAcc_Date.EditValue.ToString();
                            sAcc_Date = sAcc_Date.Substring(0, 4) + "-" + sAcc_Date.Substring(5, 2) + "-" + sAcc_Date.Substring(8, 2) + " " + sAcc_Date.Substring(13, 8);

                            cmd.Parameters.Add(new MySqlParameter("i_acc_date", MySqlDbType.DateTime));
                            cmd.Parameters["i_acc_date"].Value     = Convert.ToDateTime(sAcc_Date);
                            cmd.Parameters["i_acc_date"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_acc_code", MySqlDbType.VarChar));
                            cmd.Parameters["i_acc_code"].Value     = txtAcc_Code.EditValue;
                            cmd.Parameters["i_acc_code"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_amt", MySqlDbType.Int32));
                            cmd.Parameters["i_amt"].Value     = Convert.ToInt32(txtAmt.EditValue).ToString();
                            cmd.Parameters["i_amt"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_summary", MySqlDbType.VarChar));
                            cmd.Parameters["i_summary"].Value     = txtSummary.EditValue;
                            cmd.Parameters["i_summary"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_remark", MySqlDbType.VarChar));
                            cmd.Parameters["i_remark"].Value     = txtRemark.EditValue;
                            cmd.Parameters["i_remark"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("o_idx", MySqlDbType.Int32));
                            cmd.Parameters["o_idx"].Direction = ParameterDirection.Output;

                            cmd.Parameters.Add(new MySqlParameter("o_Return", MySqlDbType.VarChar));
                            cmd.Parameters["o_Return"].Direction = ParameterDirection.Output;
                            cmd.ExecuteNonQuery();

                            txtidx.EditValue = cmd.Parameters["o_idx"].Value.ToString();
                            MessageBox.Show(cmd.Parameters["o_Return"].Value.ToString());
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageAgent.MessageShow(MessageType.Error, ex.ToString());
                }
                Search();
            }
        }
예제 #15
0
        private void simpleButton2_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(this.txtidx.Text))
            {
                MessageAgent.MessageShow(MessageType.Warning, "배스트샵을 선택하세요 !");
                return;
            }

            OpenFileDialog openFileDialog = new OpenFileDialog();

            openFileDialog.DefaultExt = "jpg";
            openFileDialog.FileName   = "*.jpg";
            openFileDialog.Filter     = "이미지파일|*.jpg";
            openFileDialog.Title      = "이미지파일 가져오기";

            string sftpURL       = "14.63.165.36";
            string sUserName     = "******";
            string sPassword     = "******";
            int    nPort         = 22023;
            string sftpDirectory = "/domalifefiles/files/gshop_best_poto/" + Convert.ToString(txtgshop_id.EditValue);

            if (openFileDialog.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    Cursor = Cursors.WaitCursor;

                    txtafter_url.EditValue = openFileDialog.FileName;
                    picBest_Pic2.LoadAsync(openFileDialog.FileName);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("이미지파일이 문제가 있습니다." + "\r\n" + ex.ToString());
                }

                finally
                {
                    Cursor = Cursors.Default;
                }


                // 폴더생성

                DirectoryInfo di = new DirectoryInfo(@"c:\temp");
                if (di.Exists == false)
                {
                    di.Create();
                }

                // 선택된 파일을 위에서 만든 폴더에 이름을 바꿔 저장

                string sOldFile  = txtafter_url.EditValue.ToString();
                string sFileName = Convert.ToString(System.DateTime.Now.ToString("yyyyMMddhhmmss")) + ".jpg";
                string sNewFile  = "c:\\temp\\" + sFileName;
                System.IO.File.Copy(sOldFile, sNewFile);


                string LocalDirectory = "C:\\temp"; //Local directory from where the files will be uploaded


                Sftp sSftp = new Sftp(sftpURL, sUserName, sPassword);

                sSftp.Connect(nPort);

                // 저장 경로에 있는지 체크
                string sFtpPath  = "/domalifefiles/files/gshop_best_poto/";
                string sFtpPath2 = "/domalifefiles/files/gshop_best_poto/" + Convert.ToString(txtgshop_id.EditValue);

                ArrayList ay    = sSftp.GetFileList(sFtpPath);
                bool      isdir = false;

                for (int i = 0; i < ay.Count; i++)
                {
                    // string sChk = ay[i].ToString();
                    if (ay[i].ToString() == Convert.ToString(txtgshop_id.EditValue).ToString())
                    {
                        isdir = true;
                    }
                }
                if (isdir == false)
                {
                    sSftp.Mkdir(sFtpPath2);
                }

                sSftp.Put(LocalDirectory + "/" + sFileName, sftpDirectory + "/" + sFileName);
                sSftp.Close();
                txtafter_url.EditValue = "https://media.domalife.net/files/gshop_best_poto/" + Convert.ToString(txtgshop_id.EditValue) + "/" + sFileName;
            }
        }
예제 #16
0
        private void Open1()
        {
            try
            {
                using (MySqlConnection con = new MySqlConnection(ConstantLib.BasicConn_Real))
                {
                    using (MySqlCommand cmd = new MySqlCommand("domabiz.USP_MM_MM14_SELECT_01", con))
                    {
                        con.Open();
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.Add(new MySqlParameter("i_p_id", MySqlDbType.Int32));
                        cmd.Parameters["i_p_id"].Value     = Convert.ToInt32(txtP_Id.EditValue);
                        cmd.Parameters["i_p_id"].Direction = ParameterDirection.Input;

                        cmd.Parameters.Add(new MySqlParameter("o_doma_rate", MySqlDbType.Int32));
                        cmd.Parameters["o_doma_rate"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_vip_rate", MySqlDbType.Int32));
                        cmd.Parameters["o_vip_rate"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_chef_rate", MySqlDbType.Int32));
                        cmd.Parameters["o_chef_rate"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_md_rate", MySqlDbType.Int32));
                        cmd.Parameters["o_md_rate"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_gshop_rate", MySqlDbType.Int32));
                        cmd.Parameters["o_gshop_rate"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_doma_money", MySqlDbType.VarChar));
                        cmd.Parameters["o_doma_money"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_vip_money", MySqlDbType.VarChar));
                        cmd.Parameters["o_vip_money"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_chef_money", MySqlDbType.VarChar));
                        cmd.Parameters["o_chef_money"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_md_money", MySqlDbType.VarChar));
                        cmd.Parameters["o_md_money"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_gshop_money", MySqlDbType.VarChar));
                        cmd.Parameters["o_gshop_money"].Direction = ParameterDirection.Output;

                        cmd.ExecuteNonQuery();

                        txtdoma_rate.EditValue  = cmd.Parameters["o_doma_rate"].Value.ToString();
                        txtvip_rate.EditValue   = cmd.Parameters["o_vip_rate"].Value.ToString();
                        txtchef_rate.EditValue  = cmd.Parameters["o_chef_rate"].Value.ToString();
                        txtmd_rate.EditValue    = cmd.Parameters["o_md_rate"].Value.ToString();
                        txtgshop_rate.EditValue = cmd.Parameters["o_gshop_rate"].Value.ToString();

                        cmbDoma_Money.EditValue  = cmd.Parameters["o_doma_money"].Value.ToString();
                        cmbVip_Money.EditValue   = cmd.Parameters["o_vip_money"].Value.ToString();
                        cmbChef_Money.EditValue  = cmd.Parameters["o_chef_money"].Value.ToString();
                        cmbMd_Money.EditValue    = cmd.Parameters["o_md_money"].Value.ToString();
                        cmbGshop_Money.EditValue = cmd.Parameters["o_gshop_money"].Value.ToString();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageAgent.MessageShow(MessageType.Error, ex.ToString());
            }
        }
예제 #17
0
        private void efwSimpleButton7_Click_1(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(this.txtPm_prodser.Text))
            {
                MessageAgent.MessageShow(MessageType.Warning, "상품을 선택하세요!");
                return;
            }

            // 도마
            string sDoma_Rate = string.Empty;

            sDoma_Rate = string.IsNullOrEmpty(this.txtDoma_Rate.Text).ToString();
            if ((string.IsNullOrEmpty(this.txtDoma_Rate.Text)) || (txtDoma_Rate.EditValue.ToString() == "0"))
            {
                sDoma_Rate = "0";
            }
            if ((sDoma_Rate == "0" && cmbDoma_Money.EditValue.ToString() != "0") || (sDoma_Rate != "0" && cmbDoma_Money.EditValue.ToString() == "0"))
            {
                MessageAgent.MessageShow(MessageType.Warning, "일반도마 할인율과 사용머니를 선택하세요!");
                return;
            }

            // Vip
            string sVip_Rate = string.Empty;

            sVip_Rate = string.IsNullOrEmpty(this.txtVip_Rate.Text).ToString();
            if ((string.IsNullOrEmpty(this.txtVip_Rate.Text)) || (txtVip_Rate.EditValue.ToString() == "0"))
            {
                sVip_Rate = "0";
            }
            if ((sVip_Rate == "0" && cmbDoma_Money.EditValue.ToString() != "0") || (sVip_Rate != "0" && cmbVip_Money.EditValue.ToString() == "0"))
            {
                MessageAgent.MessageShow(MessageType.Warning, "VIP 할인율과 사용머니를 선택하세요!");
                return;
            }

            // Chef
            string sChef_Rate = string.Empty;

            sChef_Rate = string.IsNullOrEmpty(this.txtChef_Rate.Text).ToString();
            if ((string.IsNullOrEmpty(this.txtChef_Rate.Text)) || (txtChef_Rate.EditValue.ToString() == "0"))
            {
                sChef_Rate = "0";
            }
            if ((sChef_Rate == "0" && cmbChef_Money.EditValue.ToString() != "0") || (sChef_Rate != "0" && cmbChef_Money.EditValue.ToString() == "0"))
            {
                MessageAgent.MessageShow(MessageType.Warning, "G 매니저 할인율과 사용머니를 선택하세요!");
                return;
            }

            // Md
            string sMd_Rate = string.Empty;

            sMd_Rate = string.IsNullOrEmpty(this.txtMd_Rate.Text).ToString();
            if ((string.IsNullOrEmpty(this.txtMd_Rate.Text)) || (txtMd_Rate.EditValue.ToString() == "0"))
            {
                sMd_Rate = "0";
            }
            if ((sMd_Rate == "0" && cmbMd_Money.EditValue.ToString() != "0") || (sMd_Rate != "0" && cmbMd_Money.EditValue.ToString() == "0"))
            {
                MessageAgent.MessageShow(MessageType.Warning, "셰프이사 할인율과 사용머니를 선택하세요!");
                return;
            }

            // Gshop
            string sGshop_Rate = string.Empty;

            sGshop_Rate = string.IsNullOrEmpty(this.txtGshop_Rate.Text).ToString();
            if ((string.IsNullOrEmpty(this.txtGshop_Rate.Text)) || (txtGshop_Rate.EditValue.ToString() == "0"))
            {
                sGshop_Rate = "0";
            }
            if ((sGshop_Rate == "0" && cmbGshop_Money.EditValue.ToString() != "0") || (sGshop_Rate != "0" && cmbGshop_Money.EditValue.ToString() == "0"))
            {
                MessageAgent.MessageShow(MessageType.Warning, "G 멀티샵 할인율과 사용머니를 선택하세요!");
                return;
            }



            if (MessageAgent.MessageShow(MessageType.Confirm, "저장 하시겠습니까?") == DialogResult.OK)
            {
                try
                {
                    using (MySqlConnection con = new MySqlConnection(ConstantLib.BasicConn_Real))
                    {
                        using (MySqlCommand cmd = new MySqlCommand("domabiz.USP_MM_MM15_SAVE_02", con))
                        {
                            con.Open();
                            cmd.CommandType = CommandType.StoredProcedure;


                            cmd.Parameters.Add(new MySqlParameter("i_Id", MySqlDbType.Int32));
                            cmd.Parameters["i_Id"].Value     = Convert.ToInt32(txtId.EditValue);
                            cmd.Parameters["i_Id"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_pm_prodser", MySqlDbType.Int32));
                            cmd.Parameters["i_pm_prodser"].Value     = Convert.ToInt32(txtPm_prodser.EditValue);
                            cmd.Parameters["i_pm_prodser"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_P_Id", MySqlDbType.Int32));
                            cmd.Parameters["i_P_Id"].Value     = Convert.ToInt32(txtP_Id.EditValue);
                            cmd.Parameters["i_P_Id"].Direction = ParameterDirection.Input;

                            // doma
                            int nDoma_Rate = 0;
                            if (string.IsNullOrEmpty(this.txtDoma_Rate.Text))
                            {
                                nDoma_Rate = 0;
                            }
                            else
                            {
                                nDoma_Rate = Convert.ToInt32(txtDoma_Rate.EditValue);
                            }
                            cmd.Parameters.Add(new MySqlParameter("i_doma_rate", MySqlDbType.Int32));
                            cmd.Parameters["i_doma_rate"].Value     = nDoma_Rate;
                            cmd.Parameters["i_doma_rate"].Direction = ParameterDirection.Input;

                            // Vip
                            int nVip_Rate = 0;
                            if (string.IsNullOrEmpty(this.txtVip_Rate.Text))
                            {
                                nVip_Rate = 0;
                            }
                            else
                            {
                                nVip_Rate = Convert.ToInt32(txtVip_Rate.EditValue);
                            }
                            cmd.Parameters.Add(new MySqlParameter("i_vip_rate", MySqlDbType.Int32));
                            cmd.Parameters["i_vip_rate"].Value     = nVip_Rate;
                            cmd.Parameters["i_vip_rate"].Direction = ParameterDirection.Input;

                            // Chef
                            int nChef_Rate = 0;
                            if (string.IsNullOrEmpty(this.txtChef_Rate.Text))
                            {
                                nChef_Rate = 0;
                            }
                            else
                            {
                                nChef_Rate = Convert.ToInt32(txtChef_Rate.EditValue);
                            }
                            cmd.Parameters.Add(new MySqlParameter("i_chef_rate", MySqlDbType.Int32));
                            cmd.Parameters["i_chef_rate"].Value     = nChef_Rate;
                            cmd.Parameters["i_chef_rate"].Direction = ParameterDirection.Input;

                            // MD
                            int nMd_Rate = 0;
                            if (string.IsNullOrEmpty(this.txtMd_Rate.Text))
                            {
                                nMd_Rate = 0;
                            }
                            else
                            {
                                nMd_Rate = Convert.ToInt32(txtMd_Rate.EditValue);
                            }
                            cmd.Parameters.Add(new MySqlParameter("i_md_rate", MySqlDbType.Int32));
                            cmd.Parameters["i_md_rate"].Value     = nMd_Rate;
                            cmd.Parameters["i_md_rate"].Direction = ParameterDirection.Input;

                            // Gshop
                            int nGshop_Rate = 0;
                            if (string.IsNullOrEmpty(this.txtGshop_Rate.Text))
                            {
                                nGshop_Rate = 0;
                            }
                            else
                            {
                                nGshop_Rate = Convert.ToInt32(txtGshop_Rate.EditValue);
                            }
                            cmd.Parameters.Add(new MySqlParameter("i_gshop_rate", MySqlDbType.Int32));
                            cmd.Parameters["i_gshop_rate"].Value     = nGshop_Rate;
                            cmd.Parameters["i_gshop_rate"].Direction = ParameterDirection.Input;


                            cmd.Parameters.Add(new MySqlParameter("i_doma_money", MySqlDbType.VarChar));
                            cmd.Parameters["i_doma_money"].Value     = cmbDoma_Money.EditValue;
                            cmd.Parameters["i_doma_money"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_vip_money", MySqlDbType.VarChar));
                            cmd.Parameters["i_vip_money"].Value     = cmbVip_Money.EditValue;
                            cmd.Parameters["i_vip_money"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_chef_money", MySqlDbType.VarChar));
                            cmd.Parameters["i_chef_money"].Value     = cmbChef_Money.EditValue;
                            cmd.Parameters["i_chef_money"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_md_money", MySqlDbType.VarChar));
                            cmd.Parameters["i_md_money"].Value     = cmbMd_Money.EditValue;
                            cmd.Parameters["i_md_money"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_gshop_money", MySqlDbType.VarChar));
                            cmd.Parameters["i_gshop_money"].Value     = cmbGshop_Money.EditValue;
                            cmd.Parameters["i_gshop_money"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_is_banner", MySqlDbType.VarChar));
                            cmd.Parameters["i_is_banner"].Value     = rbIs_Banner.EditValue;
                            cmd.Parameters["i_is_banner"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("o_Return", MySqlDbType.VarChar));
                            cmd.Parameters["o_Return"].Direction = ParameterDirection.Output;

                            cmd.ExecuteNonQuery();
                            MessageBox.Show(cmd.Parameters["o_Return"].Value.ToString());
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageAgent.MessageShow(MessageType.Error, ex.ToString());
                }
            }
            Open1();
        }
예제 #18
0
        private void efwSimpleButton1_Click(object sender, EventArgs e)
        {
            // 필수항목 CHECK txtP_Img

            if (string.IsNullOrEmpty(this.txtP_Name.Text))
            {
                MessageAgent.MessageShow(MessageType.Warning, "상품을 선택하세요!");
                txtP_Name.Focus();
                return;
            }

            if (MessageAgent.MessageShow(MessageType.Confirm, "저장 하시겠습니까?") == DialogResult.OK)
            {
                try
                {
                    using (MySqlConnection con = new MySqlConnection(ConstantLib.BasicConn_Real))
                    {
                        using (MySqlCommand cmd = new MySqlCommand("domabiz.USP_MM_MM14_SAVE_01", con))
                        {
                            con.Open();
                            cmd.CommandType = CommandType.StoredProcedure;

                            cmd.Parameters.Add(new MySqlParameter("i_P_Id", MySqlDbType.Int32));
                            cmd.Parameters["i_P_Id"].Value     = Convert.ToInt32(txtP_Id.EditValue);
                            cmd.Parameters["i_P_Id"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_doma_rate", MySqlDbType.Int32));
                            cmd.Parameters["i_doma_rate"].Value     = Convert.ToInt32(txtdoma_rate.EditValue);
                            cmd.Parameters["i_doma_rate"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_vip_rate", MySqlDbType.Int32));
                            cmd.Parameters["i_vip_rate"].Value     = Convert.ToInt32(txtvip_rate.EditValue);
                            cmd.Parameters["i_vip_rate"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_chef_rate", MySqlDbType.Int32));
                            cmd.Parameters["i_chef_rate"].Value     = Convert.ToInt32(txtchef_rate.EditValue);
                            cmd.Parameters["i_chef_rate"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_md_rate", MySqlDbType.Int32));
                            cmd.Parameters["i_md_rate"].Value     = Convert.ToInt32(txtmd_rate.EditValue);
                            cmd.Parameters["i_md_rate"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_gshop_rate", MySqlDbType.Int32));
                            cmd.Parameters["i_gshop_rate"].Value     = Convert.ToInt32(txtgshop_rate.EditValue);
                            cmd.Parameters["i_gshop_rate"].Direction = ParameterDirection.Input;


                            cmd.Parameters.Add(new MySqlParameter("i_doma_money", MySqlDbType.VarChar));
                            cmd.Parameters["i_doma_money"].Value     = cmbDoma_Money.EditValue;
                            cmd.Parameters["i_doma_money"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_vip_money", MySqlDbType.VarChar));
                            cmd.Parameters["i_vip_money"].Value     = cmbVip_Money.EditValue;
                            cmd.Parameters["i_vip_money"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_chef_money", MySqlDbType.VarChar));
                            cmd.Parameters["i_chef_money"].Value     = cmbChef_Money.EditValue;
                            cmd.Parameters["i_chef_money"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_md_money", MySqlDbType.VarChar));
                            cmd.Parameters["i_md_money"].Value     = cmbMd_Money.EditValue;
                            cmd.Parameters["i_md_money"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_gshop_money", MySqlDbType.VarChar));
                            cmd.Parameters["i_gshop_money"].Value     = cmbGshop_Money.EditValue;
                            cmd.Parameters["i_gshop_money"].Direction = ParameterDirection.Input;



                            cmd.Parameters.Add(new MySqlParameter("o_Return", MySqlDbType.VarChar));
                            cmd.Parameters["o_Return"].Direction = ParameterDirection.Output;

                            cmd.ExecuteNonQuery();
                            MessageBox.Show(cmd.Parameters["o_Return"].Value.ToString());
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageAgent.MessageShow(MessageType.Error, ex.ToString());
                }
            }
        }
예제 #19
0
        /// <summary>
        /// 点击事件
        /// </summary>
        /// <param name="requestMessage">请求消息</param>
        /// <returns></returns>
        public override IResponseMessageBase OnEvent_ClickRequest(RequestMessageEvent_Click requestMessage)
        {
            IResponseMessageBase reponseMessage = null;

            //菜单点击,需要跟创建菜单时的Key匹配

            switch (requestMessage.EventKey)
            {
            case "OneClick":
            {
                //这个过程实际已经在OnTextOrEventRequest中命中“OneClick”关键字,并完成回复,这里不会执行到。
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Content = "您点击了底部按钮。\r\n为了测试微信软件换行bug的应对措施,这里做了一个——\r\n换行";
            }
            break;

            case "SubClickRoot_Text":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Content = "您点击了子菜单按钮。";
            }
            break;

            case "SubClickRoot_News":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageNews>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Articles.Add(new Article()
                    {
                        Title       = "您点击了子菜单图文按钮",
                        Description = "您点击了子菜单图文按钮,这是一条图文信息。这个区域是Description内容\r\n可以使用\\r\\n进行换行。",
                        PicUrl      = "https://sdk.weixin.senparc.com/Images/qrcode.jpg",
                        Url         = "https://sdk.weixin.senparc.com"
                    });

                //随机添加一条图文,或只输出一条图文信息
                if (SystemTime.Now.Second % 2 == 0)
                {
                    strongResponseMessage.Articles.Add(new Article()
                        {
                            Title       = "这是随机产生的第二条图文信息,用于测试多条图文的样式",
                            Description = "这是随机产生的第二条图文信息,用于测试多条图文的样式",
                            PicUrl      = "https://sdk.weixin.senparc.com/Images/qrcode.jpg",
                            Url         = "https://sdk.weixin.senparc.com"
                        });
                }
            }
            break;

            case "SubClickRoot_Music":
            {
                //上传缩略图

#if NET45
                var filePath = "~/Images/Logo.thumb.jpg";
#else
                var filePath = "~/wwwroot/Images/Logo.thumb.jpg";
#endif

                var uploadResult = Senparc.Weixin.MP.AdvancedAPIs.MediaApi.UploadTemporaryMedia(appId, UploadMediaFileType.thumb,
                                                                                                ServerUtility.ContentRootMapPath(filePath));
                //PS:缩略图官方没有特别提示文件大小限制,实际测试哪怕114K也会返回文件过大的错误,因此尽量控制在小一点(当前图片39K)

                //设置音乐信息
                var strongResponseMessage = CreateResponseMessage <ResponseMessageMusic>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Music.Title        = "天籁之音";
                strongResponseMessage.Music.Description  = "真的是天籁之音";
                strongResponseMessage.Music.MusicUrl     = "https://sdk.weixin.senparc.com/Content/music1.mp3";
                strongResponseMessage.Music.HQMusicUrl   = "https://sdk.weixin.senparc.com/Content/music1.mp3";
                strongResponseMessage.Music.ThumbMediaId = uploadResult.thumb_media_id;
            }
            break;

            case "SubClickRoot_Image":
            {
                //上传图片
#if NET45
                var filePath = "~/Images/Logo.jpg";
#else
                var filePath = "~/wwwroot/Images/Logo.jpg";
#endif

                var uploadResult = Senparc.Weixin.MP.AdvancedAPIs.MediaApi.UploadTemporaryMedia(appId, UploadMediaFileType.image,
                                                                                                ServerUtility.ContentRootMapPath(filePath));
                //设置图片信息
                var strongResponseMessage = CreateResponseMessage <ResponseMessageImage>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Image.MediaId = uploadResult.media_id;
            }
            break;

            case "SendMenu":    //菜单消息
            {
                //注意:
                //1、此接口可以在任意地方调用(包括后台线程),此处演示为通过
                //2、一下"s:"前缀只是 Senparc.Weixin 的内部约定,可以使用 OnTextRequest事件中的 requestHandler.SelectMenuKeyword() 方法自动匹配到后缀(如101)

                var menuContentList = new List <SendMenuContent>()
                {
                    new SendMenuContent("101", "满意"),
                    new SendMenuContent("102", "一般"),
                    new SendMenuContent("103", "不满意")
                };
                //使用异步接口
                CustomApi.SendMenuAsync(appId, OpenId, "请对 Senparc.Weixin SDK 给出您的评价", menuContentList, "感谢您的参与!");

                reponseMessage = new ResponseMessageNoResponse();        //不返回任何消息
            }
            break;

            case "SubClickRoot_Agent":    //代理消息
            {
                //获取返回的XML
                var dt1 = SystemTime.Now;
                reponseMessage = MessageAgent.RequestResponseMessage(this, agentUrl, agentToken, RequestDocument.ToString());
                //上面的方法也可以使用扩展方法:this.RequestResponseMessage(this,agentUrl, agentToken, RequestDocument.ToString());

                var dt2 = SystemTime.Now;

                if (reponseMessage is ResponseMessageNews)
                {
                    (reponseMessage as ResponseMessageNews)
                    .Articles[0]
                    .Description += string.Format("\r\n\r\n代理过程总耗时:{0}毫秒", (dt2 - dt1).Milliseconds);
                }
            }
            break;

            case "Member":    //托管代理会员信息
            {
                //原始方法为:MessageAgent.RequestXml(this,agentUrl, agentToken, RequestDocument.ToString());//获取返回的XML
                reponseMessage = this.RequestResponseMessage(agentUrl, agentToken, RequestDocument.ToString());
            }
            break;

            case "OAuth":    //OAuth授权测试
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageNews>();

                strongResponseMessage.Articles.Add(new Article()
                    {
                        Title       = "OAuth2.0测试",
                        Description = "选择下面两种不同的方式进行测试,区别在于授权成功后,最后停留的页面。",
                        //Url = "https://sdk.weixin.senparc.com/oauth2",
                        //PicUrl = "https://sdk.weixin.senparc.com/Images/qrcode.jpg"
                    });

                strongResponseMessage.Articles.Add(new Article()
                    {
                        Title       = "OAuth2.0测试(不带returnUrl),测试环境可使用",
                        Description = "OAuth2.0测试(不带returnUrl)",
                        Url         = "https://sdk.weixin.senparc.com/oauth2",
                        PicUrl      = "https://sdk.weixin.senparc.com/Images/qrcode.jpg"
                    });

                var returnUrl = "/OAuth2/TestReturnUrl";
                strongResponseMessage.Articles.Add(new Article()
                    {
                        Title       = "OAuth2.0测试(带returnUrl),生产环境强烈推荐使用",
                        Description = "OAuth2.0测试(带returnUrl)",
                        Url         = "https://sdk.weixin.senparc.com/oauth2?returnUrl=" + returnUrl.UrlEncode(),
                        PicUrl      = "https://sdk.weixin.senparc.com/Images/qrcode.jpg"
                    });

                reponseMessage = strongResponseMessage;
            }
            break;

            case "Description":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                strongResponseMessage.Content = GetWelcomeInfo();
                reponseMessage = strongResponseMessage;
            }
            break;

            case "SubClickRoot_PicPhotoOrAlbum":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Content = "您点击了【微信拍照】按钮。系统将会弹出拍照或者相册发图。";
            }
            break;

            case "SubClickRoot_ScancodePush":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Content = "您点击了【微信扫码】按钮。";
            }
            break;

            case "ConditionalMenu_Male":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Content = "您点击了个性化菜单按钮,您的微信性别设置为:男。";
            }
            break;

            case "ConditionalMenu_Femle":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Content = "您点击了个性化菜单按钮,您的微信性别设置为:女。";
            }
            break;

            case "GetNewMediaId":    //获取新的MediaId
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                try
                {
                    var result = Senparc.Weixin.MP.AdvancedAPIs.MediaApi.UploadForeverMedia(appId, ServerUtility.ContentRootMapPath("~/Images/logo.jpg"));
                    strongResponseMessage.Content = result.media_id;
                }
                catch (Exception e)
                {
                    strongResponseMessage.Content = "发生错误:" + e.Message;
                    WeixinTrace.SendCustomLog("调用UploadForeverMedia()接口发生异常", e.Message);
                }
            }
            break;

            default:
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                strongResponseMessage.Content = "您点击了按钮,EventKey:" + requestMessage.EventKey;
                reponseMessage = strongResponseMessage;
            }
            break;
            }

            return(reponseMessage);
        }
예제 #20
0
        public ActionResult Index(string url, string token, RequestMsgType requestType, Event?eventType,
                                  bool testConcurrence, int testConcurrenceCount,
                                  bool testEncrypt, string encodingAESKey, string appId)
        {
            using (MemoryStream ms = new MemoryStream())
            {
                var requestMessaageDoc = GetrequestMessaageDoc(/*url, token,*/ requestType, eventType);
                requestMessaageDoc.Save(ms);
                ms.Seek(0, SeekOrigin.Begin);

                string msgSigature    = null;
                var    timeStamp      = SystemTime.NowTicks.ToString();
                var    nonce          = (SystemTime.NowTicks * 2).ToString();
                string encryptTypeAll = null;
                string openIdAll      = null;

                //对请求消息进行加密
                if (testEncrypt)
                {
                    try
                    {
                        var openId     = requestMessaageDoc.Root.Element("FromUserName").Value;
                        var toUserName = requestMessaageDoc.Root.Element("ToUserName").Value;

                        WXBizMsgCrypt msgCrype         = new WXBizMsgCrypt(token, encodingAESKey, appId);
                        string        finalResponseXml = null;
                        var           ret = msgCrype.EncryptRequestMsg(requestMessaageDoc.ToString(), timeStamp, nonce, toUserName, ref finalResponseXml, ref msgSigature);

                        if (ret == 0)
                        {
                            requestMessaageDoc = XDocument.Parse(finalResponseXml);//赋值最新的加密信息
                            openIdAll          = $"openid={openId}";
                            encryptTypeAll     = "&encrypt_type=aes";
                        }
                    }
                    catch (Exception ex)
                    {
                        var data = new { Success = false, LoadTime = "N/A", Result = "发生错误:" + ex.ToString() };
                        return(Json(data, new JsonSerializerSettings()
                        {
                            ContractResolver = new DefaultContractResolver()
                        }));

                        throw;
                    }

                    //Senparc.CO2NET.Trace.SenparcTrace.SendCustomLog("模拟测试-加密消息:", requestMessaageDoc?.ToString());
                }

                var sigature = CheckSignature.GetSignature(timeStamp, nonce, token);

                url += url.Contains("?") ? "&" : "?";
                url += $"signature={sigature}&timeStamp={timeStamp}&nonce={nonce}&msg_signature={msgSigature}{encryptTypeAll}{openIdAll}";
                //参数如:signature=330ed3b64e363dc876f35e54a79e59b48739f567&timestamp=1570075722&nonce=863153744&openid=olPjZjsXuQPJoV0HlruZkNzKc91E&encrypt_type=aes&msg_signature=71dc359205a4660bc3b3046b643452c994b5897d

                var dt1 = SystemTime.Now;
                var responseMessageXml = MessageAgent.RequestXml(null, url, token, requestMessaageDoc.ToString(), autoFillUrlParameters: false);

                if (string.IsNullOrEmpty(responseMessageXml))
                {
                    responseMessageXml = "返回消息为空,可能已经被去重。\r\nMsgId相同的连续消息将被自动去重。";
                }

                try
                {
                    if (testConcurrence)
                    {
                        dt1 = SystemTime.Now;
                        testConcurrenceCount = testConcurrenceCount > 30 ? 30 : testConcurrenceCount;//设定最高限额

                        //模拟并发请求
                        List <Task <string> > taskList = new List <Task <string> >();
                        for (int i = 0; i < testConcurrenceCount; i++)
                        {
                            var task = TestAsyncTask(url, token, requestMessaageDoc, autoFillUrlParameters: false, sleepMillionSeconds: 100);
                            taskList.Add(task);
                        }
                        Task.WaitAll(taskList.ToArray(), 1500 * 10);
                    }

                    var cache = CacheStrategyFactory.GetObjectCacheStrategyInstance();
                    var data  = new
                    {
                        Success          = true,
                        LoadTime         = SystemTime.DiffTotalMS(dt1, "f4"),
                        Result           = responseMessageXml,
                        CacheType        = cache.GetType().Name,
                        ConcurrenceCount = testConcurrenceCount
                    };
                    return(Json(data, new JsonSerializerSettings()
                    {
                        ContractResolver = new DefaultContractResolver()
                    }));
                }
                catch (Exception ex)
                {
                    var msg = string.Format("{0}\r\n{1}\r\n{2}", ex.Message, null, ex.InnerException != null ? ex.InnerException.Message : null);
                    return(Json(new { Success = false, Result = msg }, new JsonSerializerSettings()
                    {
                        ContractResolver = new DefaultContractResolver()
                    }));
                }
            }
        }
예제 #21
0
        private void Save4()
        {
            if (string.IsNullOrEmpty(this.txtU_NAME1.Text))
            {
                MessageAgent.MessageShow(MessageType.Warning, " 회원을 선택하세요!");
                return;
            }


            try
            {
                using (MySqlConnection con = new MySqlConnection(ConstantLib.BasicConn_Real))
                {
                    using (MySqlCommand cmd = new MySqlCommand("domabiz.USP_GSHOP_GSHOP06_SAVE_02", con))
                    {
                        con.Open();
                        cmd.CommandType = CommandType.StoredProcedure;

                        cmd.Parameters.Add(new MySqlParameter("i_idx", MySqlDbType.VarChar));
                        cmd.Parameters["i_idx"].Value     = txtIDX1.EditValue;
                        cmd.Parameters["i_idx"].Direction = ParameterDirection.Input;

                        cmd.Parameters.Add(new MySqlParameter("i_gr_u_id", MySqlDbType.VarChar));
                        cmd.Parameters["i_gr_u_id"].Value     = txtGR_U_ID.EditValue;
                        cmd.Parameters["i_gr_u_id"].Direction = ParameterDirection.Input;

                        cmd.Parameters.Add(new MySqlParameter("i_md_u_id", MySqlDbType.VarChar));
                        cmd.Parameters["i_md_u_id"].Value     = txtMD_U_ID.EditValue;
                        cmd.Parameters["i_md_u_id"].Direction = ParameterDirection.Input;

                        cmd.Parameters.Add(new MySqlParameter("i_doramd_type", MySqlDbType.Int32, 2));
                        cmd.Parameters["i_doramd_type"].Value     = Convert.ToInt32(cbDORAMD_TYPE.EditValue);
                        cmd.Parameters["i_doramd_type"].Direction = ParameterDirection.Input;

                        cmd.Parameters.Add(new MySqlParameter("i_remark", MySqlDbType.VarChar));
                        cmd.Parameters["i_remark"].Value     = txtREMARK.EditValue;
                        cmd.Parameters["i_remark"].Direction = ParameterDirection.Input;

                        cmd.Parameters.Add(new MySqlParameter("o_idx", MySqlDbType.Int32, 10));
                        cmd.Parameters["o_idx"].Direction = ParameterDirection.Output;

                        //Console.WriteLine(" i_idx           ---> [" + txtIDX1.EditValue + "]");
                        //Console.WriteLine(" i_gr_u_id       ---> [" + txtGR_U_ID.EditValue + "]");
                        //Console.WriteLine(" i_md_u_id       ---> [" + txtMD_U_ID.EditValue + "]");
                        //Console.WriteLine(" i_doramd_type   ---> [" + Convert.ToInt16(cbDORAMD_TYPE.EditValue) + "]");
                        //Console.WriteLine(" i_remark        ---> [" + txtREMARK.EditValue + "]");
                        //Console.WriteLine(" o_idx           ---> [" + ParameterDirection.Output + "]");

                        cmd.ExecuteNonQuery();

                        txtIDX1.Text = (cmd.Parameters["o_idx"].Value.ToString());
                    }
                }
            }
            catch (Exception ex)
            {
                MessageAgent.MessageShow(MessageType.Error, ex.ToString());
            }
            finally
            {
                EfwSimpleButton1_Click(null, null);
            }
        }
예제 #22
0
        /// <summary>
        /// 处理文字请求
        /// </summary>
        /// <returns></returns>
        public override IResponseMessageBase OnTextRequest(RequestMessageText requestMessage)
        {
            //TODO:这里的逻辑可以交给Service处理具体信息,参考OnLocationRequest方法或/Service/LocationSercice.cs

            //方法一(v0.1),此方法调用太过繁琐,已过时(但仍是所有方法的核心基础),建议使用方法二到四
            //var responseMessage =
            //    ResponseMessageBase.CreateFromRequestMessage(RequestMessage, ResponseMsgType.Text) as
            //    ResponseMessageText;

            //方法二(v0.4)
            //var responseMessage = ResponseMessageBase.CreateFromRequestMessage<ResponseMessageText>(RequestMessage);

            //方法三(v0.4),扩展方法,需要using Senparc.Weixin.MP.Helpers;
            //var responseMessage = RequestMessage.CreateResponseMessage<ResponseMessageText>();

            //方法四(v0.6+),仅适合在HandlerMessage内部使用,本质上是对方法三的封装
            //注意:下面泛型ResponseMessageText即返回给客户端的类型,可以根据自己的需要填写ResponseMessageNews等不同类型。
            var responseMessage = base.CreateResponseMessage <ResponseMessageText>();

            if (requestMessage.Content == "约束")
            {
                responseMessage.Content = "<a href=\"http://weixin.senparc.com/FilterTest/\">点击这里</a>进行客户端约束测试(地址:http://weixin.senparc.com/FilterTest/)。";
            }
            if (requestMessage.Content == "托管" || requestMessage.Content == "代理")
            {
                //开始用代理托管,把请求转到其他服务器上去,然后拿回结果
                //甚至也可以将所有请求在DefaultResponseMessage()中托管到外部。

                DateTime dt1 = DateTime.Now;                                                                       //计时开始

                var responseXml = MessageAgent.RequestXml(this, agentUrl, agentToken, RequestDocument.ToString()); //获取返回的XML
                //上面的方法也可以使用扩展方法:this.RequestResponseMessage(this,agentUrl, agentToken, RequestDocument.ToString());

                /* 如果有WeiweihiKey,可以直接使用下面的这个MessageAgent.RequestWeiweihiXml()方法。
                 * WeiweihiKey专门用于对接www.weiweihi.com平台,获取方式见:http://www.weiweihi.com/ApiDocuments/Item/25#51
                 */
                //var responseXml = MessageAgent.RequestWeiweihiXml(weiweihiKey, RequestDocument.ToString());//获取Weiweihi返回的XML

                DateTime dt2 = DateTime.Now;//计时结束

                //转成实体。

                /* 如果要写成一行,可以直接用:
                 * responseMessage = MessageAgent.RequestResponseMessage(agentUrl, agentToken, RequestDocument.ToString());
                 * 或
                 *
                 */
                responseMessage = responseXml.CreateResponseMessage() as ResponseMessageText;

                responseMessage.Content += string.Format("\r\n\r\n代理过程总耗时:{0}毫秒", (dt2 - dt1).Milliseconds);
            }
            else if (requestMessage.Content == "测试" || requestMessage.Content == "退出")
            {
                /*
                 * 这是一个特殊的过程,此请求通常来自于微微嗨(http://www.weiweihi.com)的“盛派网络小助手”应用请求(http://www.weiweihi.com/User/App/Detail/1),
                 * 用于演示微微嗨应用商店的处理过程,由于微微嗨的应用内部可以单独设置对话过期时间,所以这里通常不需要考虑对话状态,只要做最简单的响应。
                 */
                if (requestMessage.Content == "测试")
                {
                    //进入APP测试
                    responseMessage.Content = "您已经进入【盛派网络小助手】的测试程序,请发送任意信息进行测试。发送文字【退出】退出测试对话。10分钟内无任何交互将自动退出应用对话状态。";
                }
                else
                {
                    //退出APP测试
                    responseMessage.Content = "您已经退出【盛派网络小助手】的测试程序。";
                }
            }
            else
            {
                var result = new StringBuilder();
                result.AppendFormat("您刚才发送了文字信息:{0}\r\n\r\n", requestMessage.Content);

                if (CurrentMessageContext.RequestMessages.Count > 1)
                {
                    result.AppendFormat("您刚才还发送了如下消息({0}/{1}):\r\n", CurrentMessageContext.RequestMessages.Count, CurrentMessageContext.StorageData);
                    for (int i = CurrentMessageContext.RequestMessages.Count - 2; i >= 0; i--)
                    {
                        var historyMessage = CurrentMessageContext.RequestMessages[i];
                        result.AppendFormat("{0} 【{1}】{2}\r\n",
                                            historyMessage.CreateTime.ToShortTimeString(),
                                            historyMessage.MsgType.ToString(),
                                            (historyMessage is RequestMessageText)
                                                ? (historyMessage as RequestMessageText).Content
                                                : "[非文字类型]"
                                            );
                    }
                    result.AppendLine("\r\n");
                }

                result.AppendFormat("如果您在{0}分钟内连续发送消息,记录将被自动保留(当前设置:最多记录{1}条)。过期后记录将会自动清除。\r\n", WeixinContext.ExpireMinutes, WeixinContext.MaxRecordCount);
                result.AppendLine("\r\n");
                result.AppendLine("您还可以发送【位置】【图片】【语音】【视频】等类型的信息(注意是这几种类型,不是这几个文字),查看不同格式的回复。\r\nSDK官方地址:http://weixin.senparc.com");

                responseMessage.Content = result.ToString();
            }
            return(responseMessage);
        }
예제 #23
0
        private void EfwSimpleButton7_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(this.txtGR_U_ID.Text))
            {
                MessageAgent.MessageShow(MessageType.Warning, " 그룹MD를 선택하세요!");
                return;
            }

            if (string.IsNullOrEmpty(this.txtU_NAME1.Text))
            {
                MessageAgent.MessageShow(MessageType.Warning, " 회원을 선택하세요!");
                return;
            }

            if (MessageAgent.MessageShow(MessageType.Confirm, "MD 정보를 삭제 하시겠습니까?") == DialogResult.OK)
            {
                try
                {
                    using (MySqlConnection con = new MySqlConnection(ConstantLib.BasicConn_Real))
                    {
                        using (MySqlCommand cmd = new MySqlCommand("domabiz.USP_GSHOP_GSHOP06_DELETE_01", con))
                        {
                            con.Open();
                            cmd.CommandType = CommandType.StoredProcedure;

                            cmd.Parameters.Add(new MySqlParameter("i_idx", MySqlDbType.VarChar));
                            cmd.Parameters["i_idx"].Value     = txtIDX1.EditValue;
                            cmd.Parameters["i_idx"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_gr_u_id", MySqlDbType.VarChar));
                            cmd.Parameters["i_gr_u_id"].Value     = txtGR_U_ID.EditValue;
                            cmd.Parameters["i_gr_u_id"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_md_u_id", MySqlDbType.VarChar));
                            cmd.Parameters["i_md_u_id"].Value     = txtMD_U_ID.EditValue;
                            cmd.Parameters["i_md_u_id"].Direction = ParameterDirection.Input;

                            cmd.ExecuteNonQuery();
                        }
                    }
                }

                catch (Exception ex)
                {
                    MessageAgent.MessageShow(MessageType.Error, ex.ToString());
                }
                finally
                {
                    EfwSimpleButton1_Click(null, null);
                }
                MessageAgent.MessageShow(MessageType.Informational, "저장 되었습니다.");

                txtU_NAME1.EditValue        = null;
                txtU_NICKNAME1.EditValue    = null;
                txtUSER_ID1.EditValue       = null;
                txtBIRTH1.EditValue         = null;
                txtU_GENDER1.EditValue      = null;
                txtU_CELL_NUM1.EditValue    = null;
                txtU_EMAIL1.EditValue       = null;
                txtLOGIN_DATE1.EditValue    = null;
                txtREG_DATE1.EditValue      = null;
                txtU_ZIP1.EditValue         = null;
                txtU_ADDR1.EditValue        = null;
                txtU_ADDR_DETAIL1.EditValue = null;
                cbDORAMD_TYPE.EditValue     = null;
                txtIDX1.EditValue           = null;
                txtREMARK.EditValue         = null;
                Eraser.Clear(this, "CLR2");
                Open2();
            }
        }
        public override IResponseMessageBase OnEvent_ClickRequest(RequestMessageEvent_Click requestMessage)
        {
            IResponseMessageBase reponseMessage = null;

            //菜单点击,需要跟创建菜单时的Key匹配
            switch (requestMessage.EventKey)
            {
            case "OneClick":
            {
                //这个过程实际已经在OnTextOrEventRequest中完成,这里不会执行到。
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Content = "您点击了底部按钮。\r\n为了测试微信软件换行bug的应对措施,这里做了一个——\r\n换行";
            }
            break;

            case "SubClickRoot_Text":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Content = "您点击了子菜单按钮。";
            }
            break;

            case "SubClickRoot_News":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageNews>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Articles.Add(new Article()
                    {
                        Title       = "您点击了子菜单图文按钮",
                        Description = "您点击了子菜单图文按钮,这是一条图文信息。",
                        PicUrl      = "http://sdk.weixin.senparc.com/Images/qrcode.jpg",
                        Url         = "http://sdk.weixin.senparc.com"
                    });
            }
            break;

            case "SubClickRoot_Music":
            {
                //上传缩略图
                var accessToken  = Containers.AccessTokenContainer.TryGetAccessToken(appId, appSecret);
                var uploadResult = AdvancedAPIs.MediaApi.UploadTemporaryMedia(accessToken, UploadMediaFileType.thumb,
                                                                              Server.GetMapPath("~/Images/Logo.jpg"));
                //设置音乐信息
                var strongResponseMessage = CreateResponseMessage <ResponseMessageMusic>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Music.Title        = "天籁之音";
                strongResponseMessage.Music.Description  = "真的是天籁之音";
                strongResponseMessage.Music.MusicUrl     = "http://sdk.weixin.senparc.com/Content/music1.mp3";
                strongResponseMessage.Music.HQMusicUrl   = "http://sdk.weixin.senparc.com/Content/music1.mp3";
                strongResponseMessage.Music.ThumbMediaId = uploadResult.thumb_media_id;
            }
            break;

            case "SubClickRoot_Image":
            {
                //上传图片
                var accessToken  = Containers.AccessTokenContainer.TryGetAccessToken(appId, appSecret);
                var uploadResult = AdvancedAPIs.MediaApi.UploadTemporaryMedia(accessToken, UploadMediaFileType.image,
                                                                              Server.GetMapPath("~/Images/Logo.jpg"));
                //设置图片信息
                var strongResponseMessage = CreateResponseMessage <ResponseMessageImage>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Image.MediaId = uploadResult.media_id;
            }
            break;

            case "SubClickRoot_Agent":    //代理消息
            {
                //获取返回的XML
                DateTime dt1 = DateTime.Now;
                reponseMessage = MessageAgent.RequestResponseMessage(this, agentUrl, agentToken, RequestDocument.ToString());
                //上面的方法也可以使用扩展方法:this.RequestResponseMessage(this,agentUrl, agentToken, RequestDocument.ToString());

                DateTime dt2 = DateTime.Now;

                if (reponseMessage is ResponseMessageNews)
                {
                    (reponseMessage as ResponseMessageNews)
                    .Articles[0]
                    .Description += string.Format("\r\n\r\n代理过程总耗时:{0}毫秒", (dt2 - dt1).Milliseconds);
                }
            }
            break;

            case "Member":    //托管代理会员信息
            {
                //原始方法为:MessageAgent.RequestXml(this,agentUrl, agentToken, RequestDocument.ToString());//获取返回的XML
                reponseMessage = this.RequestResponseMessage(agentUrl, agentToken, RequestDocument.ToString());
            }
            break;

            case "OAuth":    //OAuth授权测试
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageNews>();
                strongResponseMessage.Articles.Add(new Article()
                    {
                        Title       = "OAuth2.0测试",
                        Description = "点击【查看全文】进入授权页面。\r\n注意:此页面仅供测试(是专门的一个临时测试账号的授权,并非Senparc.Weixin.MP SDK官方账号,所以如果授权后出现错误页面数正常情况),测试号随时可能过期。请将此DEMO部署到您自己的服务器上,并使用自己的appid和secret。",
                        Url         = "http://sdk.weixin.senparc.com/oauth2",
                        PicUrl      = "http://sdk.weixin.senparc.com/Images/qrcode.jpg"
                    });
                reponseMessage = strongResponseMessage;
            }
            break;

            case "Description":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                strongResponseMessage.Content = GetWelcomeInfo();
                reponseMessage = strongResponseMessage;
            }
            break;

            case "SubClickRoot_PicPhotoOrAlbum":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Content = "您点击了【微信拍照】按钮。系统将会弹出拍照或者相册发图。";
            }
            break;

            case "SubClickRoot_ScancodePush":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Content = "您点击了【微信扫码】按钮。";
            }
            break;

            case "ConditionalMenu_Male":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Content = "您点击了个性化菜单按钮,您的微信性别设置为:男。";
            }
            break;

            case "ConditionalMenu_Femle":
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                reponseMessage = strongResponseMessage;
                strongResponseMessage.Content = "您点击了个性化菜单按钮,您的微信性别设置为:女。";
            }
            break;

            default:
            {
                var strongResponseMessage = CreateResponseMessage <ResponseMessageText>();
                strongResponseMessage.Content = "您点击了按钮,EventKey:" + requestMessage.EventKey;
                reponseMessage = strongResponseMessage;
            }
            break;
            }

            return(reponseMessage);
        }
예제 #25
0
        /// <summary>
        /// 处理文字请求
        /// </summary>
        /// <param name="requestMessage">请求消息</param>
        /// <returns></returns>
        public override IResponseMessageBase OnTextRequest(RequestMessageText requestMessage)
        {
            //说明:实际项目中这里的逻辑可以交给Service处理具体信息,参考OnLocationRequest方法或/Service/LocationSercice.cs

            #region 书中例子
            //if (requestMessage.Content == "你好")
            //{
            //    var responseMessage = base.CreateResponseMessage<ResponseMessageNews>();
            //    var title = "Title";
            //    var description = "Description";
            //    var picUrl = "PicUrl";
            //    var url = "Url";
            //    responseMessage.Articles.Add(new Article()
            //    {
            //        Title = title,
            //        Description = description,
            //        PicUrl = picUrl,
            //        Url = url
            //    });
            //    return responseMessage;
            //}
            //else if (requestMessage.Content == "Senparc")
            //{
            //    //相似处理逻辑
            //}
            //else
            //{
            //    //...
            //}

            #endregion

            #region 历史方法

            //方法一(v0.1),此方法调用太过繁琐,已过时(但仍是所有方法的核心基础),建议使用方法二到四
            //var responseMessage =
            //    ResponseMessageBase.CreateFromRequestMessage(RequestMessage, ResponseMsgType.Text) as
            //    ResponseMessageText;

            //方法二(v0.4)
            //var responseMessage = ResponseMessageBase.CreateFromRequestMessage<ResponseMessageText>(RequestMessage);

            //方法三(v0.4),扩展方法,需要using Senparc.Weixin.MP.Helpers;
            //var responseMessage = RequestMessage.CreateResponseMessage<ResponseMessageText>();

            //方法四(v0.6+),仅适合在HandlerMessage内部使用,本质上是对方法三的封装
            //注意:下面泛型ResponseMessageText即返回给客户端的类型,可以根据自己的需要填写ResponseMessageNews等不同类型。

            #endregion

            var defaultResponseMessage = base.CreateResponseMessage <ResponseMessageText>();

            var requestHandler =
                requestMessage.StartHandler()
                //关键字不区分大小写,按照顺序匹配成功后将不再运行下面的逻辑
                .Keyword("约束", () =>
            {
                defaultResponseMessage.Content =
                    @"您正在进行微信内置浏览器约束判断测试。您可以:
<a href=""https://sdk.weixin.senparc.com/FilterTest/"">点击这里</a>进行客户端约束测试(地址:https://sdk.weixin.senparc.com/FilterTest/),如果在微信外打开将直接返回文字。
或:
<a href=""https://sdk.weixin.senparc.com/FilterTest/Redirect"">点击这里</a>进行客户端约束测试(地址:https://sdk.weixin.senparc.com/FilterTest/Redirect),如果在微信外打开将重定向一次URL。";
                return(defaultResponseMessage);
            }).
                //匹配任一关键字
                Keywords(new[] { "托管", "代理" }, () =>
            {
                //开始用代理托管,把请求转到其他服务器上去,然后拿回结果
                //甚至也可以将所有请求在DefaultResponseMessage()中托管到外部。

                var dt1 = SystemTime.Now;     //计时开始

                var agentXml = RequestDocument.ToString();

                #region 暂时转发到SDK线上Demo

                agentUrl = "https://sdk.weixin.senparc.com/weixin";
                //agentToken = WebConfigurationManager.AppSettings["WeixinToken"];//Token

                //修改内容,防止死循环
                var agentDoc = XDocument.Parse(agentXml);
                agentDoc.Root.Element("Content").SetValue("代理转发文字:" + requestMessage.Content);
                agentDoc.Root.Element("CreateTime").SetValue(DateTimeHelper.GetUnixDateTime(SystemTime.Now)); //修改时间,防止去重
                agentDoc.Root.Element("MsgId").SetValue("123");                                               //防止去重
                agentXml = agentDoc.ToString();

                #endregion

                var responseXml = MessageAgent.RequestXml(this, agentUrl, agentToken, agentXml);
                //获取返回的XML
                //上面的方法也可以使用扩展方法:this.RequestResponseMessage(this,agentUrl, agentToken, RequestDocument.ToString());

                /* 如果有WeiweihiKey,可以直接使用下面的这个MessageAgent.RequestWeiweihiXml()方法。
                 * WeiweihiKey专门用于对接www.weiweihi.com平台,获取方式见:https://www.weiweihi.com/ApiDocuments/Item/25#51
                 */
                //var responseXml = MessageAgent.RequestWeiweihiXml(weiweihiKey, RequestDocument.ToString());//获取Weiweihi返回的XML

                var dt2 = SystemTime.Now;     //计时结束

                //转成实体。

                /* 如果要写成一行,可以直接用:
                 * responseMessage = MessageAgent.RequestResponseMessage(agentUrl, agentToken, RequestDocument.ToString());
                 * 或
                 *
                 */
                var msg = string.Format("\r\n\r\n代理过程总耗时:{0}毫秒", (dt2 - dt1).Milliseconds);
                var agentResponseMessage = responseXml.CreateResponseMessage(this.MessageEntityEnlightener);
                if (agentResponseMessage is ResponseMessageText)
                {
                    (agentResponseMessage as ResponseMessageText).Content += msg;
                }
                else if (agentResponseMessage is ResponseMessageNews)
                {
                    (agentResponseMessage as ResponseMessageNews).Articles[0].Description += msg;
                }
                return(agentResponseMessage);   //可能出现多种类型,直接在这里返回
            })
                .Keywords(new[] { "测试", "退出" }, () =>
            {
                /*
                 * 这是一个特殊的过程,此请求通常来自于微微嗨(http://www.weiweihi.com)的“盛派网络小助手”应用请求(https://www.weiweihi.com/User/App/Detail/1),
                 * 用于演示微微嗨应用商店的处理过程,由于微微嗨的应用内部可以单独设置对话过期时间,所以这里通常不需要考虑对话状态,只要做最简单的响应。
                 */
                if (defaultResponseMessage.Content == "测试")
                {
                    //进入APP测试
                    defaultResponseMessage.Content = "您已经进入【盛派网络小助手】的测试程序,请发送任意信息进行测试。发送文字【退出】退出测试对话。10分钟内无任何交互将自动退出应用对话状态。";
                }
                else
                {
                    //退出APP测试
                    defaultResponseMessage.Content = "您已经退出【盛派网络小助手】的测试程序。";
                }
                return(defaultResponseMessage);
            })
                .Keyword("AsyncTest", () =>
            {
                //异步并发测试(提供给单元测试使用)
#if NET45
                var begin = SystemTime.Now;
                int t1, t2, t3;
                System.Threading.ThreadPool.GetAvailableThreads(out t1, out t3);
                System.Threading.ThreadPool.GetMaxThreads(out t2, out t3);
                System.Threading.Thread.Sleep(TimeSpan.FromSeconds(4));
                var end    = SystemTime.Now;
                var thread = System.Threading.Thread.CurrentThread;
                defaultResponseMessage.Content = string.Format("TId:{0}\tApp:{1}\tBegin:{2:mm:ss,ffff}\tEnd:{3:mm:ss,ffff}\tTPool:{4}",
                                                               thread.ManagedThreadId,
                                                               HttpContext.Current != null ? HttpContext.Current.ApplicationInstance.GetHashCode() : -1,
                                                               begin,
                                                               end,
                                                               t2 - t1
                                                               );
#endif

                return(defaultResponseMessage);
            })
                .Keyword("OPEN", () =>
            {
                var openResponseMessage = requestMessage.CreateResponseMessage <ResponseMessageNews>();
                openResponseMessage.Articles.Add(new Article()
                {
                    Title       = "开放平台微信授权测试!",
                    Description = @"点击进入Open授权页面。

授权之后,您的微信所收到的消息将转发到第三方(盛派网络小助手)的服务器上,并获得对应的回复。

测试完成后,您可以登陆公众号后台取消授权。",
                    Url         = "https://sdk.weixin.senparc.com/OpenOAuth/JumpToMpOAuth"
                });
                return(openResponseMessage);
            })
                .Keyword("错误", () =>
            {
                var errorResponseMessage = requestMessage.CreateResponseMessage <ResponseMessageText>();
                //因为没有设置errorResponseMessage.Content,所以这小消息将无法正确返回。
                return(errorResponseMessage);
            })
                .Keyword("容错", () =>
            {
                Thread.Sleep(4900);    //故意延时1.5秒,让微信多次发送消息过来,观察返回结果
                var faultTolerantResponseMessage     = requestMessage.CreateResponseMessage <ResponseMessageText>();
                faultTolerantResponseMessage.Content = string.Format("测试容错,MsgId:{0},Ticks:{1}", requestMessage.MsgId,
                                                                     SystemTime.Now.Ticks);
                return(faultTolerantResponseMessage);
            })
                .Keyword("TM", () =>
            {
                var openId    = requestMessage.FromUserName;
                var checkCode = Guid.NewGuid().ToString("n").Substring(0, 3);    //为了防止openId泄露造成骚扰,这里启用验证码
                TemplateMessageCollection[checkCode] = openId;
                defaultResponseMessage.Content       = string.Format(@"新的验证码为:{0},请在网页上输入。网址:https://sdk.weixin.senparc.com/AsyncMethods", checkCode);
                return(defaultResponseMessage);
            })
                .Keyword("OPENID", () =>
            {
                var openId   = requestMessage.FromUserName;  //获取OpenId
                var userInfo = UserApi.Info(appId, openId, Language.zh_CN);

                defaultResponseMessage.Content = string.Format(
                    "您的OpenID为:{0}\r\n昵称:{1}\r\n性别:{2}\r\n地区(国家/省/市):{3}/{4}/{5}\r\n关注时间:{6}\r\n关注状态:{7}",
                    requestMessage.FromUserName, userInfo.nickname, (WeixinSex)userInfo.sex, userInfo.country, userInfo.province, userInfo.city, DateTimeHelper.GetDateTimeFromXml(userInfo.subscribe_time), userInfo.subscribe);
                return(defaultResponseMessage);
            })
                .Keyword("EX", () =>
            {
                var ex = new WeixinException("openid:" + requestMessage.FromUserName + ":这是一条测试异常信息");    //回调过程在global的ConfigWeixinTraceLog()方法中
                defaultResponseMessage.Content = "请等待异步模板消息发送到此界面上(自动延时数秒)。\r\n当前时间:" + SystemTime.Now.ToString();
                return(defaultResponseMessage);
            })
                .Keyword("MUTE", () => //不回复任何消息
            {
                //方案一:
                return(new SuccessResponseMessage());

                //方案二:
                var muteResponseMessage = base.CreateResponseMessage <ResponseMessageNoResponse>();
                return(muteResponseMessage);

                //方案三:
                base.TextResponseMessage = "success";
                return(null);

                //方案四:
                return(null);   //在 Action 中结合使用 return new FixWeixinBugWeixinResult(messageHandler);
            })
                .Keyword("JSSDK", () =>
            {
                defaultResponseMessage.Content = "点击打开:https://sdk.weixin.senparc.com/WeixinJsSdk";
                return(defaultResponseMessage);
            })


                //选择菜单,关键字:101(微信服务器端最终格式:id="s:101",content="满意")
                .SelectMenuKeyword("101", () =>
            {
                defaultResponseMessage.Content = $"感谢您的评价({requestMessage.Content})!我们会一如既往为提高企业和开发者生产力而努力!";
                return(defaultResponseMessage);
            })
                //选择菜单,关键字:102(微信服务器端最终格式:id="s:102",content="一般")
                .SelectMenuKeyword("102", () =>
            {
                defaultResponseMessage.Content = $"感谢您的评价({requestMessage.Content})!希望我们的服务能让您越来越满意!";
                return(defaultResponseMessage);
            })
                //选择菜单,关键字:103(微信服务器端最终格式:id="s:103",content="不满意")
                .SelectMenuKeyword("103", () =>
            {
                defaultResponseMessage.Content = $"感谢您的评价({requestMessage.Content})!我们需要您的意见或建议,欢迎向我们反馈! <a href=\"https://github.com/JeffreySu/WeiXinMPSDK/issues/new\">点击这里</a>";
                return(defaultResponseMessage);
            })
                .SelectMenuKeywords(new[] { "110", "111" }, () =>
            {
                defaultResponseMessage.Content = $"这里只是演示,可以同时支持多个选择菜单";
                return(defaultResponseMessage);
            })

                //Default不一定要在最后一个
                .Default(() =>
            {
                var result = new StringBuilder();
                result.AppendFormat("您刚才发送了文字信息:{0}\r\n\r\n", requestMessage.Content);

                if (CurrentMessageContext.RequestMessages.Count > 1)
                {
                    result.AppendFormat("您刚才还发送了如下消息({0}/{1}):\r\n", CurrentMessageContext.RequestMessages.Count,
                                        CurrentMessageContext.StorageData);
                    for (int i = CurrentMessageContext.RequestMessages.Count - 2; i >= 0; i--)
                    {
                        var historyMessage = CurrentMessageContext.RequestMessages[i];
                        result.AppendFormat("{0} 【{1}】{2}\r\n",
                                            historyMessage.CreateTime.ToString("HH:mm:ss"),
                                            historyMessage.MsgType.ToString(),
                                            (historyMessage is RequestMessageText)
                                    ? (historyMessage as RequestMessageText).Content
                                    : "[非文字类型]"
                                            );
                    }
                    result.AppendLine("\r\n");
                }

                result.AppendFormat("如果您在{0}分钟内连续发送消息,记录将被自动保留(当前设置:最多记录{1}条)。过期后记录将会自动清除。\r\n",
                                    GlobalMessageContext.ExpireMinutes, GlobalMessageContext.MaxRecordCount);
                result.AppendLine("\r\n");
                result.AppendLine(
                    "您还可以发送【位置】【图片】【语音】【视频】等类型的信息(注意是这几种类型,不是这几个文字),查看不同格式的回复。\r\nSDK官方地址:https://sdk.weixin.senparc.com");

                defaultResponseMessage.Content = result.ToString();

                return(defaultResponseMessage);
            })
                //“一次订阅消息”接口测试
                .Keyword("订阅", () =>
            {
                defaultResponseMessage.Content = "点击打开:https://sdk.weixin.senparc.com/SubscribeMsg";
                return(defaultResponseMessage);
            })
                //正则表达式
                .Regex(@"^\d+#\d+$", () =>
            {
                defaultResponseMessage.Content = string.Format("您输入了:{0},符合正则表达式:^\\d+#\\d+$", requestMessage.Content);
                return(defaultResponseMessage);
            });

            return(requestHandler.GetResponseMessage() as IResponseMessageBase);
        }
예제 #26
0
        private void efwSimpleButton5_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(this.txtgshop_id.Text))
            {
                MessageAgent.MessageShow(MessageType.Warning, "G 멀티샵을 선택하세요");
                return;
            }

            if (MessageAgent.MessageShow(MessageType.Confirm, "저장 하시겠습니까?") == DialogResult.OK)
            {
                try
                {
                    using (MySqlConnection con = new MySqlConnection(ConstantLib.BasicConn_Real))
                    {
                        using (MySqlCommand cmd = new MySqlCommand("domabiz.USP_RM_RM04_SAVE_01", con))
                        {
                            con.Open();
                            cmd.CommandType = CommandType.StoredProcedure;
                            //
                            cmd.Parameters.Add(new MySqlParameter("i_idx", MySqlDbType.Int32));
                            cmd.Parameters["i_idx"].Value     = Convert.ToInt32(txtidx.EditValue);
                            cmd.Parameters["i_idx"].Direction = ParameterDirection.Input;
                            //
                            cmd.Parameters.Add(new MySqlParameter("i_gshop_id", MySqlDbType.Int32));
                            cmd.Parameters["i_gshop_id"].Value     = Convert.ToInt32(txtgshop_id.EditValue);
                            cmd.Parameters["i_gshop_id"].Direction = ParameterDirection.Input;
                            //
                            cmd.Parameters.Add(new MySqlParameter("i_img_url", MySqlDbType.VarChar));
                            cmd.Parameters["i_img_url"].Value     = txtimg_url.EditValue;
                            cmd.Parameters["i_img_url"].Direction = ParameterDirection.Input;
                            //
                            cmd.Parameters.Add(new MySqlParameter("i_input_cause", MySqlDbType.VarChar));
                            cmd.Parameters["i_input_cause"].Value     = txtinput_cause.EditValue;
                            cmd.Parameters["i_input_cause"].Direction = ParameterDirection.Input;
                            //
                            cmd.Parameters.Add(new MySqlParameter("i_customer_reaction", MySqlDbType.VarChar));
                            cmd.Parameters["i_customer_reaction"].Value     = txtcustomer_reaction.EditValue;
                            cmd.Parameters["i_customer_reaction"].Direction = ParameterDirection.Input;
                            //
                            cmd.Parameters.Add(new MySqlParameter("i_good_writing", MySqlDbType.VarChar));
                            cmd.Parameters["i_good_writing"].Value     = txtgood_writing.EditValue;
                            cmd.Parameters["i_good_writing"].Direction = ParameterDirection.Input;
                            //
                            cmd.Parameters.Add(new MySqlParameter("i_show_type", MySqlDbType.VarChar));
                            cmd.Parameters["i_show_type"].Value     = rbshow_type.EditValue;
                            cmd.Parameters["i_show_type"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("o_idx", MySqlDbType.Int32));
                            cmd.Parameters["o_idx"].Direction = ParameterDirection.Output;

                            cmd.Parameters.Add(new MySqlParameter("o_Return", MySqlDbType.VarChar));
                            cmd.Parameters["o_Return"].Direction = ParameterDirection.Output;


                            cmd.ExecuteNonQuery();
                            txtidx.EditValue = cmd.Parameters["o_idx"].Value.ToString();
                            MessageBox.Show(cmd.Parameters["o_Return"].Value.ToString());
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageAgent.MessageShow(MessageType.Error, ex.ToString());
                }
                Search();
            }
        }
예제 #27
0
        private void Open1()
        {
            try
            {
                using (MySqlConnection con = new MySqlConnection(ConstantLib.BasicConn_Real))
                {
                    using (MySqlCommand cmd = new MySqlCommand("domabiz.USP_DN_DN01_SELECT_02", con))
                    {
                        con.Open();
                        cmd.CommandType = CommandType.StoredProcedure;

                        cmd.Parameters.Add(new MySqlParameter("i_id", MySqlDbType.Int32));
                        cmd.Parameters["i_id"].Value     = Convert.ToInt32(txtID.EditValue);
                        cmd.Parameters["i_id"].Direction = ParameterDirection.Input;

                        cmd.Parameters.Add(new MySqlParameter("o_o_type", MySqlDbType.VarChar));
                        cmd.Parameters["o_o_type"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_code", MySqlDbType.VarChar));
                        cmd.Parameters["o_o_code"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_u_name", MySqlDbType.VarChar));
                        cmd.Parameters["o_u_name"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_date", MySqlDbType.DateTime));
                        cmd.Parameters["o_o_date"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_receive_zipcode", MySqlDbType.VarChar));
                        cmd.Parameters["o_o_receive_zipcode"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_receive_address", MySqlDbType.VarChar));
                        cmd.Parameters["o_o_receive_address"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_receive_name", MySqlDbType.VarChar));
                        cmd.Parameters["o_o_receive_name"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_receive_contact", MySqlDbType.VarChar));
                        cmd.Parameters["o_o_receive_contact"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_receive_message", MySqlDbType.VarChar));
                        cmd.Parameters["o_o_receive_message"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_receive_zipcode1", MySqlDbType.VarChar));
                        cmd.Parameters["o_o_receive_zipcode1"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_receive_address1", MySqlDbType.VarChar));
                        cmd.Parameters["o_o_receive_address1"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_receive_name1", MySqlDbType.VarChar));
                        cmd.Parameters["o_o_receive_name1"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_receive_contact1", MySqlDbType.VarChar));
                        cmd.Parameters["o_o_receive_contact1"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_receive_message1", MySqlDbType.VarChar));
                        cmd.Parameters["o_o_receive_message1"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_total_cost", MySqlDbType.Int32));
                        cmd.Parameters["o_o_total_cost"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_delivery_cost", MySqlDbType.Int32));
                        cmd.Parameters["o_o_delivery_cost"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_donut_d_cost", MySqlDbType.Int32));
                        cmd.Parameters["o_o_donut_d_cost"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_donut_s_cost", MySqlDbType.Int32));
                        cmd.Parameters["o_o_donut_s_cost"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_donut_g_cost", MySqlDbType.Int32));
                        cmd.Parameters["o_o_donut_g_cost"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_donut_c_cost", MySqlDbType.Int32));
                        cmd.Parameters["o_o_donut_c_cost"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_purchase_cost", MySqlDbType.Int32));
                        cmd.Parameters["o_o_purchase_cost"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_deposit_confirm_date", MySqlDbType.DateTime));
                        cmd.Parameters["o_o_deposit_confirm_date"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_cancel_date", MySqlDbType.DateTime));
                        cmd.Parameters["o_o_cancel_date"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_complete_date", MySqlDbType.DateTime));
                        cmd.Parameters["o_o_complete_date"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_return_success_date", MySqlDbType.DateTime));
                        cmd.Parameters["o_o_return_success_date"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_remark", MySqlDbType.VarChar));
                        cmd.Parameters["o_remark"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_return_reason_detail", MySqlDbType.VarChar));
                        cmd.Parameters["o_o_return_reason_detail"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_p_code", MySqlDbType.VarChar));
                        cmd.Parameters["o_p_code"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_p_name", MySqlDbType.VarChar));
                        cmd.Parameters["o_p_name"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_p_p_id", MySqlDbType.Int32));
                        cmd.Parameters["o_p_p_id"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_pp_title", MySqlDbType.VarChar));
                        cmd.Parameters["o_pp_title"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_p_num", MySqlDbType.Int32));
                        cmd.Parameters["o_p_num"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_p_price", MySqlDbType.Int32));
                        cmd.Parameters["o_p_price"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_lgd_response_code", MySqlDbType.VarChar));
                        cmd.Parameters["o_lgd_response_code"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_lgd_response_msg", MySqlDbType.VarChar));
                        cmd.Parameters["o_lgd_response_msg"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_lgd_amount", MySqlDbType.VarChar));
                        cmd.Parameters["o_lgd_amount"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_lgd_tid", MySqlDbType.VarChar));
                        cmd.Parameters["o_lgd_tid"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_lgd_paytype", MySqlDbType.VarChar));
                        cmd.Parameters["o_lgd_paytype"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_lgd_paydate", MySqlDbType.VarChar));
                        cmd.Parameters["o_lgd_paydate"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_lgd_financecode", MySqlDbType.VarChar));
                        cmd.Parameters["o_lgd_financecode"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_lgd_financename", MySqlDbType.VarChar));
                        cmd.Parameters["o_lgd_financename"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_lgd_accountnum", MySqlDbType.VarChar));
                        cmd.Parameters["o_lgd_accountnum"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_lgd_accountowner", MySqlDbType.VarChar));
                        cmd.Parameters["o_lgd_accountowner"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_lgd_payer", MySqlDbType.VarChar));
                        cmd.Parameters["o_lgd_payer"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_lgd_castamount", MySqlDbType.VarChar));
                        cmd.Parameters["o_lgd_castamount"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_lgd_cascamount", MySqlDbType.VarChar));
                        cmd.Parameters["o_lgd_cascamount"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_lgd_casflag", MySqlDbType.VarChar));
                        cmd.Parameters["o_lgd_casflag"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_lgd_casseqno", MySqlDbType.VarChar));
                        cmd.Parameters["o_lgd_casseqno"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_lgd_saowner", MySqlDbType.VarChar));
                        cmd.Parameters["o_lgd_saowner"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_delivery_num", MySqlDbType.VarChar));
                        cmd.Parameters["o_o_delivery_num"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_delivery_comp_name", MySqlDbType.VarChar));
                        cmd.Parameters["o_o_delivery_comp_name"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_delivery_start_date", MySqlDbType.DateTime));
                        cmd.Parameters["o_o_delivery_start_date"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_delivery_end_date", MySqlDbType.DateTime));
                        cmd.Parameters["o_o_delivery_end_date"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_p_id", MySqlDbType.VarChar));
                        cmd.Parameters["o_p_id"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_chk_type", MySqlDbType.VarChar));
                        cmd.Parameters["o_chk_type"].Direction = ParameterDirection.Output;

                        cmd.Parameters.Add(new MySqlParameter("o_o_mcode", MySqlDbType.VarChar));
                        cmd.Parameters["o_o_mcode"].Direction = ParameterDirection.Output;

                        cmd.ExecuteNonQuery();

                        txtO_Type.EditValue                 = cmd.Parameters["o_o_type"].Value.ToString();
                        txtO_Code.EditValue                 = cmd.Parameters["o_o_code"].Value.ToString();
                        txtU_Name.EditValue                 = cmd.Parameters["o_u_name"].Value.ToString();
                        dtO_Date.EditValue                  = cmd.Parameters["o_o_date"].Value.ToString();
                        txtO_Receive_ZipCode.EditValue      = cmd.Parameters["o_o_receive_zipcode"].Value.ToString();
                        txtO_Receive_Address.EditValue      = cmd.Parameters["o_o_receive_address"].Value.ToString();
                        txtO_Receive_Name.EditValue         = cmd.Parameters["o_o_receive_name"].Value.ToString();
                        txtO_Receive_Contact.EditValue      = cmd.Parameters["o_o_receive_contact"].Value.ToString();
                        txtO_Receive_Message.EditValue      = cmd.Parameters["o_o_receive_message"].Value.ToString();
                        txtO_Receive_ZipCode1.EditValue     = cmd.Parameters["o_o_receive_zipcode1"].Value.ToString();
                        txtO_Receive_Address1.EditValue     = cmd.Parameters["o_o_receive_address1"].Value.ToString();
                        txtO_Receive_Name1.EditValue        = cmd.Parameters["o_o_receive_name1"].Value.ToString();
                        txtO_Receive_Contact1.EditValue     = cmd.Parameters["o_o_receive_contact1"].Value.ToString();
                        txtO_Receive_Message1.EditValue     = cmd.Parameters["o_o_receive_message1"].Value.ToString();
                        txtO_Total_Cost.EditValue           = cmd.Parameters["o_o_total_cost"].Value.ToString();
                        txtO_Delivery_Cost.EditValue        = cmd.Parameters["o_o_delivery_cost"].Value.ToString();
                        txtO_Donut_D_Cost.EditValue         = cmd.Parameters["o_o_donut_d_cost"].Value.ToString();
                        txtO_Donut_S_Cost.EditValue         = cmd.Parameters["o_o_donut_s_cost"].Value.ToString();
                        txtO_Donut_G_Cost.EditValue         = cmd.Parameters["o_o_donut_g_cost"].Value.ToString();
                        txtO_Donut_C_Cost.EditValue         = cmd.Parameters["o_o_donut_c_cost"].Value.ToString();
                        txtO_Purchase_Cost.EditValue        = cmd.Parameters["o_o_purchase_cost"].Value.ToString();
                        txtO_Deposit_Confirm_Date.EditValue = cmd.Parameters["o_o_deposit_confirm_date"].Value.ToString();
                        txtO_Cancel_Date.EditValue          = cmd.Parameters["o_o_cancel_date"].Value.ToString();
                        txtO_Complete_Date.EditValue        = cmd.Parameters["o_o_complete_date"].Value.ToString();
                        txtO_Return_Success_Date.EditValue  = cmd.Parameters["o_o_return_success_date"].Value.ToString();
                        txtRemark.EditValue                 = cmd.Parameters["o_remark"].Value.ToString();
                        txtO_Return_Reason_Detail.EditValue = cmd.Parameters["o_o_return_reason_detail"].Value.ToString();
                        txtP_Code.EditValue                 = cmd.Parameters["o_p_code"].Value.ToString();
                        txtP_Name.EditValue                 = cmd.Parameters["o_p_name"].Value.ToString();
                        txtP_P_Id.EditValue                 = cmd.Parameters["o_p_p_id"].Value.ToString();
                        txtPP_Title.EditValue               = cmd.Parameters["o_pp_title"].Value.ToString();
                        txtP_num.EditValue                  = cmd.Parameters["o_p_num"].Value.ToString();
                        txtP_Price.EditValue                = cmd.Parameters["o_p_price"].Value.ToString();
                        txtLGD_Response_Code.EditValue      = cmd.Parameters["o_lgd_response_code"].Value.ToString();
                        txtLGD_Response_Msg.EditValue       = cmd.Parameters["o_lgd_response_msg"].Value.ToString();
                        txtLGD_Amount.EditValue             = cmd.Parameters["o_lgd_amount"].Value.ToString();
                        txtLGD_Tid.EditValue                = cmd.Parameters["o_lgd_tid"].Value.ToString();
                        txtLGD_PayType.EditValue            = cmd.Parameters["o_lgd_paytype"].Value.ToString();
                        txtLGD_PayDate.EditValue            = cmd.Parameters["o_lgd_paydate"].Value.ToString();
                        txtLGD_FinanceCode.EditValue        = cmd.Parameters["o_lgd_financecode"].Value.ToString();
                        txtLGD_FinanceName.EditValue        = cmd.Parameters["o_lgd_financename"].Value.ToString();
                        txtLGD_AccountNum.EditValue         = cmd.Parameters["o_lgd_accountnum"].Value.ToString();
                        txtLGD_AccountOwner.EditValue       = cmd.Parameters["o_lgd_accountowner"].Value.ToString();
                        txtLGD_Payer.EditValue              = cmd.Parameters["o_lgd_payer"].Value.ToString();
                        txtLGD_CastAmount.EditValue         = cmd.Parameters["o_lgd_castamount"].Value.ToString();
                        txtLGD_CascAmount.EditValue         = cmd.Parameters["o_lgd_cascamount"].Value.ToString();
                        txtLGD_CasFlag.EditValue            = cmd.Parameters["o_lgd_casflag"].Value.ToString();
                        txtLGD_CasseqNo.EditValue           = cmd.Parameters["o_lgd_casseqno"].Value.ToString();
                        txtLGD_SaOwner.EditValue            = cmd.Parameters["o_lgd_saowner"].Value.ToString();
                        txtO_Delivery_Num.EditValue         = cmd.Parameters["o_o_delivery_num"].Value.ToString();
                        txtO_Delivery_Comp_Name.EditValue   = cmd.Parameters["o_o_delivery_comp_name"].Value.ToString();
                        txtO_Delivery_Start_Date.EditValue  = cmd.Parameters["o_o_delivery_start_date"].Value.ToString();
                        txtO_Delivery_End_Date.EditValue    = cmd.Parameters["o_o_delivery_end_date"].Value.ToString();
                        txtP_ID.EditValue     = cmd.Parameters["o_p_id"].Value.ToString();
                        txtchk_type.EditValue = cmd.Parameters["o_chk_type"].Value.ToString();
                        txto_mcode.EditValue  = cmd.Parameters["o_o_mcode"].Value.ToString();
                    }
                }
            }
            catch (Exception ex)
            {
                MessageAgent.MessageShow(MessageType.Error, ex.ToString());
            }
        }
예제 #28
0
        private void efwSimpleButton1_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(this.txtidx.Text))
            {
                MessageAgent.MessageShow(MessageType.Warning, "G 멀티샵을 선택 또는 기본 정보를 저장하세요 !");
                return;
            }
            if (string.IsNullOrEmpty(this.dtS_DATE.Text))
            {
                dtS_DATE.EditValue = DateTime.Now;
            }
            if (string.IsNullOrEmpty(this.dtE_DATE.Text))
            {
                dtE_DATE.EditValue = DateTime.Now;
            }


            if (MessageAgent.MessageShow(MessageType.Confirm, "저장 하시겠습니까?") == DialogResult.OK)
            {
                try
                {
                    using (MySqlConnection con = new MySqlConnection(ConstantLib.BasicConn_Real))
                    {
                        using (MySqlCommand cmd = new MySqlCommand("domabiz.USP_RM_RM04_SAVE_02", con))
                        {
                            con.Open();
                            cmd.CommandType = CommandType.StoredProcedure;
                            //
                            cmd.Parameters.Add(new MySqlParameter("i_idx", MySqlDbType.Int32));
                            cmd.Parameters["i_idx"].Value     = Convert.ToInt32(txtD_idx.EditValue);
                            cmd.Parameters["i_idx"].Direction = ParameterDirection.Input;
                            //
                            cmd.Parameters.Add(new MySqlParameter("i_master_idx", MySqlDbType.Int32));
                            cmd.Parameters["i_master_idx"].Value     = Convert.ToInt32(txtidx.EditValue);
                            cmd.Parameters["i_master_idx"].Direction = ParameterDirection.Input;
                            //
                            cmd.Parameters.Add(new MySqlParameter("i_bef_url", MySqlDbType.VarChar));
                            cmd.Parameters["i_bef_url"].Value     = txtbef_url.EditValue;
                            cmd.Parameters["i_bef_url"].Direction = ParameterDirection.Input;
                            //
                            cmd.Parameters.Add(new MySqlParameter("i_bef_date", MySqlDbType.Datetime));
                            cmd.Parameters["i_bef_date"].Value     = dtS_DATE.EditValue;
                            cmd.Parameters["i_bef_date"].Direction = ParameterDirection.Input;
                            //
                            cmd.Parameters.Add(new MySqlParameter("i_after_url", MySqlDbType.VarChar));
                            cmd.Parameters["i_after_url"].Value     = txtafter_url.EditValue;
                            cmd.Parameters["i_after_url"].Direction = ParameterDirection.Input;
                            //
                            cmd.Parameters.Add(new MySqlParameter("i_after_date", MySqlDbType.VarChar));
                            cmd.Parameters["i_after_date"].Value     = dtE_DATE.EditValue3;
                            cmd.Parameters["i_after_date"].Direction = ParameterDirection.Input;
                            //

                            cmd.Parameters.Add(new MySqlParameter("i_remark", MySqlDbType.VarChar));
                            cmd.Parameters["i_remark"].Value     = txtremark.EditValue;
                            cmd.Parameters["i_remark"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_Dshow_type", MySqlDbType.VarChar));
                            cmd.Parameters["i_Dshow_type"].Value     = rbDshow_type.EditValue;
                            cmd.Parameters["i_Dshow_type"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("o_idx", MySqlDbType.Int32));
                            cmd.Parameters["o_idx"].Direction = ParameterDirection.Output;

                            cmd.Parameters.Add(new MySqlParameter("o_Return", MySqlDbType.VarChar));
                            cmd.Parameters["o_Return"].Direction = ParameterDirection.Output;

                            cmd.ExecuteNonQuery();
                            txtD_idx.EditValue = cmd.Parameters["o_idx"].Value.ToString();
                            MessageBox.Show(cmd.Parameters["o_Return"].Value.ToString());
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageAgent.MessageShow(MessageType.Error, ex.ToString());
                }
                Open1();
            }
        }
예제 #29
0
        private void efwSimpleButton7_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(this.txt_work_man.Text))
            {
                MessageAgent.MessageShow(MessageType.Warning, " 처리할 권한이 없습니다!");
                return;
            }

            if (MessageAgent.MessageShow(MessageType.Confirm, "삭제 하시겠습니까?") == DialogResult.OK)
            {
                try
                {
                    using (MySqlConnection con = new MySqlConnection(ConstantLib.TelConn_Real))
                    {
                        using (MySqlCommand cmd = new MySqlCommand("erp.USP_TM_TM04_SAVE_01", con))
                        {
                            con.Open();
                            cmd.CommandType = CommandType.StoredProcedure;

                            cmd.Parameters.Add(new MySqlParameter("i_proc_type", MySqlDbType.VarChar));
                            cmd.Parameters["i_proc_type"].Value     = "D";
                            cmd.Parameters["i_proc_type"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_idx", MySqlDbType.Int32));
                            cmd.Parameters["i_idx"].Value     = Convert.ToInt32(txt_idx.EditValue);
                            cmd.Parameters["i_idx"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_visit_date", MySqlDbType.Datetime));
                            cmd.Parameters["i_visit_date"].Value     = dt_visit_date.EditValue;
                            cmd.Parameters["i_visit_date"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_work_man", MySqlDbType.VarChar));
                            cmd.Parameters["i_work_man"].Value     = txt_work_man.EditValue;
                            cmd.Parameters["i_work_man"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_agency_name", MySqlDbType.VarChar));
                            cmd.Parameters["i_agency_name"].Value     = txt_agency_name.EditValue;
                            cmd.Parameters["i_agency_name"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_person", MySqlDbType.VarChar));
                            cmd.Parameters["i_person"].Value     = txt_person.EditValue;
                            cmd.Parameters["i_person"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_advice_type", MySqlDbType.VarChar));
                            cmd.Parameters["i_advice_type"].Value     = cmb_advice_type.EditValue;
                            cmd.Parameters["i_advice_type"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_plan_date", MySqlDbType.Datetime));
                            cmd.Parameters["i_plan_date"].Value     = dt_plan_date.EditValue;
                            cmd.Parameters["i_plan_date"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_hp_no", MySqlDbType.VarChar));
                            cmd.Parameters["i_hp_no"].Value     = txt_hp_no.EditValue;
                            cmd.Parameters["i_hp_no"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_tel_no", MySqlDbType.VarChar));
                            cmd.Parameters["i_tel_no"].Value     = txt_tel_no.EditValue;
                            cmd.Parameters["i_tel_no"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_e_mail", MySqlDbType.VarChar));
                            cmd.Parameters["i_e_mail"].Value     = txt_e_mail.EditValue;
                            cmd.Parameters["i_e_mail"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_visit_area", MySqlDbType.VarChar));
                            cmd.Parameters["i_visit_area"].Value     = txt_visit_area.EditValue;
                            cmd.Parameters["i_visit_area"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_visit_distant", MySqlDbType.Int32));
                            cmd.Parameters["i_visit_distant"].Value     = Convert.ToInt32(txt_visit_distant.EditValue);
                            cmd.Parameters["i_visit_distant"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_content", MySqlDbType.VarChar));
                            cmd.Parameters["i_content"].Value     = txt_content.EditValue;
                            cmd.Parameters["i_content"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("i_remark", MySqlDbType.VarChar));
                            cmd.Parameters["i_remark"].Value     = txt_remark.EditValue;
                            cmd.Parameters["i_remark"].Direction = ParameterDirection.Input;

                            cmd.Parameters.Add(new MySqlParameter("o_Return", MySqlDbType.VarChar));
                            cmd.Parameters["o_Return"].Direction = ParameterDirection.Output;
                            cmd.ExecuteNonQuery();


                            MessageBox.Show(cmd.Parameters["o_Return"].Value.ToString());
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageAgent.MessageShow(MessageType.Error, ex.ToString());
                }
                Search();
            }
        }
 /// <summary>
 ///     Constructs a response queue using the specified message agent.
 /// </summary>
 /// <param name="agent">
 ///     The message agent to associate with this queue.
 /// </param>
 internal LdapResponseQueue(MessageAgent agent)
     : base("LdapResponseQueue", agent)
 {
 }