Exemplo n.º 1
0
        public JsonResult GetLeaveList(int?pageNo, int?pageSize, string isSearching, LeaveSearchOptions Options)
        {
            bool IsSearching             = Convert.ToBoolean(isSearching);
            LeaveListPageModal pagedList = leaveManagement.GetLeavePageList(pageNo, pageSize, IsSearching, Options);

            return(Json(pagedList, JsonRequestBehavior.AllowGet));
        }
Exemplo n.º 2
0
        public LeaveListPageModal GetLeavePageList(int?pageNo, int?pageSize, bool isSearching, LeaveSearchOptions Options)
        {
            LeaveListPageModal Page = new LeaveListPageModal();
            var LeaveRepository     = NCSSEntities.LEAVEs.ToList();

            if (isSearching == true)
            {
                LeaveRepository = ApplySearchOption(LeaveRepository, Options);
            }

            List <LeaveListItem> listLeave = new List <LeaveListItem>();

            LeaveRepository.ForEach(p => listLeave.Add(
                                        new LeaveListItem
            {
                Id        = p.LeaveId.ToString(),
                DateFrom  = p.DateFrom.ToString(),
                DateTo    = p.DateTo.ToString(),
                DaysOff   = p.DaysOff ?? 0,
                Reason    = p.Reason,
                LeaveType = p.LEAVETYPE.LeaveName,
                Status    = p.LEAVESTATU.LeaveStatusName,
                SubmitBy  = p.LEAVEMODIFies.Where(u => u.Action == ACTION_TYPE.Submit).FirstOrDefault().USER.FullName
            }
                                        ));

            int pageTakeSize = pageSize ?? 10;
            int pageCount    = (LeaveRepository.Count() % pageTakeSize == 0) ? LeaveRepository.Count() / pageTakeSize : (LeaveRepository.Count() / pageTakeSize + 1);
            int pageNumber   = pageNo ?? 1;

            pageNumber = pageNumber <= pageCount ? pageNumber : pageCount;
            pageNumber = pageNo <= 0 ? 1 : pageNumber;

            int skipItem = (pageNumber - 1) * pageTakeSize;

            Page.LeaveList = listLeave.OrderBy(p => p.Id).Skip(skipItem).Take(pageTakeSize).ToList();

            Page.CurrentPage = pageNumber;
            Page.PageCount   = pageCount;
            Page.PageSize    = pageTakeSize;
            Page.TotalCount  = LeaveRepository.Count();

            return(Page);
        }