Esempio n. 1
0
        public async Task <IActionResult> AddStudentToClass(string id)
        {
            //Lấy danh sách sinh viên để show thành list
            var requestSinhVien = new SinhVienManagePagingRequest()
            {
                PageIndex = 1,
                PageSize  = 1000
            };
            var sinhViens = await _sinhVienApiClient.GetAllPaging(requestSinhVien);

            ViewBag.sinhViens = sinhViens.Items;


            ViewBag.ID_LopHocPhan = id;

            return(View());
        }
        public async Task <IActionResult> Index(string keyword, int pageIndex = 1, int pageSize = 10)
        {
            var request = new SinhVienManagePagingRequest()
            {
                Keyword   = keyword,
                PageIndex = pageIndex,
                PageSize  = pageSize
            };
            var data = await _sinhVienApiClient.GetAllPaging(request);

            ViewBag.Keyword = keyword;

            if (TempData["result"] != null)
            {
                ViewBag.SuccessMessage = TempData["result"];
            }

            return(View(data));
        }
Esempio n. 3
0
        public async Task <PagedResult <SinhVienViewModel> > GetAllPaging(SinhVienManagePagingRequest request)
        {
            var query = from sv
                        in _context.SinhViens
                        select new { sv };

            if (!string.IsNullOrEmpty(request.Keyword))
            {
                query = query.Where(x => x.sv.HoTen.Contains(request.Keyword) || x.sv.ID.Contains(request.Keyword) || x.sv.ID_LopBienChe.Contains(request.Keyword));
            }

            int totalRow = await query.CountAsync();

            var data = await query.Skip((request.PageIndex - 1) *request.PageSize)
                       .Take(request.PageSize)
                       .Select(x => new SinhVienViewModel()
            {
                ID            = x.sv.ID,
                SoThuTu       = x.sv.SoThuTu,
                Ho            = x.sv.Ho,
                Ten           = x.sv.Ten,
                HoTen         = x.sv.HoTen,
                DiaChi        = x.sv.DiaChi,
                Email         = x.sv.Email,
                SoDienThoai   = x.sv.SoDienThoai,
                GioiTinh      = x.sv.GioiTinh,
                NgaySinh      = x.sv.NgaySinh,
                IsActive      = x.sv.IsActive,
                Nam           = x.sv.Nam,
                ID_LopBienChe = x.sv.ID_LopBienChe,
            }).ToListAsync();

            var pagedResult = new PagedResult <SinhVienViewModel>()
            {
                TotalRecords = totalRow,
                PageIndex    = request.PageIndex,
                PageSize     = request.PageSize,
                Items        = data
            };

            return(pagedResult);
        }
Esempio n. 4
0
        public async Task<PagedResult<SinhVienViewModel>> GetAllPaging(SinhVienManagePagingRequest request)
        {
            var sessions = _httpContextAccessor
                             .HttpContext
                             .Session
                             .GetString(SystemConstants.AppSettings.Token);

            var client = _httpClientFactory.CreateClient();
            client.BaseAddress = new Uri(_configuration[SystemConstants.AppSettings.BaseAddress]);
            client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", sessions);

            var response = await client.GetAsync(
                $"/api/sinhviens/paging?pageIndex={request.PageIndex}" +
                $"&pageSize={request.PageSize}" +
                $"&keyword={request.Keyword}"
                );

            var body = await response.Content.ReadAsStringAsync();
            var sinhVien = JsonConvert.DeserializeObject<PagedResult<SinhVienViewModel>>(body);

            return sinhVien;
        }
        public async Task <IActionResult> GetAllPaging([FromQuery] SinhVienManagePagingRequest request)
        {
            var sinhVien = await _sinhVienService.GetAllPaging(request);

            return(Ok(sinhVien));
        }