// GET: RecruitmentRequestArea/RecruitmentRequest
        public ActionResult Index()
        {
            var searchModel = new RecruitmentRequestSearchDTO();

            SessionManager.SetValue("RecruitmentRequestSearch", new RecruitmentRequestSearchDTO());
            RecruitmentRequestIndexViewModel viewModel = new RecruitmentRequestIndexViewModel()
            {
                GroupDepartments = departmentService.GetDropdown("Name", "Id"),
                GroupData        = recruitmentRequestService.GetDataByPage(searchModel),
                GroupPositions   = categoryGroupService.GetDataByCode(NHOM_DANHMUC_CONSTANT.VITRI)
            };

            return(View(viewModel));
        }
Esempio n. 2
0
        // GET: RecruitmentRequestArea/TemplateRecruitmentRequest
        public ActionResult Index()
        {
            var searchModel = new RecruitmentRequestSearchDTO()
            {
                QueryTemplate = true
            };

            SessionManager.SetValue("TemplateRecruitmentRequestSearch", searchModel);
            TemplateRecruitmentRequestIndexViewModel viewModel = new TemplateRecruitmentRequestIndexViewModel()
            {
                GroupData = recruitmentRequestService.GetDataByPage(searchModel),
            };

            return(View(viewModel));
        }
Esempio n. 3
0
        public JsonResult SearchData(FormCollection form)
        {
            var searchModel = SessionManager.GetValue("TemplateRecruitmentRequestSearch") as RecruitmentRequestSearchDTO;

            if (searchModel == null)
            {
                searchModel          = new RecruitmentRequestSearchDTO();
                searchModel.pageSize = 20;
            }
            searchModel.QueryTitle    = form["QueryTitle"];
            searchModel.QueryTemplate = true;
            SessionManager.SetValue("TemplateRecruitmentRequestSearch", searchModel);
            var data = recruitmentRequestService.GetDataByPage(searchModel);

            return(Json(data));
        }
        public JsonResult GetData(int indexPage, string sortQuery, int pageSize)
        {
            var searchModel = SessionManager.GetValue("RecruitmentRequestSearch") as RecruitmentRequestSearchDTO;

            if (searchModel == null)
            {
                searchModel = new RecruitmentRequestSearchDTO();
            }
            if (!string.IsNullOrEmpty(sortQuery))
            {
                searchModel.sortQuery = sortQuery;
            }
            if (pageSize > 0)
            {
                searchModel.pageSize = pageSize;
            }
            SessionManager.SetValue("RecruitmentRequestSearch", searchModel);
            var data = recruitmentRequestService.GetDataByPage(searchModel);

            return(Json(data));
        }
        public JsonResult SearchData(FormCollection form)
        {
            var searchModel = SessionManager.GetValue("RecruitmentRequestSearch") as RecruitmentRequestSearchDTO;

            if (searchModel == null)
            {
                searchModel          = new RecruitmentRequestSearchDTO();
                searchModel.pageSize = 20;
            }
            searchModel.QueryDepartmentId  = form["QueryDepartmentId"].ToNullableNumber <int>();
            searchModel.QueryUntilDateFrom = form["QueryUntilDateFrom"];
            searchModel.QueryUntileDateTo  = form["QueryUntileDateTo"];
            searchModel.QueryPositions     = form["QueryPositions"];
            searchModel.QueryStatus        = form["QueryStatus"];
            searchModel.QueryQuantityFrom  = form["QueryQuantityFrom"].ToNullableNumber <int>();
            searchModel.QueryQuantityTo    = form["QueryQuantityTo"].ToNullableNumber <int>();
            SessionManager.SetValue("RecruitmentRequestSearch", searchModel);
            var data = recruitmentRequestService.GetDataByPage(searchModel);

            return(Json(data));
        }
Esempio n. 6
0
        public PageListResultBO <RecruitmentRequestDTO> GetDataByPage(RecruitmentRequestSearchDTO searchParams, int pageIndex = 1, int pageSize = 20)
        {
            var queryResult = (from request in this.recruitmentRequestRepository.GetAllAsQueryable()
                               join category in this.categoryDataRepository.GetAllAsQueryable()
                               on request.PositionId equals category.Id
                               into groupRequestPosition
                               from g1 in groupRequestPosition.DefaultIfEmpty()

                               join department in this.departmentRepository.GetAllAsQueryable()
                               on request.DepartmentId equals department.Id
                               into groupRequestDepartment
                               from g2 in groupRequestDepartment.DefaultIfEmpty()
                               select new RecruitmentRequestDTO()
            {
                Id = request.Id,
                Title = request.Title,
                DepartmentId = request.DepartmentId,
                PositionId = request.PositionId,
                PositionName = g1.Name,
                DepartmentName = g2.Name,
                EstimateQuantity = request.EstimateQuantity,
                Status = request.Status,
                UntilDate = request.UntilDate,
                IsTemplate = request.IsTemplate,
                SkillGroups = request.SkillGroups
            });

            if (searchParams != null)
            {
                if (!string.IsNullOrEmpty(searchParams.QueryTitle))
                {
                    searchParams.QueryTitle = searchParams.QueryTitle.Trim().ToLower();
                    queryResult             = queryResult.Where(x => x.Title.Trim().ToLower().Contains(searchParams.QueryTitle));
                }
                if (searchParams.QueryDepartmentId != null)
                {
                    queryResult = queryResult.Where(x => x.DepartmentId == searchParams.QueryDepartmentId.Value);
                }

                if (!string.IsNullOrEmpty(searchParams.QueryUntilDateFrom))
                {
                    var queryDate = searchParams.QueryUntilDateFrom.ToStartDay();
                    if (queryDate != null)
                    {
                        queryResult = queryResult.Where(x => x.UntilDate >= queryDate);
                    }
                }

                if (!string.IsNullOrEmpty(searchParams.QueryUntileDateTo))
                {
                    var queryDate = searchParams.QueryUntileDateTo.ToEndDay();
                    if (queryDate != null)
                    {
                        queryResult = queryResult.Where(x => x.UntilDate <= queryDate);
                    }
                }

                if (!string.IsNullOrEmpty(searchParams.QueryPositions))
                {
                    List <int> positionIds = searchParams.QueryPositions.ToListNumber <int>(',').ToList();
                    queryResult = queryResult.Where(x => positionIds.Contains(x.PositionId));
                }

                if (searchParams.QueryStatus != null)
                {
                    queryResult = queryResult.Where(x => x.Status == searchParams.QueryStatus);
                }

                if (searchParams.QueryQuantityFrom != null)
                {
                    queryResult = queryResult.Where(x => x.EstimateQuantity >= searchParams.QueryQuantityFrom);
                }

                if (searchParams.QueryQuantityTo != null)
                {
                    queryResult = queryResult.Where(x => x.EstimateQuantity <= searchParams.QueryQuantityTo);
                }

                if (searchParams.QueryTemplate == true)
                {
                    queryResult = queryResult.Where(x => x.IsTemplate == true);
                }
                else
                {
                    queryResult = queryResult.Where(x => x.IsTemplate != true);
                }
                if (!string.IsNullOrEmpty(searchParams.sortQuery))
                {
                    queryResult = queryResult.OrderBy(searchParams.sortQuery);
                }
                else
                {
                    queryResult = queryResult.OrderBy(x => x.UntilDate)
                                  .ThenByDescending(x => x.Title);
                }
            }
            else
            {
                queryResult = queryResult.OrderBy(x => x.UntilDate)
                              .ThenByDescending(x => x.Title);
            }

            var result = new PageListResultBO <RecruitmentRequestDTO>();

            if (pageSize == -1)
            {
                var pagedList = queryResult.ToList();
                result.Count     = pagedList.Count;
                result.TotalPage = 1;
                result.ListItem  = pagedList;
            }
            else
            {
                var dataPageList = queryResult.ToPagedList(pageIndex, pageSize);
                result.Count     = dataPageList.TotalItemCount;
                result.TotalPage = dataPageList.PageCount;
                result.ListItem  = dataPageList.ToList();

                if (result.ListItem.Any())
                {
                    var dataGroupSkills = recruitmentSkillRepository.GetAll();
                    result.ListItem.ForEach(x =>
                    {
                        var ids           = x.SkillGroups.ToListLong(',');
                        x.DataGroupSkills = dataGroupSkills.Where(y => ids.Contains(y.Id));
                    });
                }
            }
            return(result);
        }