Example #1
0
        // 新增評論
        public string insertComment(CM.CommentModel iComment)
        {
            #region [做DB連線 以及 執行DB處理]

            // 建立DB連線
            Tools.DBConnection bsc = new Tools.DBConnection();

            // 放入 commentID的資料
            string doDB = bsc.ActionDB(
                string.Format(
                    @"INSERT INTO [Comment] (JOB_ID,USER_ID,CONTENT_TEXT,TIME)
                              VALUES({0},'{1}','{2}',CURRENT_TIMESTAMP);"
                    , iComment.Job_ID, iComment.SessionID, iComment.Content_Text)
                );

            // 如果 doDB為"success" ,代表DB連線成功 ,反之失敗
            if (doDB != "success")
            {
                return("DB處理錯誤");
            }

            return("新增評論成功!");

            #endregion
        }
Example #2
0
        // 修改評論
        public string modifyComment(int comment_ID, string content_text, string suserID)
        {
            // 判斷是不是自己下的評論 ,如果不是就直接 return "modify error!";
            List <CM.CommentModel> cms = browseComment(comment_ID);

            if (cms[0].User_ID != suserID)
            {
                return("不能修改其他人的評論!");
            }

            #region [做DB連線 以及 執行DB處理]

            // 建立DB連線
            Tools.DBConnection bsc = new Tools.DBConnection();

            // 修改 commentID的資料
            String doDB = bsc.ActionDB(
                string.Format(
                    @"UPDATE [Comment]
                              SET CONTENT_TEXT = '{0}'
                              WHERE 1=1
                              AND COMMENT_ID = {1};"
                    , content_text, comment_ID)
                );

            // 如果 doDB為"success" ,代表DB連線成功 ,反之失敗
            if (doDB != "success")
            {
                return("DB處理錯誤");
            }

            #endregion

            #region [檢查DB內容]

            // 查看是否修改成功
            List <CommentModel> cm = this.browseComment(comment_ID);

            // 如果list個數為0 ,則回傳修改失敗
            if (cm.Count == 0)
            {
                return("modify error!");
            }
            else
            {
                // 判斷 DB 是否有修改一模一樣的資料筆
                for (int i = 0; i < cm.Count; i++)
                {
                    if ((cm[i].Comment_ID == comment_ID) &&
                        (cm[i].Content_Text == content_text)
                        )
                    {
                        return("modify success!");
                    }
                }
                return("modify error!");
            }

            #endregion
        }
Example #3
0
        public string insertHistory(string userID, int jobID)
        {
            #region [做DB連線 以及 執行DB處理]

            // 建立DB連線
            Tools.DBConnection bsc = new Tools.DBConnection();

            // 放入瀏覽歷史的資料
            string doDB = bsc.ActionDB(
                string.Format(
                    @"INSERT INTO [History] (USER_ID,JOB_ID,TIME)
                              VALUES('{0}', {1} , CURRENT_TIMESTAMP);"
                    , userID, jobID)
                );


            // 如果 doDB為"success" ,代表DB連線成功 ,反之失敗
            if (doDB == "success")
            {
                return("insert history success");
            }
            else
            {
                return("insert history fail");
            }
            #endregion
        }
Example #4
0
        // 刪除評論
        public string delComment(int comment_ID, string suserID)
        {
            // 判斷是不是自己下的評論 ,如果不是就直接 return "modify error!";
            List <CM.CommentModel> cms = browseComment(comment_ID);

            if (cms[0].User_ID != suserID)
            {
                return("不能刪除其他人的評論!");
            }

            #region [做DB連線 以及 執行DB處理]

            // 建立DB連線
            Tools.DBConnection bsc = new Tools.DBConnection();

            // 刪除 commentID的資料
            String doDB = bsc.ActionDB(
                string.Format(
                    @"DELETE FROM [Comment]
                              WHERE 1=1
                              AND COMMENT_ID = {0};"
                    , comment_ID)
                );

            // 如果 doDB為"success" ,代表DB連線成功 ,反之失敗
            if (doDB != "success")
            {
                return("DB處理錯誤");
            }

            #endregion

            #region [檢查DB內容]

            // 查看是否修改成功
            List <CommentModel> cm = this.browseComment(comment_ID);

            // 如果list個數為0 ,則回傳刪除成功
            if (cm.Count == 0)
            {
                return("delete success!");
            }
            else
            {
                // 若不是評論者刪除的那筆(當事人可能有很多筆) ,則回傳 刪除成功
                for (int i = 0; i < cm.Count; i++)
                {
                    if (cm[i].Comment_ID == comment_ID)
                    {
                        return("delete error!");
                    }
                }
                return("delete success!");
            }

            #endregion
        }
Example #5
0
        public List <HM.HistoryModel> browseHistoryjob(string userID)
        {
            #region [做DB連線 以及 執行DB處理]

            // 建立DB連線
            Tools.DBConnection     bhj           = new Tools.DBConnection();
            List <HM.HistoryModel> bHistoryModel = new List <HM.HistoryModel>();
            HM.HistoryModel        hmlist        = new HM.HistoryModel();
            // 取出 特定的歷史job
            if (userID != "")
            {
                #region [ 取出特定歷史 job的資料 ]

                DataTable dt = bhj.ReadDB(
                    string.Format(
                        @"SELECT Job.COMP_ID,Company.COMPNAME,Job.JOB_ID,Job.CITYNAME,Job.OCCU_DESC,Job.WK_TYPE,Job.CJOB_ID,JobType.CJOB_NAME1,History.TIME
                                  FROM [Job],[History],[Company],[JobType]
                                  WHERE Job.JOB_ID=History.JOB_ID
                                  AND Job.COMP_ID=Company.COMP_ID
                                  AND Job.CJOB_ID = JobType.CJOB_ID
                                  AND History.USER_ID = '{0}'", userID
                        )
                    );

                // 將DataTable的資料轉換為model
                string[] columnNames = dt.Columns.Cast <DataColumn>().Select(x => x.ColumnName).ToArray();
                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    bHistoryModel.Add(new HM.HistoryModel()
                    {
                    });

                    bHistoryModel[i] = new HM.HistoryModel()
                    {
                        Time = dt.Rows[i][8].ToString(),
                    };
                    bHistoryModel[i].searchjobModel = new SJM.SearchJobModel()
                    {
                        Comp_ID    = Convert.ToInt16(dt.Rows[i][columnNames[0]]),
                        CompName   = dt.Rows[i][1].ToString(),
                        Job_ID     = Convert.ToInt16(dt.Rows[i][2]),
                        CityName   = dt.Rows[i][3].ToString(),
                        Occu_Desc  = dt.Rows[i][4].ToString(),
                        Wk_Type    = dt.Rows[i][5].ToString(),
                        Cjob_ID    = Convert.ToInt16(dt.Rows[i][6]),
                        Cjob_Name1 = dt.Rows[i][7].ToString()
                    };
                }

                #endregion
            }
            return(bHistoryModel);

            #endregion
        }
Example #6
0
        // 新增會員 [ 會員model的attr. 皆為填入項目 ]
        public string registerMember(MM.MemberModel rMember)
        {
            #region [做DB連線 以及 執行DB處理]

            // 建立DB連線
            Tools.DBConnection bsc = new Tools.DBConnection();

            // 確認user_ID是否重複
            MemberModel mms = memberData(rMember.UserName);

            if (mms.User_ID != "")
            {
                return("重複會員名稱!需換會員名稱");
            }

            // 放入 UserID的資料
            string doDB = bsc.ActionDB(
                string.Format(
                    @"INSERT INTO [Account] (USER_ID,USERNAME,PASSWORD,RE_TIME)
                              VALUES('{0}','{1}','{2}',CURRENT_TIMESTAMP);"
                    , rMember.User_ID, rMember.UserName, rMember.PassWord)
                );

            // 如果 doDB為"success" ,代表DB連線成功 ,反之失敗
            if (doDB != "success")
            {
                return("DB處理錯誤");
            }

            #endregion

            #region [檢查DB內容,用 UserName做檢查]

            // 查看是否新增成功
            MemberModel cm = this.memberData(rMember.UserName);

            // 檢查MemberModel
            if ((rMember.User_ID == cm.User_ID) &&
                (rMember.UserName == cm.UserName) &&
                (rMember.PassWord == cm.PassWord)
                )
            {
                return("insert success!");
            }
            else
            {
                return("insert error!");
            }

            #endregion
        }
Example #7
0
        // 瀏覽評論
        public List <CM.CommentModel> browseComment(int comment_ID)
        {
            List <CM.CommentModel> bCommentModel = new List <CM.CommentModel>();

            #region [做DB連線 以及 執行DB處理]

            // 建立DB連線
            Tools.DBConnection bsc = new Tools.DBConnection();

            #region [ 取出特定 commentID的資料 ]

            DataTable dt = bsc.ReadDB(
                string.Format(
                    @"SELECT *
                                FROM [Comment] AS C
                                WHERE 1=1
                                AND C.COMMENT_ID = {0}"
                    , comment_ID)
                );

            // 將DataTable的資料轉換為model
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                bCommentModel.Add(new CM.CommentModel
                {
                    Comment_ID   = Convert.ToInt16(dt.Rows[i][0].ToString()),
                    Job_ID       = Convert.ToInt16(dt.Rows[i][1]),
                    User_ID      = dt.Rows[i][2].ToString(),
                    Content_Text = dt.Rows[i][3].ToString(),
                    Time         = dt.Rows[i][4].ToString(),
                    Report_no    = Convert.ToInt16(dt.Rows[i][5]),
                    Is_Alive     = dt.Rows[i][6].ToString()
                });
            }

            #endregion

            return(bCommentModel);

            #endregion
        }
Example #8
0
        // 使用UserName,瀏覽會員DB資料,也判斷新增/登入是否成功
        public MM.MemberModel memberData(string UserName)
        {
            MM.MemberModel bMemberModel = new MM.MemberModel();

            #region [做DB連線 以及 取出DB資料]

            // 建立DB連線
            Tools.DBConnection bsc = new Tools.DBConnection();

            // 取出 會員資料
            DataTable dt = bsc.ReadDB(
                string.Format(
                    @"SELECT *
                              FROM [Account] AS A
                              WHERE 1=1
                              AND A.USERNAME = '******'"
                    , UserName)
                );

            // 將DataTable的資料轉換為model ,資料行小於0則塞空資料
            if (dt.Rows.Count > 0)
            {
                bMemberModel.User_ID  = dt.Rows[0][0].ToString();
                bMemberModel.UserName = dt.Rows[0][1].ToString();
                bMemberModel.PassWord = dt.Rows[0][2].ToString();
                bMemberModel.Re_Time  = dt.Rows[0][3].ToString();
            }
            else
            {
                bMemberModel.User_ID  = "";
                bMemberModel.UserName = "";
                bMemberModel.PassWord = "";
                bMemberModel.Re_Time  = null;
            }

            return(bMemberModel);

            #endregion
        }
Example #9
0
        // 瀏覽 [歷史評論]
        public List <CM.CommentModel> browseHistoryComment(string user_ID)
        {
            List <CM.CommentModel> bCommentModel = new List <CM.CommentModel>();

            // 建立DB連線
            Tools.DBConnection bsc = new Tools.DBConnection();

            #region [ 取出 USER_ID的評論 ]

            DataTable dt = bsc.ReadDB(
                string.Format(
                    @"SELECT J.JOB_ID ,Com.COMPNAME ,J.OCCU_DESC ,C.TIME ,C.IS_ALIVE,C.CONTENT_TEXT
                              FROM [Comment] AS C , [Job] AS J , [Company] AS Com
                              WHERE 1=1
                              AND C.JOB_ID = J.JOB_ID
                              AND Com.COMP_ID = J.COMP_ID
                              AND C.USER_ID = '{0}'"
                    , user_ID)
                );

            // 將DataTable的資料轉換為model
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                bCommentModel.Add(new CM.CommentModel
                {
                    Job_ID       = Convert.ToInt16(dt.Rows[i][0]),
                    CompName     = dt.Rows[i][1].ToString(),
                    Occu_Desc    = dt.Rows[i][2].ToString(),
                    Time         = dt.Rows[i][3].ToString(),
                    Is_Alive     = dt.Rows[i][4].ToString(),
                    Content_Text = dt.Rows[i][5].ToString()
                });
            }

            #endregion

            return(bCommentModel);
        }
Example #10
0
        // 瀏覽 [jobDetail評論]
        public List <CM.CommentModel> browseJobComment(int job_ID)
        {
            List <CM.CommentModel> bCommentModel = new List <CM.CommentModel>();

            // 建立DB連線
            Tools.DBConnection bsc = new Tools.DBConnection();

            #region [ 取出 USER_ID的評論 ]

            DataTable dt = bsc.ReadDB(
                string.Format(
                    @"SELECT C.TIME , C.CONTENT_TEXT ,C.COMMENT_ID ,A.USERNAME ,C.IS_ALIVE
                              FROM [Comment] AS C , [Account] AS A
                              WHERE 1=1
                              AND C.USER_ID = A.USER_ID
                              AND C.JOB_ID = {0}"
                    , job_ID)
                );

            // 將DataTable的資料轉換為model
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                bCommentModel.Add(new CM.CommentModel
                {
                    Time         = dt.Rows[i][0].ToString(),
                    Content_Text = dt.Rows[i][1].ToString(),
                    Comment_ID   = Convert.ToInt16(dt.Rows[i][2]),
                    UserName     = dt.Rows[i][3].ToString(),
                    Is_Alive     = dt.Rows[i][4].ToString()
                });
            }

            #endregion

            return(bCommentModel);
        }
Example #11
0
        // 檢舉評論
        public string reportComment(int comment_ID, string suserID)
        {
            // 建立DB連線
            Tools.DBConnection bsc = new Tools.DBConnection();

            #region [判斷sessionID者是否曾經檢舉過此筆]

            // 判斷sessionID者是否曾經檢舉過此筆
            DataTable dt = bsc.ReadDB(
                string.Format(
                    @"SELECT *
                                 FROM [Report] AS R
                                 WHERE 1=1
                                 AND R.USER_ID = '{0}'
                                 AND R.COMMENT_ID = '{1}'"
                    , suserID, comment_ID)
                );

            // 若已檢舉過 ,直接回傳"Can't report again!"
            if (dt.Rows.Count > 0)
            {
                return("不能重複評論!");
            }

            #endregion

            #region [此筆評論增加report numbers ,判斷是否還存活 ,新增report table資料]

            #region [評論增加report numbers ,判斷是否還存活]

            // 判斷此筆資料的 檢舉次數
            DataTable reporttimes = bsc.ReadDB(
                string.Format(
                    @"SELECT C.REPORT_NO
                                              FROM [Comment] AS C
                                              WHERE 1=1
                                              AND C.COMMENT_ID = {0}"
                    , comment_ID)
                );

            // 取得檢舉次數 ,並增加一次
            int reportsnum = Convert.ToInt16(reporttimes.Rows[0][0]);
            reportsnum = reportsnum + 1;

            // 若檢舉次數 = 5 ,不存活SQL指令
            string SQLComment = (reportsnum == 5) ? ", Is_Alive  = \'false\'" :null;

            // 修改 commentID的資料(次數+1)
            String doDBConnect = bsc.ActionDB(
                string.Format(
                    @"UPDATE [Comment]
                                                  SET REPORT_NO = {0}
                                                      {1}
                                                  WHERE 1=1
                                                  AND COMMENT_ID = {2};"
                    , reportsnum, SQLComment, comment_ID)
                );

            // 如果 doDB為"success" ,代表DB連線成功 ,反之失敗
            if (doDBConnect != "success")
            {
                return("修改 commentID的資料 錯誤");
            }

            #endregion

            #region [新增report table資料]

            // 新增 report table 資料
            String modifyreport = bsc.ActionDB(
                string.Format(
                    @"INSERT INTO[Report](COMMENT_ID,USER_ID)
                                                VALUES({0},'{1}'); "
                    , comment_ID, suserID)
                );

            // 如果 modifyreport == "success" ,代表DB連線成功 ,反之失敗
            if (modifyreport != "success")
            {
                return("新增 report table 資料 錯誤");
            }

            #endregion

            #endregion

            #region [檢查DB內容]

            // 查看是否修改成功
            List <CommentModel> cms = this.browseComment(comment_ID);

            // 查看檢舉評論那筆 ,是否執行成功

            for (int i = 0; i < cms.Count; i++)
            {
                if ((cms[i].Comment_ID == comment_ID) &&
                    (cms[i].Report_no == reportsnum)
                    )
                {
                    return("檢舉成功");
                }
            }
            return("delete success!");

            #endregion
        }