예제 #1
0
        public async Task <IActionResult> GetAllWithPaging([FromQuery] GetQLNghiPhepPagingRequest request)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            var result = await _qLNghiPhepServices.GetAllWithPaging(request);

            if (result.ResultObj != null)
            {
                return(Ok(result));
            }
            return(BadRequest(result));
        }
예제 #2
0
        public async Task <IActionResult> Index(string keyword, int pageIndex = 1, int pageSize = 5)
        {
            var pagingRequest = new GetQLNghiPhepPagingRequest()
            {
                keyword   = keyword,
                pageIndex = pageIndex,
                pageSize  = pageSize
            };
            var result = await _qLNghiPhepApiClient.GetAllWithPaging(pagingRequest);

            if (result.IsSuccessed)
            {
                if (TempData["result"] != null)
                {
                    ViewBag.Success        = true;
                    ViewBag.SuccessMessage = TempData["result"];
                }
                return(View(result.ResultObj));
            }
            return(View(result));
        }
예제 #3
0
        public async Task <APIResult <PageResult <QLNghiPhepViewModel> > > GetAllWithPaging(GetQLNghiPhepPagingRequest request)
        {
            var client = _httpClientFactory.CreateClient();

            client.BaseAddress = new Uri(_configuration["BaseAddress"]);
            var session = _httpContextAccessor.HttpContext.Session.GetString("Token");

            client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", session);
            var resonse = await client.GetAsync($"/api/QLNghiPheps/paging?pageIndex={request.pageIndex}&pageSize={request.pageSize}&keyword={request.keyword}");

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

            if (resonse.IsSuccessStatusCode)
            {
                return(JsonConvert.DeserializeObject <APISuccessedResult <PageResult <QLNghiPhepViewModel> > >(body));
            }
            return(JsonConvert.DeserializeObject <APIErrorResult <PageResult <QLNghiPhepViewModel> > >(body));
        }
예제 #4
0
        public async Task <APIResult <PageResult <QLNghiPhepViewModel> > > GetAllWithPaging(GetQLNghiPhepPagingRequest request)
        {
            var query = from qlnp in _context.QLNghiPheps
                        join sq in _context.SiQuans
                        on qlnp.IDSQ equals sq.IDSQ
                        select new QLNghiPhepViewModel()
            {
                IDNP          = qlnp.IDNP,
                IDSQ          = qlnp.IDSQ,
                HoTen         = sq.HoTen,
                ThoiGianBDNP  = qlnp.ThoiGianBDNP,
                ThoiGianKTNP  = qlnp.ThoiGianKTNP,
                NghiPhepState = qlnp.NghiPhepState
            };

            if (!string.IsNullOrEmpty(request.keyword))
            {
                query = query.Where(x => x.IDSQ.ToString().Contains(request.keyword) || x.HoTen.Contains(request.keyword));
            }
            var totalRow = await query.CountAsync();

            var data = await query.Skip((request.pageIndex - 1) *request.pageSize)
                       .Take(request.pageSize)
                       .Select(x => new QLNghiPhepViewModel()
            {
                IDNP          = x.IDNP,
                IDSQ          = x.IDSQ,
                HoTen         = x.HoTen,
                ThoiGianBDNP  = x.ThoiGianBDNP,
                ThoiGianKTNP  = x.ThoiGianKTNP,
                NghiPhepState = x.NghiPhepState
            }).ToListAsync();

            var pageResult = new PageResult <QLNghiPhepViewModel>()
            {
                TotalRecord = totalRow,
                PageIndex   = request.pageIndex,
                PageSize    = request.pageSize,
                Items       = data
            };

            return(new APISuccessedResult <PageResult <QLNghiPhepViewModel> >(pageResult));
        }