示例#1
0
        public ActionResult Board(BoardSearchModel searchModel)
        {
            //searchModel.SortColumn = BoardSortType.Title;

            searchModel.BoardID = "B5DF22B7-6827-4E06-B0FE-47746FAC70B9";

            if (HttpContext.Request.Cookies["hPageSize"] == null)
            {
                searchModel.PageSize = 10;
            }
            else
            {
                searchModel.PageSize = Convert.ToInt32(HttpContext.Request.Cookies["hPageSize"].Value);
            }

            List <BoardItemModel> list = boardService.GetBoardItems(searchModel);

            ContentBoardModel content = new ContentBoardModel()
            {
                boardItems  = list,
                boardSearch = searchModel
            };

            return(View(content));
        }
示例#2
0
        public string SetSearch(BoardSearchModel searchModel, ref List <SqlParameter> parameters)
        {
            string rtnVal = "";

            parameters.Add(new SqlParameter("@BoardID", searchModel.BoardID));

            if (!string.IsNullOrEmpty(searchModel.Area))
            {
                if (searchModel.Area == "Title")
                {
                    parameters.Add(new SqlParameter("@Title", "%" + searchModel.Word + "%"));
                    rtnVal = " AND Title Like @Title";
                }
                else if (searchModel.Area == "ItemID")
                {
                    parameters.Add(new SqlParameter("@ItemID", searchModel.Word));
                    rtnVal = " AND ItemID = @ItemID";
                }
                else if (searchModel.Area == "CreateName")
                {
                    parameters.Add(new SqlParameter("@CreateName", "%" + searchModel.Word + "%"));
                    rtnVal = " AND CreateName Like @CreateName";
                }
            }

            return(rtnVal);
        }
示例#3
0
        //public List<BoardModel> GetQueryList(BoardSearchModel searchModel, bool totalCount = true)
        //{
        //    if (totalCount)
        //    {
        //        List<SqlParameter> total_parameters = new List<SqlParameter>();

        //        #region 검색
        //        string strSql_TotalSearch = SetSearch(searchModel, ref total_parameters);
        //        #endregion

        //        string strSql_TotalCnt = @" SELECT
        //                                        count(*) TOTAL_COUNT
        //                                    FROM viewBoardDB_List AS B
        //                                    WHERE B.ExpireDate > GETDATE()
        //                                    AND B.BoardCD in (SELECT BoardCD From BoardInfo where DelYN = 'N' )
        //                                    AND B.BoardCD = @BoardCD AND B.CompanyCD = 'GRCOM'" + strSql_TotalSearch;

        //        strSql_TotalCnt = $"SELECT * FROM ( {strSql_TotalCnt } ) TBL ";

        //        var rtnVal = dbContext.Database.SqlQuery<int>(strSql_TotalCnt, total_parameters.ToArray() ).FirstOrDefault();

        //        searchModel.TotalCount = long.Parse(rtnVal.ToString());
        //    }

        //    List<SqlParameter> parameters = new List<SqlParameter>();

        //    #region 검색
        //    string strSql_Search = SetSearch(searchModel, ref parameters);
        //    #endregion

        //    #region 쿼리
        //    string strSql = @"
        //                        SELECT
        //                                ROW_NUMBER() OVER(ORDER BY %{SortColumn} %{SortOrder} ) as RowNum,
        //                                B.ArticleCD,
        //                                dbo.fnUserID_Idless(B.NamelessFlg, B.UserID) as UserID,
        //                                dbo.fnUserName_Nameless(B.NamelessFlg, B.UserName) as UserName,
        //                                B.BoardCD,
        //                                B.Title,
        //                                B.SelReply,
        //                                dbo.fnFormatDateTimeStringMulti(B.CreateDate, 'kor') as UCreateDate,
        //                                B.ExpireDate,
        //                                B.ViewCnt,
        //                                B.FileOnly,
        //                                B.Importance ,
        //                                B.AttachCNT,
        //                                B.CommentCNT,
        //                                B.Ref_Seq,
        //                                B.Ref_Level,
        //                                B.Ref_Step,
        //                                B.SubCnt,
        //                                B.IsNotice,
        //                                (SELECT ISNULL(MAX(Permission), -1) from BoardACL Where ResourceCD = B.BoardCD AND ((UnitID = 'PublicID_R' and Permission = 0) OR (UnitID = 'PublicID' and Permission = 0) OR UnitID = 'wanho_kim1') and Companycd = B.Companycd) AS B_ACL,
        //                                Gubun,
        //                                Company,
        //                                REPLACE(CONVERT(VARCHAR, CONVERT(MONEY, Price), 1), '.00', '') AS Price,
        //                                Area,
        //                                Status,
        //                                Phone,
        //                                Address,
        //                                Theme,
        //                                Point,
        //                                SortCreateDate
        //                        FROM viewBoardDB_List AS B
        //                        WHERE B.ExpireDate > GETDATE()
        //                        AND B.BoardCD in (SELECT BoardCD From BoardInfo where DelYN = 'N' )
        //                        AND B.BoardCD = @BoardCD AND B.CompanyCD = 'GRCOM' " + strSql_Search;
        //    #endregion

        //    strSql = $"SELECT * FROM( { strSql } ) TBL WHERE TBL.RowNum > @RowStart AND TBL.RowNum <= @RowEnd ";

        //    #region 정렬

        //    strSql = SetSorting(searchModel, strSql);

        //    #endregion

        //    // 페이징
        //    parameters.Add(new SqlParameter("@RowStart", searchModel.GetRange().RowStart));
        //    parameters.Add(new SqlParameter("@RowEnd", searchModel.GetRange().RowEnd));

        //    List<BoardModel> list = dbContext.Database.SqlQuery<BoardModel>(strSql, parameters.ToArray() ).ToList();

        //    return list;
        //}

        public string SetSorting(BoardSearchModel searchModel, string strSql)
        {
            if (!string.IsNullOrEmpty(searchModel.SortColumn))
            {
                if (searchModel.SortColumn == "ItemID")
                {
                    strSql = strSql.Replace("%{SortColumn}", "ItemID");
                }
                else if (searchModel.SortColumn == "Company")
                {
                    strSql = strSql.Replace("%{SortColumn}", "Company");
                }
                else if (searchModel.SortColumn == "Title")
                {
                    strSql = strSql.Replace("%{SortColumn}", "Title");
                }
                else if (searchModel.SortColumn == "UserName")
                {
                    strSql = strSql.Replace("%{SortColumn}", "UserName");
                }
                else if (searchModel.SortColumn == "ViewCnt")
                {
                    strSql = strSql.Replace("%{SortColumn}", "ViewCnt");
                }
                else if (searchModel.SortColumn == "SortCreateDate")
                {
                    strSql = strSql.Replace("%{SortColumn}", "SortCreateDate");
                }
            }
            else
            {
                searchModel.SortColumn = "SortCreateDate";
                strSql = strSql.Replace("%{SortColumn}", searchModel.SortType);
            }

            if (string.IsNullOrEmpty(searchModel.SortOrder))
            {
                searchModel.SortOrder = "Desc";
            }

            strSql = strSql.Replace("%{SortOrder}", searchModel.SortOrder);

            return(strSql);
        }
示例#4
0
        public List <BoardItemModel> GetBoardItems(BoardSearchModel searchModel, bool totalCount = true)
        {
            List <BoardItemModel> list = new List <BoardItemModel>();

            using (var connection = new SqlConnection(connectionString))
            {
                var procedure = "[SP_BoardGetItems]";
                var values    = new {
                    BoardID  = searchModel.BoardID,
                    Area     = searchModel.Area,
                    Word     = searchModel.Word,
                    RowStart = searchModel.GetRange().RowStart,
                    RowEnd   = searchModel.GetRange().RowEnd
                };

                var reader = connection.QueryMultiple(procedure, values, commandType: CommandType.StoredProcedure);
                using (reader)
                {
                    searchModel.TotalCount = reader.ReadFirstOrDefault <long>();
                    list = reader.Read <BoardItemModel>().ToList();
                }
            }

            //if (totalCount)
            //{
            //    if (!string.IsNullOrEmpty(searchModel.Area))
            //    {
            //        if (searchModel.Area == "Title")
            //        {
            //            searchModel.TotalCount = 0; // dbContext.boardItems.Where(x => x.BoardID == searchModel.BoardID && x.Title.Contains(searchModel.Word)).LongCount();
            //        }
            //        else if(searchModel.Area == "CreateName")
            //        {
            //            searchModel.TotalCount = 0; //dbContext.boardItems.Where(x => x.BoardID == searchModel.BoardID && x.CreateName.Contains(searchModel.Word)).LongCount();
            //        }
            //    }
            //    else
            //    {
            //        searchModel.TotalCount = 0; //dbContext.boardItems.Where(x => x.BoardID == searchModel.BoardID).LongCount();
            //    }
            //}

            //if (!string.IsNullOrEmpty(searchModel.Area))
            //{
            //    if (searchModel.Area == "Title")
            //    {
            //        list = new List<BoardItemModel>(); /* dbContext.boardItems.
            //            Where(x => x.BoardID == searchModel.BoardID && x.Title.Contains(searchModel.Word))
            //            .OrderBy(x => x.CreateDate)
            //            .Skip(searchModel.GetRange().RowStart)
            //            .Take(searchModel.GetRange().RowEnd)
            //            .ToList<BoardItemModel>(); */
            //    }
            //    else if (searchModel.Area == "CreateName")
            //    {
            //        list = new List<BoardItemModel>(); /* dbContext.boardItems
            //            .Where(x => x.BoardID == searchModel.BoardID && x.CreateName.Contains(searchModel.Word))
            //            .OrderBy(x => x.CreateDate)
            //            .Skip(searchModel.GetRange().RowStart)
            //            .Take(searchModel.GetRange().RowEnd)
            //            .ToList<BoardItemModel>(); */
            //    }
            //}
            //else
            //{
            //    list = new List<BoardItemModel>(); /* dbContext.boardItems
            //        .Where(x => x.BoardID == searchModel.BoardID)
            //        .OrderBy(x=> x.CreateDate)
            //        .Skip(searchModel.GetRange().RowStart)
            //        .Take(searchModel.GetRange().RowEnd)
            //        .ToList<BoardItemModel>(); */
            //}

            return(list);
        }