/// <summary>
 /// 新增或修改渠道
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void Page_Load(object sender, EventArgs e)
 {
     if (!Page.IsPostBack)
     {
         //获取渠道类型列表数据
         ViewState["ChannelTypeList"] = new ChannelTypeBll().GetEntities();
         //修改渠道,首先获取渠道数据
         int id;
         if (int.TryParse(Request.QueryString["id"], out id))
         {
             ViewState["Channel"] = new ChannelBll().GetEntityById(id);
         }
     }
     else
     {
         //将渠道新增或修改的数据保存到数据库
         var entity = new ChannelEntity()
         {
             ID = Request.Form["ID"] == null ? 0 : int.Parse(Request.Form["ID"]),
             Name = Request.Form["Name"],
             ChannelTypeId = int.Parse(Request.Form["ChannelTypeId"])
         };
         new ChannelBll().UpdateOrInsertEntity(entity);
         //回到渠道列表页面
         Response.Redirect("ChannelList.aspx");
         Response.End();
     }
 }
 /// <summary>
 /// 删除渠道
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void Page_Load(object sender, EventArgs e)
 {
     //获取渠道ID
     int id;
     if (int.TryParse(Request.QueryString["id"], out id))
     {
         //删除渠道并返回删除结果
         bool result = new ChannelBll().DeleteEntityById(id);
         Response.Write(result.ToString());
         Response.End();
     }
 }
Example #3
0
 /// <summary>
 /// 下载渠道二维码
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void Page_Load(object sender, EventArgs e)
 {
     //获取渠道ID
     int id;
     if (int.TryParse(Request.QueryString["id"], out id))
     {
         var entity = new ChannelBll().GetEntityById(id);
         //将数据库中Base64String格式图片转换为Image格式,返回给浏览器
         string base64Image = File.ReadAllText(System.Web.HttpContext.Current.Server.MapPath("~/App_Data/") + entity.Qrcode);
         byte[] arr = Convert.FromBase64String(base64Image);
         MemoryStream ms = new MemoryStream(arr);
         Response.ContentType = "image/jpeg";
         ms.WriteTo(Response.OutputStream);
         Response.End();
     }
 }
Example #4
0
 /// <summary>
 /// 保存扫描记录
 /// </summary>
 /// <param name="openId">微信用户OpenId</param>
 /// <param name="sceneId">扫描的二维码的参数</param>
 /// <param name="scanType">扫描类型</param>
 public void SaveScan(string openId, int sceneId, ScanType scanType)
 {
     //微信公众平台要求微信公众号服务器必须在5秒内返回相应结果,否则会重新发送请求,一共重试三次
     //为了避免微信公众号服务器重复接收到同一条扫描记录,造成数据重复,导致统计失真,这里将保存扫描记录的操作放到线程池中异步执行,尽快返回相应结果给微信服务器
     ThreadPool.QueueUserWorkItem(e =>
     {
         int channelId = new ChannelBll().GetChannelIdBySceneId(sceneId);
         if (channelId <= 0)
         {
             return;
         }
         ChannelScanEntity entity = new ChannelScanEntity()
         {
             ChannelId = channelId,
             ScanTime  = DateTime.Now,
             OpenId    = openId,
             ScanType  = scanType
         };
         new ChannelScanDll().AddEntity(entity.GetDataEntity(entity));
     });
 }
 /// <summary>
 /// 保存扫描记录
 /// </summary>
 /// <param name="openId">微信用户OpenId</param>
 /// <param name="sceneId">扫描的二维码的参数</param>
 /// <param name="scanType">扫描类型</param>
 public void SaveScan(string openId, int sceneId, ScanType scanType)
 {
     //微信公众平台要求微信公众号服务器必须在5秒内返回相应结果,否则会重新发送请求,一共重试三次
     //为了避免微信公众号服务器重复接收到同一条扫描记录,造成数据重复,导致统计失真,这里将保存扫描记录的操作放到线程池中异步执行,尽快返回相应结果给微信服务器
     ThreadPool.QueueUserWorkItem(e =>
     {
         int channelId = new ChannelBll().GetChannelIdBySceneId(sceneId);
         if (channelId <= 0)
         {
             return;
         }
         ChannelScanEntity entity = new ChannelScanEntity()
         {
             ChannelId = channelId,
             ScanTime = DateTime.Now,
             OpenId = openId,
             ScanType = scanType
         };
         new ChannelScanDll().AddEntity(entity.GetDataEntity(entity));
     });
 }
 /// <summary>
 /// 渠道列表
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 protected void Page_Load(object sender, EventArgs e)
 {
     //获取渠道列表数据
     ViewState["ChannelList"] = new ChannelBll().GetEntities();
 }