Example #1
0
    public HttpResponseMessage SearchByKeyword([FromUri] JobPostingSearchRequest searchRequest)
    {
        ItemsResponse <JobPosting> response = new ItemsResponse <JobPosting>();

        response.Items = _jobPostingService.SearchByKeyword(searchRequest);
        return(Request.CreateResponse(HttpStatusCode.OK, response));
    }
Example #2
0
        public List <JobPosting> SearchByKeyword(JobPostingSearchRequest searchRequest)
        {
            List <JobPosting> list = null;

            DataProvider.ExecuteCmd(GetConnection, "dbo.JobPosting_SearchByKeyword",
                                    inputParamMapper : delegate(SqlParameterCollection paramCollection)
            {
                paramCollection.AddWithValue("@SearchString", searchRequest.SearchString ?? String.Empty);
                paramCollection.AddWithValue("@CurrentPage", searchRequest.CurrentPage);
                paramCollection.AddWithValue("@ItemsPerPage", searchRequest.ItemsPerPage);
                paramCollection.AddWithValue("@Distance", searchRequest.Distance);
                paramCollection.AddWithValue("@Compensation", searchRequest.Compensation);
                paramCollection.AddWithValue("@FullPartId", searchRequest.FullPartId);
                paramCollection.AddWithValue("@ContractPermanentId", searchRequest.ContractPermanentId);
                paramCollection.AddWithValue("@ExperienceLevelId", searchRequest.ExperienceLevelId);
                paramCollection.AddWithValue("@Latitude", searchRequest.Latitude);
                paramCollection.AddWithValue("@Longitude", searchRequest.Longitude);
                paramCollection.AddWithValue("@IsDeploy", searchRequest.IsDeploy);

                DataTable JobTagIdArray = new DataTable();
                JobTagIdArray.Columns.Add("JobTagId", typeof(Int32));
                if (searchRequest.JobTagIds != null)
                {
                    for (int i = 0; i < searchRequest.JobTagIds.Count; i++)
                    {
                        JobTagIdArray.Rows.Add(searchRequest.JobTagIds[i]);
                    }
                }
                SqlParameter JobTagIdTable  = new SqlParameter();
                JobTagIdTable.ParameterName = "@JobTagIds";
                JobTagIdTable.SqlDbType     = System.Data.SqlDbType.Structured;
                JobTagIdTable.Value         = JobTagIdArray;
                paramCollection.Add(JobTagIdTable);
            },
                                    map : delegate(IDataReader reader, short set)
            {
                switch (set)
                {
                case 0:
                    JobPosting jobPosting = MapJobPosting(reader);
                    if (list == null)
                    {
                        list = new List <JobPosting>();
                    }
                    list.Add(jobPosting);
                    break;

                case 1:
                    int jobPostingId = 0;
                    JobTag jobTag    = MapJobTagList(reader, out jobPostingId);
                    JobPosting jp    = list.Find(item => item.Id == jobPostingId);
                    if (jp.JobTags == null)
                    {
                        jp.JobTags = new List <JobTag>();
                    }
                    jp.JobTags.Add(jobTag);
                    break;
                }
            }
                                    );
            return(list);
        }