Beispiel #1
0
        public List <RecruitmentSkillDTO> GetSkillGroupByRequestId(long requestId)
        {
            List <RecruitmentSkillDTO> result = new List <RecruitmentSkillDTO>();

            var request = recruitmentRequestRepository.GetById(requestId);

            if (request != null)
            {
                string skillGroups = null;
                if (request.TemplateId != null)
                {
                    var template = recruitmentRequestRepository.GetById(request.TemplateId);
                    if (template == null)
                    {
                        return(result);
                    }
                    skillGroups = template.SkillGroups;
                }
                else
                {
                    if (request.SkillGroups == null)
                    {
                        return(result);
                    }
                    skillGroups = request.SkillGroups;
                }

                IEnumerable <long> groupSkillIds = skillGroups.ToListNumber <long>(',');
                foreach (var item in groupSkillIds)
                {
                    //nhóm kỹ năng
                    var groupSkill = this.GetDataById(item);
                    if (groupSkill != null)
                    {
                        groupSkill.GroupSkillDetails = new List <RecruitmentSkillDetailDTO>();
                        if (!string.IsNullOrEmpty(groupSkill.Skills))
                        {
                            //các kỹ năng thuộc nhóm kỹ năng
                            var skillDetailIds = groupSkill.Skills.ToListNumber <long>(',');
                            foreach (var skillDetailId in skillDetailIds)
                            {
                                var dbSkillDetail = recruitmentSkillDetailRepository.GetById(skillDetailId);
                                if (dbSkillDetail != null)
                                {
                                    var dtoSkillDetail = mapper.Map <RecruitmentSkillDetail, RecruitmentSkillDetailDTO>(dbSkillDetail);
                                    //lấy danh sách danh mục có trong database
                                    if (dtoSkillDetail.DataType == DataTypeConstant.CATEGORY)
                                    {
                                        dtoSkillDetail.GroupCategoryData = dataCategoryRepository.FindBy(x => x.GroupId == dtoSkillDetail.CategoryId).ToList();
                                    }
                                    groupSkill.GroupSkillDetails.Add(dtoSkillDetail);
                                }
                            }
                        }
                        result.Add(groupSkill);
                    }
                }
            }
            return(result);
        }
 /// <summary>
 /// Lưu yêu cầu tuyển dụng của đợt tuyển dụng
 /// </summary>
 /// <param name="dsYeuCauId"></param>
 /// <param name="dotTuyenDungId"></param>
 /// <returns></returns>
 public bool SaveYeuCauOfDotTuyenDung(List <int> dsYeuCauId, int dotTuyenDungId)
 {
     try
     {
         var lstYeuCau = _YeuCauVaDotTuyenDungRepository.GetAllAsQueryable().Where(x => x.IdDotTuyenDung == dotTuyenDungId).ToList();
         var diff      = CompareListDataSave.GetDifferent <int>(dsYeuCauId, lstYeuCau.Select(x => x.IdYeuCauTuyenDung).ToList());
         //Thêm mới
         if (diff.Item1 != null && diff.Item1.Any())
         {
             foreach (var newData in diff.Item1)
             {
                 var yeucau = _RecruitmentRequestRepository.GetById(newData);
                 if (yeucau != null)
                 {
                     var objYeuCauDotTuyenDung = new TD_YeuCauVaDotTuyenDung()
                     {
                         IdDotTuyenDung    = dotTuyenDungId,
                         IdYeuCauTuyenDung = newData
                     };
                     _YeuCauVaDotTuyenDungRepository.Add(objYeuCauDotTuyenDung);
                     yeucau.Status = YeuCauTuyenDungTrangThaiConst.DangTuyen;
                     _RecruitmentRequestRepository.Edit(yeucau);
                 }
             }
         }
         //Xoa yeu cau cu
         if (diff.Item2 != null && diff.Item2.Any())
         {
             foreach (var oldData in diff.Item2)
             {
                 var yeucau = _RecruitmentRequestRepository.GetById(oldData);
                 if (yeucau != null)
                 {
                     var objYeuCauDotTuyenDung = lstYeuCau.Where(x => x.IdYeuCauTuyenDung == oldData).ToList();
                     if (objYeuCauDotTuyenDung != null)
                     {
                         _YeuCauVaDotTuyenDungRepository.DeleteRange(objYeuCauDotTuyenDung);
                     }
                     yeucau.Status = YeuCauTuyenDungTrangThaiConst.MoiTao;
                     _RecruitmentRequestRepository.Edit(yeucau);
                 }
             }
         }
         _unitOfWork.Commit();
         return(true);
     }
     catch (Exception ex)
     {
         _iLog.Error("Lỗi khi lưu yêu cầu tuyển dụng cho đợt tuyển dụng", ex);
         return(false);
     }
 }
Beispiel #3
0
        public void Can_Get_Info_RecruitmentRequest()
        {
            //arrange
            int id = 2;

            context = new QLNSContext();
            recruitmentRequestRepository     = new RecruitmentRequestRepository(context);
            recruitmentSkillDetailRepository = new RecruitmentSkillDetailRepository(context);
            recruitmentSkillRepository       = new RecruitmentSkillRepository(context);
            dataCategoryRepository           = new DM_DulieuDanhmucRepository(context);
            //act
            List <RecruitmentSkillDTO> result = new List <RecruitmentSkillDTO>();

            var request = recruitmentRequestRepository.GetById(id);

            if (request != null && !string.IsNullOrEmpty(request.SkillGroups))
            {
                IEnumerable <long> groupSkillIds = request.SkillGroups.ToListNumber <long>(',');
                foreach (var item in groupSkillIds)
                {
                    //nhóm kỹ năng
                    var groupSkill = recruitmentSkillRepository.GetById(item);

                    var groupSkillDTO = new RecruitmentSkillDTO()
                    {
                        Id     = groupSkill.Id,
                        Title  = groupSkill.Title,
                        Skills = groupSkill.Skills
                    };

                    if (groupSkill != null)
                    {
                        groupSkillDTO.GroupSkillDetails = new List <RecruitmentSkillDetailDTO>();
                        if (!string.IsNullOrEmpty(groupSkill.Skills))
                        {
                            //các kỹ năng thuộc nhóm kỹ năng
                            var skillDetailIds = groupSkill.Skills.ToListNumber <long>(',');
                            foreach (var skillDetailId in skillDetailIds)
                            {
                                var dbSkillDetail = recruitmentSkillDetailRepository.GetById(skillDetailId);
                                if (dbSkillDetail != null)
                                {
                                    var dtoSkillDetail = new RecruitmentSkillDetailDTO()
                                    {
                                        Id             = dbSkillDetail.Id,
                                        Name           = dbSkillDetail.Name,
                                        DataType       = dbSkillDetail.DataType,
                                        CategoryId     = dbSkillDetail.CategoryId,
                                        AbsoluteNumber = dbSkillDetail.AbsoluteNumber,
                                    };
                                    //lấy danh sách danh mục có trong database
                                    if (dtoSkillDetail.DataType == DataTypeConstant.CATEGORY)
                                    {
                                        dtoSkillDetail.GroupCategoryData = dataCategoryRepository.FindBy(x => x.GroupId == dtoSkillDetail.CategoryId).ToList();
                                    }
                                    groupSkillDTO.GroupSkillDetails.Add(dtoSkillDetail);
                                }
                            }
                        }
                        result.Add(groupSkillDTO);
                    }
                }
            }

            //assert
            Assert.IsNotNull(result);
        }