コード例 #1
0
ファイル: Home.aspx.cs プロジェクト: tatwd/bermuda
        /// <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: 取消追踪
            }
        }
コード例 #2
0
        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);
        }
コード例 #3
0
ファイル: NoticeDetail.aspx.cs プロジェクト: tatwd/bermuda
        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;
            }
        }
コード例 #4
0
 /// <summary>
 /// 添加追踪记录
 /// </summary>
 /// <param name="trace">实体对象</param>
 /// <returns>布尔值</returns>
 public static Boolean AddNoticeTrace(NoticeTrace trace)
 {
     return(iNoticeTraceDao.AddNoticeTrace(trace));
 }