public async Task <IActionResult> Index(int hocKy, int namHoc, int pageIndex = 1, int pageSize = 1000) { if (TempData["result"] != null) { ViewBag.SuccessMessage = TempData["result"]; } var request = new LopHocPhanManagePagingRequest() { HocKy = hocKy, NamHoc = namHoc, PageIndex = pageIndex, PageSize = pageSize }; var data = await _lopHocPhanApiClient.GetSchedule(request); ViewBag.HocKy = hocKy; ViewBag.NamHoc = namHoc; var requestRoom = new PhongManagePagingRequest() { PageIndex = 1, PageSize = 1000 }; var rooms = await _phongApiClient.GetAllPaging(requestRoom); int RoomCount = rooms.Items.Count(); ViewBag.Rooms = rooms.Items; ViewBag.RoomCount = RoomCount; return(View(data)); }
public async Task <PagedResult <LopHocPhanViewModel> > GetSchedule(LopHocPhanManagePagingRequest request) { var query = from lhp in _context.LopHocPhans join mh in _context.MonHocs on lhp.ID_MonHoc equals mh.ID join gv in _context.GiangViens on lhp.ID_GiangVien equals gv.ID orderby lhp.ID select new { lhp, mh, gv }; query = query.Where( x => x.lhp.HK_HocKy.Equals(request.HocKy) && x.lhp.HK_NamHoc.Equals(request.NamHoc)); int totalRow = await query.CountAsync(); var lopHocPhans = await query .Select(x => new LopHocPhanViewModel() { ID = x.lhp.ID, BuoiHoc = x.lhp.BuoiHoc, NgayHoc = x.lhp.NgayHoc, ID_GiangVien = x.lhp.ID_GiangVien, ID_MonHoc = x.lhp.ID_MonHoc, ID_Phong = x.lhp.ID_Phong, HK_HocKy = x.lhp.HK_HocKy, HK_NamHoc = x.lhp.HK_NamHoc, MonHoc = x.mh, GiangVien = x.gv }).ToListAsync(); var pagedResult = new PagedResult <LopHocPhanViewModel>() { TotalRecords = totalRow, PageIndex = 1, PageSize = 1000, Items = lopHocPhans }; return(pagedResult); }
public async Task <PagedResult <LopHocPhanViewModel> > GetAllPaging(LopHocPhanManagePagingRequest request) { var query = from lhp in _context.LopHocPhans select new { lhp }; if (!string.IsNullOrEmpty(request.Keyword)) { query = query.Where( x => x.lhp.ID_GiangVien.Contains(request.Keyword) || x.lhp.ID.Contains(request.Keyword) || x.lhp.ID_MonHoc.Contains(request.Keyword)); } int totalRow = await query.CountAsync(); var data = await query.Skip((request.PageIndex - 1) *request.PageSize) .Take(request.PageSize) .Select(x => new LopHocPhanViewModel() { ID = x.lhp.ID, BuoiHoc = x.lhp.BuoiHoc, NgayHoc = x.lhp.NgayHoc, ID_GiangVien = x.lhp.ID_GiangVien, ID_MonHoc = x.lhp.ID_MonHoc, ID_Phong = x.lhp.ID_Phong, HK_HocKy = x.lhp.HK_HocKy, HK_NamHoc = x.lhp.HK_NamHoc, }).ToListAsync(); var pagedResult = new PagedResult <LopHocPhanViewModel>() { TotalRecords = totalRow, PageIndex = request.PageIndex, PageSize = request.PageSize, Items = data }; return(pagedResult); }
public async Task <PagedResult <LopHocPhanViewModel> > GetSchedule(LopHocPhanManagePagingRequest 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/lophocphans/getschedule?hocky={request.HocKy}" + $"&namhoc={request.NamHoc}" ); var body = await response.Content.ReadAsStringAsync(); var lopHocPhan = JsonConvert.DeserializeObject <PagedResult <LopHocPhanViewModel> >(body); return(lopHocPhan); }
public async Task <IActionResult> GetSchedule([FromQuery] LopHocPhanManagePagingRequest request) { var lopHocPhan = await _lopHocPhanService.GetSchedule(request); return(Ok(lopHocPhan)); }