public async Task <IActionResult> Create()
        {
            //Lấy năm hiện tại
            string year = DateTime.Now.Year.ToString();
            //Lấy 2 số cuối của năm
            string lastTwoDigitsOfYear = year.Substring(year.Length - 2);

            //Get list giang vien
            var requestLopBienChe = new LopBienCheManagePagingRequest()
            {
                Keyword   = lastTwoDigitsOfYear,
                PageIndex = 1,
                PageSize  = 100
            };

            var lopBienChes = await _lopBienCheApiClient.GetAllPaging(requestLopBienChe);

            ViewBag.lopBienChes = lopBienChes.Items;

            //Lấy danh sách ctdt trùng với khóa của sinh viên
            var requestCTDT = new ChuongTrinhDaoTaoPagingRequest()
            {
                Keyword   = year,
                PageIndex = 1,
                PageSize  = 100
            };
            var chuonTrinhDaoTaos = await _chuongTrinhDaoTaoApiClient.GetAllPaging(requestCTDT);

            ViewBag.chuongTrinhDaoTaos = chuonTrinhDaoTaos.Items;

            return(View());
        }
        public async Task <PagedResult <LopBienCheViewModel> > GetAllPaging(LopBienCheManagePagingRequest request)
        {
            var query = from lbc
                        in _context.LopBienChes
                        select new { lbc };

            if (!string.IsNullOrEmpty(request.Keyword))
            {
                query = query.Where(x => x.lbc.ID.Contains(request.Keyword));
            }

            int totalRow = await query.CountAsync();

            var data = await query.Skip((request.PageIndex - 1) *request.PageSize)
                       .Take(request.PageSize)
                       .Select(x => new LopBienCheViewModel()
            {
                ID           = x.lbc.ID,
                SoThuTu      = x.lbc.SoThuTu,
                NamBatDau    = x.lbc.NamBatDau,
                NamKetThuc   = x.lbc.NamKetThuc,
                ID_Khoa      = x.lbc.ID_Khoa,
                ID_GiangVien = x.lbc.ID_GiangVien
            }).ToListAsync();

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

            return(pagedResult);
        }
        public async Task <IActionResult> Edit(string id)
        {
            var sinhVien = await _sinhVienApiClient.GetById(id);

            //Lấy năm của sv
            string year = sinhVien.Nam.ToString();
            //Lấy 2 số cuối của năm
            string lastTwoDigitsOfYear = year.Substring(year.Length - 2);

            //Lấy danh sách lớp biên chế
            var requestLopBienChe = new LopBienCheManagePagingRequest()
            {
                Keyword   = lastTwoDigitsOfYear,
                PageIndex = 1,
                PageSize  = 100
            };

            var lopBienChes = await _lopBienCheApiClient.GetAllPaging(requestLopBienChe);

            ViewBag.lopBienChes = lopBienChes.Items;

            //Lấy danh sách ctdt trùng với khóa của sinh viên
            var requestCTDT = new ChuongTrinhDaoTaoPagingRequest()
            {
                Keyword   = year,
                PageIndex = 1,
                PageSize  = 100
            };
            var chuonTrinhDaoTaos = await _chuongTrinhDaoTaoApiClient.GetAllPaging(requestCTDT);

            ViewBag.chuongTrinhDaoTaos = chuonTrinhDaoTaos.Items;


            if (sinhVien != null)
            {
                var updateRequest = new SinhVienUpdateRequest()
                {
                    Ho                   = sinhVien.Ho,
                    Ten                  = sinhVien.Ten,
                    DiaChi               = sinhVien.DiaChi,
                    Email                = sinhVien.Email,
                    SoDienThoai          = sinhVien.SoDienThoai,
                    GioiTinh             = sinhVien.GioiTinh,
                    NgaySinh             = sinhVien.NgaySinh,
                    IsActive             = sinhVien.IsActive,
                    ID_LopBienChe        = sinhVien.ID_LopBienChe,
                    ID_ChuongTrinhDaoTao = sinhVien.ID_ChuongTrinhDaoTao
                };
                return(View(updateRequest));
            }
            return(RedirectToAction("Error", "Home"));
        }
Beispiel #4
0
        public async Task <IActionResult> Index(string keyword, int pageIndex = 1, int pageSize = 10)
        {
            var request = new LopBienCheManagePagingRequest()
            {
                Keyword   = keyword,
                PageIndex = pageIndex,
                PageSize  = pageSize
            };
            var data = await _lopBienCheApiClient.GetAllPaging(request);

            ViewBag.Keyword = keyword;

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

            return(View(data));
        }
        public async Task <PagedResult <LopBienCheViewModel> > GetAllPaging(LopBienCheManagePagingRequest 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/lopbienches/paging?pageIndex={request.PageIndex}" +
                $"&pageSize={request.PageSize}" +
                $"&keyword={request.Keyword}"
                );

            var body = await response.Content.ReadAsStringAsync();

            var lopBienChe = JsonConvert.DeserializeObject <PagedResult <LopBienCheViewModel> >(body);

            return(lopBienChe);
        }
Beispiel #6
0
        public async Task <IActionResult> GetAllPaging([FromQuery] LopBienCheManagePagingRequest request)
        {
            var lopBienChe = await _lopBienCheService.GetAllPaging(request);

            return(Ok(lopBienChe));
        }