Beispiel #1
0
        public IHttpActionResult TimKiemHoatDong(PagingSearchingSorting pagingSearchingSorting)
        {
            pagingSearchingSorting.SearchTerm = pagingSearchingSorting.SearchTerm.Trim();
            if (pagingSearchingSorting.SearchTerm.Length <= 2)
            {
                return(Ok());
            }
            var param1           = new SqlParameter("@SearchTerm", pagingSearchingSorting.SearchTerm);
            var param2           = new SqlParameter("@CurrentPage", pagingSearchingSorting.PageIndex);
            var pageSize         = new SqlParameter("@PageSize", pagingSearchingSorting.PageSize);
            var danhSachHoatDong = _context.Database.SqlQuery <KetQuaTimKiemHoatDong>("SearchHoatDong @SearchTerm, @CurrentPage, @PageSize", param1, param2, pageSize).ToList();
            var totalRecords     = 0;
            var pageNumbers      = 0;

            if (danhSachHoatDong.Count > 0)
            {
                totalRecords = danhSachHoatDong[0].TotalRecords;
                //Tính số trang dựa trên pageIndex và pageSize
                pageNumbers = (int)Math.Ceiling((double)totalRecords / pagingSearchingSorting.PageSize);
            }
            return(Ok(new
            {
                danhSachHoatDong,
                totalRecords,
                pageNumbers
            }));
        }
        public IHttpActionResult DanhSachQuanLy(PagingSearchingSorting pagingSearchingSorting)
        {
            //Tên cột để sort cho sql server
            // @ColumnName = 'SoLuotXem' THEN DanhSachTamCTE.SoLuotXem
            // @ColumnName = 'NgayTao' THEN DanhSachTamCTE.NgayTao
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            List <BaiVietResultSetForDataTable> baiVietResultSet;

            if (pagingSearchingSorting.SearchTerm == null)
            {
                pagingSearchingSorting.SearchTerm = "";
            }
            var searchTerm  = new SqlParameter("@SearchTerm", pagingSearchingSorting.SearchTerm);
            var columnName  = new SqlParameter("@ColumnName", pagingSearchingSorting.OrderColumn);
            var recordStart = new SqlParameter("@RecordStart", pagingSearchingSorting.StartRecord);
            var pageSize    = new SqlParameter("@PageSize", pagingSearchingSorting.PageSize);

            if (pagingSearchingSorting.OrderType.ToUpper() == "ASC")
            {
                baiVietResultSet = _context.Database
                                   .SqlQuery <BaiVietResultSetForDataTable>("LayDanhSachBaiVietASC @SearchTerm, " +
                                                                            "@ColumnName, @RecordStart,@PageSize",
                                                                            searchTerm, columnName, recordStart, pageSize).ToList();
            }
            else
            {
                baiVietResultSet = _context.Database
                                   .SqlQuery <BaiVietResultSetForDataTable>("LayDanhSachBaiVietDESC @SearchTerm," +
                                                                            " @ColumnName, @RecordStart,@PageSize",
                                                                            searchTerm, columnName, recordStart, pageSize).ToList();
            }

            int recordsTotal, recordsFiltered;

            if (baiVietResultSet.Count > 0)
            {
                recordsTotal    = baiVietResultSet[0].TotalCount;
                recordsFiltered = baiVietResultSet[0].FilteredCount;
            }
            else
            {
                recordsTotal    = _context.DanhSachBaiViet.Count();
                recordsFiltered = 0;
            }
            //Tính số trang dựa trên pageIndex và pageSize
            var pageNumbers = (int)Math.Ceiling((double)recordsTotal / pagingSearchingSorting.PageSize);

            return(Ok(new
            {
                pagingSearchingSorting.Draw,
                data = baiVietResultSet,
                pageNumbers,
                pagingSearchingSorting.PageIndex,
                recordsFiltered,
                recordsTotal
            }));
        }
Beispiel #3
0
        public IHttpActionResult LayHoatDongDonViToChuc(int donViId, PagingSearchingSorting pagingSearchingSorting)
        {
            //Tên cột để sort cho sql server
            // @ColumnName = 'SoLuotXem' THEN DanhSachTamCTE.SoLuotXem
            // @ColumnName = 'NgayTao' THEN DanhSachTamCTE.NgayTao
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            List <HoatDongResultSetForDataTable> hoatDongResultSet;

            if (pagingSearchingSorting.SearchTerm == null)
            {
                pagingSearchingSorting.SearchTerm = "";
            }
            var donViIdParameter = new SqlParameter("@DonViId", donViId);
            var searchTerm       = new SqlParameter("@SearchTerm", pagingSearchingSorting.SearchTerm);
            var columnName       = new SqlParameter("@ColumnName", pagingSearchingSorting.OrderColumn);
            var recordStart      = new SqlParameter("@RecordStart", pagingSearchingSorting.StartRecord);
            var pageSize         = new SqlParameter("@PageSize", pagingSearchingSorting.PageSize);

            if (pagingSearchingSorting.OrderType.ToUpper() == "ASC")
            {
                hoatDongResultSet = _context.Database
                                    .SqlQuery <HoatDongResultSetForDataTable>("LayHoatDongDonViASC @DonViId, @SearchTerm, @ColumnName, @RecordStart, @PageSize",
                                                                              donViIdParameter, searchTerm, columnName, recordStart, pageSize).ToList();
            }
            else
            {
                hoatDongResultSet = _context.Database
                                    .SqlQuery <HoatDongResultSetForDataTable>("LayHoatDongDonViDESC @DonViId, @SearchTerm, @ColumnName, @RecordStart, @PageSize",
                                                                              donViIdParameter, searchTerm, columnName, recordStart, pageSize).ToList();
            }

            int recordsTotal, recordsFiltered;

            if (hoatDongResultSet.Count > 0)
            {
                recordsTotal    = hoatDongResultSet[0].TotalCount;
                recordsFiltered = hoatDongResultSet[0].FilteredCount;
            }
            else
            {
                recordsTotal    = _context.DanhSachHoatDongDonVi.Count(hd => hd.DonViId == donViId);
                recordsFiltered = 0;
            }
            //Tính số trang dựa trên pageIndex và pageSize
            var pageNumbers = (int)Math.Ceiling((double)recordsTotal / pagingSearchingSorting.PageSize);

            return(Ok(new
            {
                pagingSearchingSorting.Draw,
                data = hoatDongResultSet,
                pageNumbers,
                pagingSearchingSorting.PageIndex,
                recordsTotal,
                recordsFiltered
            }));
        }
        public IHttpActionResult LayBaiVietCaNhan(PagingSearchingSorting pagingSearchingSorting)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            //Lấy Sinh viên Id của User
            var userSinhVienId = User.Identity.GetSinhVienId();

            if (userSinhVienId == 0)
            {
                return(BadRequest());
            }
            //Lấy danh sách bài viết của sinh viên
            if (!ModelState.IsValid)
            {
                return(BadRequest());
            }
            List <BaiVietResultSetForDataTable> baiVietResultSet;

            if (pagingSearchingSorting.SearchTerm == null)
            {
                pagingSearchingSorting.SearchTerm = "";
            }
            var searchTerm  = new SqlParameter("@SearchTerm", pagingSearchingSorting.SearchTerm);
            var columnName  = new SqlParameter("@ColumnName", pagingSearchingSorting.OrderColumn);
            var recordStart = new SqlParameter("@RecordStart", pagingSearchingSorting.StartRecord);
            var pageSize    = new SqlParameter("@PageSize", pagingSearchingSorting.PageSize);
            var sinhVienId  = new SqlParameter("@SinhVienId", userSinhVienId);

            if (pagingSearchingSorting.OrderType.ToUpper() == "ASC")
            {
                baiVietResultSet = _context.Database
                                   .SqlQuery <BaiVietResultSetForDataTable>("LayBaiVietCaNhanASC " +
                                                                            "@SearchTerm,@ColumnName, " +
                                                                            "@RecordStart,@PageSize, @SinhVienId",
                                                                            searchTerm, columnName,
                                                                            recordStart, pageSize, sinhVienId)
                                   .ToList();
            }
            else
            {
                baiVietResultSet = _context.Database
                                   .SqlQuery <BaiVietResultSetForDataTable>("LayBaiVietCaNhanDESC " +
                                                                            "@SearchTerm,@ColumnName, " +
                                                                            "@RecordStart,@PageSize, @SinhVienId",
                                                                            searchTerm, columnName,
                                                                            recordStart, pageSize, sinhVienId)
                                   .ToList();
            }

            int recordsTotal, recordsFiltered;

            if (baiVietResultSet.Count > 0)
            {
                recordsTotal    = baiVietResultSet[0].TotalCount;
                recordsFiltered = baiVietResultSet[0].FilteredCount;
            }
            else
            {
                recordsTotal    = _context.DanhSachHoiVienHoiSinhVien.Count();
                recordsFiltered = 0;
            }
            //Tính số trang dựa trên pageIndex và pageSize
            var pageNumbers = (int)Math.Ceiling((double)recordsTotal / pagingSearchingSorting.PageSize);

            return(Ok(new
            {
                pagingSearchingSorting.Draw,
                data = baiVietResultSet,
                pageNumbers,
                pagingSearchingSorting.PageIndex,
                recordsFiltered,
                recordsTotal
            }));
        }