コード例 #1
0
 public static void UpdateTopicsByType(string topicSysNos, int userSysNo, AppEnum.TopicUpdateType type)
 {
     UpdateTopicByType(0, userSysNo, type, topicSysNos);
 }
コード例 #2
0
        private static void UpdateTopicByType(int topicSysNo, int userSysNo, AppEnum.TopicUpdateType type, string topicSysNos)
        {
            string sqlStr;

            if (topicSysNos == string.Empty)
            {
                sqlStr = SQL_UPDATE_TOPIC_BYTYPE.Replace("@SysNo", "SysNo=" + topicSysNo);
            }
            else
            {
                sqlStr = SQL_UPDATE_TOPIC_BYTYPE.Replace("@SysNo", "SysNo in (" + topicSysNos + ")");
            }


            int value;

            SqlParameter[] parms = new SqlParameter[]
            {
                new SqlParameter("@LastEditUserSysNo", SqlDbType.Int),
                new SqlParameter("@Value", SqlDbType.Int)
            };

            switch (type)
            {
            case AppEnum.TopicUpdateType.AbandonTopic:
                sqlStr = sqlStr.Replace("@Key", "Status");
                value  = (int)AppEnum.TopicStatus.Abandon;
                break;

            case AppEnum.TopicUpdateType.CancelAbandonTopic:
                sqlStr = sqlStr.Replace("@Key", "Status");
                if (TopicReplyDac.HasSysReply(topicSysNo))
                {
                    value = (int)AppEnum.TopicStatus.Replyed;    // 2;
                }
                else
                {
                    value = (int)AppEnum.TopicStatus.confirmed;    //1;
                }
                break;

            case AppEnum.TopicUpdateType.TopicCancelDigset:
                sqlStr = sqlStr.Replace("@Key", "IsDigest");
                value  = 0;
                break;

            case AppEnum.TopicUpdateType.TopicSetDigset:
                sqlStr = sqlStr.Replace("@Key", "IsDigest");
                value  = 1;
                break;

            case AppEnum.TopicUpdateType.TopicCancelTop:
                sqlStr = sqlStr.Replace("@Key", "IsTop");
                value  = 0;
                break;

            case AppEnum.TopicUpdateType.TopicSetTop:
                sqlStr = sqlStr.Replace("@Key", "IsTop");
                value  = 1;
                break;

            case AppEnum.TopicUpdateType.ConfirmTopic:
                sqlStr = sqlStr.Replace("@Key", "Status");
                if (TopicReplyDac.HasSysReply(topicSysNo))
                {
                    value = (int)AppEnum.TopicStatus.Replyed;    // 2;
                }
                else
                {
                    value = (int)AppEnum.TopicStatus.confirmed;    //1;
                }
                break;

            case AppEnum.TopicUpdateType.UnConfirmTopic:
                sqlStr = sqlStr.Replace("@Key", "Status");
                value  = (int)AppEnum.TopicStatus.unconfirmed;;
                break;

            default:
                throw new ArgumentException("Topic Update Type is invalid.");
            }

            parms[0].Value = userSysNo;
            parms[1].Value = value;

            SqlCommand cmd = new SqlCommand(sqlStr);

            cmd.Parameters.AddRange(parms);
            cmd.CommandTimeout = 180;
            SqlHelper.ExecuteNonQuery(cmd);

            if (topicSysNos == string.Empty)
            {
                UpdateProductRemarkCountAndScoreByTopicSysNo(topicSysNo);
            }
            else
            {
                foreach (string s in topicSysNos.Split(new char[] { ',' }))
                {
                    UpdateProductRemarkCountAndScoreByTopicSysNo(int.Parse(s.Trim()));
                }
            }
        }
コード例 #3
0
 public static void UpdateTopicByType(int topicSysNo, int userSysNo, AppEnum.TopicUpdateType type)
 {
     UpdateTopicByType(topicSysNo, userSysNo, type, string.Empty);
 }