/// <summary> /// 追踪失物招领启示 /// </summary> /// <param name="sender">点击按钮对象</param> /// <param name="e">事件参数</param> protected void TraceBtn_Click(object sender, EventArgs e) { if (!IsSignIn()) // 判断用户是否登录 { Response.Redirect("layout/SignIn.aspx"); return; } bool isTraced = false; Button btn = (Button)sender; if (!isTraced) { Int64 noticeId = !String.IsNullOrEmpty(btn.Attributes["data-notice-id"]) ? Int64.Parse(btn.Attributes["data-notice-id"]) : 0; if (noticeId == 0) { return; } User user = (User)Session["User"]; NoticeTrace trace = new NoticeTrace() { NoticeId = noticeId, UserId = user.Id, TraceDate = DateTime.Now.ToLocalTime() }; bool isOk = NoticeTraceService.AddNoticeTrace(trace); if (isOk) { Int64 traceCount = NoticeService.GetFieldValue <Int64>(noticeId, "trace_count"); btn.Text = String.Format("追踪 · {0}", traceCount); } } else { // TODO: 取消追踪 } }
public Boolean AddNoticeTrace(NoticeTrace trace) { String sql = "INSERT INTO [notice_trace]([notice_id], [user_id], [trace_date]) VALUES(@notice_id, @user_id, @trace_date)"; String query = "SELECT COUNT(id) FROM [notice_trace] WHERE [notice_id] = @notice_id AND [user_id] = @user_id"; SqlParameter[] parameters = new SqlParameter[] { new SqlParameter("@notice_id", trace.NoticeId), new SqlParameter("@user_id", trace.UserId), new SqlParameter("@trace_date", trace.TraceDate) }; Int32 line = -1; if ((Int32)connector.Execute("scalar", query, parameters) == 0) // 判断用户是否已经追踪了该启示 { line = (Int32)connector.Execute("non", sql, parameters); } return(line <= 0 ? false: true); }
protected void TraceBtn_Click(object sender, EventArgs e) { Button btn = (Button)sender; try { if (!IsSignIn()) { return; } Int64 noticeId = GetNoticeId(); Int64 userId = GetUserId(); if (noticeId != 0 || userId != 0) { NoticeTrace trace = new NoticeTrace() { NoticeId = noticeId, UserId = userId, TraceDate = DateTime.Now.ToLocalTime() }; bool isOk = NoticeTraceService.AddNoticeTrace(trace); if (isOk) { // Int64 traceCount = NoticeService.GetFieldValue<Int64>(noticeId, "trace_count"); btn.Text = "已追踪"; } } } catch (Exception ex) { PromptInfo.Text = ex.Message; } }
/// <summary> /// 添加追踪记录 /// </summary> /// <param name="trace">实体对象</param> /// <returns>布尔值</returns> public static Boolean AddNoticeTrace(NoticeTrace trace) { return(iNoticeTraceDao.AddNoticeTrace(trace)); }