コード例 #1
0
        private Guid CreateResumeSearch(string type, ICollection <KeyValuePair <string, string> > criteria)
        {
            var id = Guid.NewGuid();

            using (var dc = new MembersDataContext(_connectionFactory.CreateConnection()))
            {
                var entity = new ResumeSearchEntity
                {
                    id        = id,
                    startTime = DateTime.Now,
                    ResumeSearchCriteriaSetEntity = new ResumeSearchCriteriaSetEntity
                    {
                        id   = Guid.NewGuid(),
                        type = type,
                        ResumeSearchCriteriaEntities = CreateResumeSearchCriteria(criteria),
                    },
                    ResumeSearchResultSetEntity = new ResumeSearchResultSetEntity
                    {
                        id    = Guid.NewGuid(),
                        count = 0
                    },
                };

                dc.ResumeSearchEntities.InsertOnSubmit(entity);
                dc.SubmitChanges();
            }

            return(id);
        }
コード例 #2
0
 public List <SearchReturnEntity> SearchResumeBaseFunction(ResumeSearchEntity entity)
 {
     try
     {
         var candidateName = string.IsNullOrWhiteSpace(entity.CandidateName) ? "" : entity.CandidateName;
         var list          = resumeDb.GetResumeByEasySearchConditional(entity.ExtId, candidateName);
         return(RecombineResumeEntity(list, entity));
     }
     catch (Exception e)
     {
         return(new List <SearchReturnEntity>());
     }
 }
コード例 #3
0
 public static MemberSearchExecution Map(this ResumeSearchEntity entity, ICriteriaPersister criteriaPersister)
 {
     return(new MemberSearchExecution
     {
         Id = entity.id,
         Context = entity.context,
         StartTime = entity.startTime,
         Duration = entity.duration == null ? (TimeSpan?)null : new TimeSpan(entity.duration.Value),
         SearcherId = entity.searcherId,
         SearchId = entity.savedSearchId,
         Criteria = entity.ResumeSearchCriteriaSetEntity.MapTo <ResumeSearchCriteriaSetEntity, ResumeSearchCriteriaEntity, MemberSearchCriteria>(criteriaPersister, true),
         Results = entity.ResumeSearchResultSetEntity.Map(),
     });
 }
コード例 #4
0
        public string HubbleSearchers([FromBody] SearchModel searchData)
        {
            var errorModel = new ErrorModel();

            try
            {
                var resumeEntity = new ResumeSearchEntity();
                resumeEntity.Birth         = searchData.birthday;
                resumeEntity.CandidateName = searchData.name;
                resumeEntity.Cities        = searchData.cities;
                resumeEntity.Company       = searchData.company;
                resumeEntity.Email         = searchData.email;
                resumeEntity.EmployeeNo    = searchData.employeeNo;
                resumeEntity.ExtId         = searchData.identity;
                resumeEntity.ExtraDatas    = new ExtraDatas();
                if (searchData.extraDatas != null)
                {
                    resumeEntity.ExtraDatas.HidResumeId  = searchData.extraDatas.resumeId;
                    resumeEntity.ExtraDatas.ResumeUserId = searchData.extraDatas.resumeUserId;
                    resumeEntity.ExtraDatas.UserName     = searchData.extraDatas.userName;
                }
                resumeEntity.GraduateYear = searchData.graduateYear;
                resumeEntity.Mobile       = searchData.mobile;
                resumeEntity.MobileLast   = searchData.mobileLast;
                resumeEntity.Registry     = searchData.registry;
                resumeEntity.School       = searchData.school;
                resumeEntity.SearchType   = (string.IsNullOrWhiteSpace(searchData.mobile) &&
                                             string.IsNullOrWhiteSpace(searchData.email))
                    ? 0
                    : 1;
                resumeEntity.Sex         = searchData.sex;
                resumeEntity.SiteCode    = searchData.siteCode;
                resumeEntity.UserIp      = "";
                resumeEntity.UserBrowser = searchData.p_browser + " " + searchData.p_version;
                resumeEntity.token       = searchData.token;
                var returnContent = new ResumeManage().ResumeSearch(resumeEntity);
                return(JsonPageResult(returnContent));
            }
            catch (Exception e)
            {
                errorModel.Flag   = 4;
                errorModel.Info   = "接口异常!请联系管理员!";
                errorModel.Result = "";
                return(JsonPageResult(Newtonsoft.Json.JsonConvert.SerializeObject(errorModel)));
            }
        }
コード例 #5
0
 public List <SearchReturnEntity> RecombineResumeEntity(List <ResumeModel> list, ResumeSearchEntity searchEntity)
 {
     try
     {
         var resultList = new List <SearchReturnEntity>();
         foreach (var item in list)
         {
             var    resultEntity = new SearchReturnEntity();
             string workExpId    = string.Empty;
             resultEntity.Plan           = "C";
             resultEntity.TaskId         = 0;//searchId;
             resultEntity.SEmployeeNo    = searchEntity.EmployeeNo;
             resultEntity.SSource        = (searchEntity.SearchType == 0 || searchEntity.SearchType == 1) ? "newplugin" : "browser";
             resultEntity.RResumeId      = item.resume_id;
             resultEntity.SCandidateName = searchEntity.CandidateName;
             resultEntity.SUserName      = searchEntity.ExtraDatas.UserName;
             resultEntity.RCandidateName = item.name;
             resultEntity.SEmail         = searchEntity.Email;
             resultEntity.REmail         = item.email;
             resultEntity.SMobile        = searchEntity.Mobile;
             resultEntity.RMobile        = item.phone;
             resultEntity.SMobileLast    = searchEntity.MobileLast;
             resultEntity.SExtId         = searchEntity.ExtId;
             resultEntity.SHidResumeId   = searchEntity.ExtraDatas.HidResumeId;
             resultEntity.SResumeUserId  = searchEntity.ExtraDatas.ResumeUserId;
             resultEntity.RSynResumeId   = item.resume_orginalId;
             resultEntity.SSex           = searchEntity.Sex;
             resultEntity.RSex           = item.gender;
             resultEntity.SBirth         = searchEntity.Birth;
             //resultEntity.RBirthNum = item.birth.ToString();
             resultEntity.SGraduateYear = searchEntity.GraduateYear;
             resultEntity.RGraduateYear = item.graduate_date;
             resultEntity.SSchool       = searchEntity.School;
             resultEntity.RSchool       = item.school;
             workExpId = Convert.IsDBNull(item.work_experience) ? "0" : item.work_experience.ToString();
             if (workExpId != "0")
             {
                 resultEntity.RWorkExp = item.work_experience;//((ResumeWorkExp)Convert.ToInt32(workExpId)).ToString();
             }
             resultEntity.RHightestDegree     = item.degree;
             resultEntity.SLabelContent       = searchEntity.Company.Replace("$", " ");
             resultEntity.RLabelContent       = item.corporation_name_str.TrimEnd(',');
             resultEntity.RLabelDetailContent = item.corporation_name_str.TrimEnd(',');
             //是否可以更新
             resultEntity.CanUpdate = false; //Convert.ToDateTime(item.last_updated_time).CompareTo(DateTime.Now.AddDays(-14)) == -1;
             resultEntity.Status    = "1";   //((ResumeStatus)Convert.ToInt32(dt.Rows[i]["ResumeStatus"])).ToString();
             resultList.Add(resultEntity);
         }
         return(resultList);
     }
     catch (Exception)
     {
         return(new List <SearchReturnEntity>());
     }
 }
コード例 #6
0
        public string ResumeSearch(ResumeSearchEntity entity)
        {
            var reponseJson  = string.Empty;
            var jsSerializer = new JavaScriptSerializer();

            try
            {
                entity.EmployeeNo = string.IsNullOrEmpty(entity.EmployeeNo) ? "" : entity.EmployeeNo.Trim();
                if (string.IsNullOrEmpty(entity.EmployeeNo))
                {
                    return(jsSerializer.Serialize(new { Falg = 1, Info = "请登录", Result = "[]" }));
                }

                var company = companyDb.GetCompanyById(new TokenManage().GetCompanyId(entity.token));
                if (company == null)
                {
                    reponseJson = jsSerializer.Serialize(new { Flag = 4, Info = "公司不存在", Result = "[]" });
                    return(reponseJson);
                }

                resumeDb = new ResumeDb(new ApplicationCommon().GetUserDBConnection(company));
                userDb   = new UserDb(new ApplicationCommon().GetUserDBConnection(company));

                var user = userDb.GetUserByUsername(new TokenManage().GetUserName(entity.token));
                if (user == null)
                {
                    reponseJson = jsSerializer.Serialize(new { Flag = 4, Info = "该账号不存在", Result = "[]" });
                    return(reponseJson);
                }


                entity.Birth                   = string.IsNullOrEmpty(entity.Birth) ? "" : entity.Birth.Trim();
                entity.Sex                     = string.IsNullOrEmpty(entity.Sex) ? "" : entity.Sex.Trim();
                entity.School                  = string.IsNullOrEmpty(entity.School) ? "" : entity.School.Trim();
                entity.CompanyAll              = entity.Company;
                entity.Company                 = string.IsNullOrEmpty(entity.Company) ? "" : Regex.Replace(entity.Company.Trim(), "有限|责任|公司|分公司|股份|集团|工作室|技术|软件|计算机|信息|科技|网络|系统", "");
                entity.ExtId                   = string.IsNullOrEmpty(entity.ExtId) ? "" : entity.ExtId.Trim();
                entity.SiteCode                = string.IsNullOrEmpty(entity.SiteCode) ? "" : entity.SiteCode.Trim();
                entity.CandidateName           = string.IsNullOrEmpty(entity.CandidateName) ? "" : entity.CandidateName.Trim();
                entity.Email                   = string.IsNullOrEmpty(entity.Email) ? "" : entity.Email.Trim();
                entity.Mobile                  = string.IsNullOrEmpty(entity.Mobile) ? "" : entity.Mobile.Trim();
                entity.MobileLast              = string.IsNullOrEmpty(entity.MobileLast) ? "" : entity.MobileLast.Trim();
                entity.GraduateYear            = string.IsNullOrEmpty(entity.GraduateYear) ? "" : entity.GraduateYear.Trim();
                entity.Cities                  = string.IsNullOrEmpty(entity.Cities) ? "" : entity.Cities.Trim();
                entity.Registry                = string.IsNullOrEmpty(entity.Registry) ? "" : entity.Registry.Trim();
                entity.ExtraDatas.UserName     = string.IsNullOrEmpty(entity.ExtraDatas.UserName) ? "" : entity.ExtraDatas.UserName.Trim();
                entity.ExtraDatas.HidResumeId  = string.IsNullOrEmpty(entity.ExtraDatas.HidResumeId) ? "" : entity.ExtraDatas.HidResumeId.Trim();
                entity.ExtraDatas.ResumeUserId = string.IsNullOrEmpty(entity.ExtraDatas.ResumeUserId) ? "" : entity.ExtraDatas.ResumeUserId.Trim();
                SiteEnum site = (SiteEnum)Convert.ToInt32(entity.SiteCode);

                List <SearchReturnEntity> returnResult = SearchResumeBaseFunction(entity);
                if (returnResult.Count == 0)
                {
                    reponseJson = jsSerializer.Serialize(new { Flag = (entity.SearchType == 0 ? 0 : 2), Info = string.Empty, Result = "[]" });
                    return(reponseJson);
                }
                if (entity.SearchType == 0)
                {
                    returnResult.ForEach(r => r.CanUpdate = false);
                }
                //var result = returnResult.Where(p => p.Score > 0f);
                reponseJson = jsSerializer.Serialize(new { Flag = 0, Info = string.Empty, Result = returnResult });
                return(reponseJson);
            }
            catch (Exception ex)
            {
                reponseJson = jsSerializer.Serialize(new { Flag = 2, Info = ex.Message, Result = "[]" });//搜索异常
                return(reponseJson);
            }
        }