public void Update(Query updatedQuery)
        {
            var dto = _mapper.Map <Query, QueryDTO>(updatedQuery);

            using (var context = new AdvertExplorerContext())
            {
                context.Queries.Update(dto);
                context.SaveChanges();
            }
        }
Example #2
0
 public IReadOnlyCollection <Resume> GetBy(Query query)
 {
     using (var context = new AdvertExplorerContext())
     {
         return(context.Resumes
                .Where(x =>
                       x.City == query.Region &&
                       (query.Experience == null || x.Experience == query.Experience) &&
                       (query.Rubric == null || x.Rubrics.Contains(((int)query.Rubric).ToString())) &&
                       (query.AgeMax == null || x.Age < query.AgeMax) &&
                       (query.AgeMin == null || x.Age > query.AgeMin) &&
                       (query.AgeMin == null || x.Age > query.AgeMin) &&
                       (query.SearchString == null ||
                        (x.JobTitle.Contains(query.SearchString) ||
                         x.Name.Contains(query.SearchString) ||
                         x.Id.ToString().Contains(query.SearchString))))
                .Select(x => _mapper.Map <ResumeDTO, Resume>(x))
                .ToArray());
     }
 }
Example #3
0
        public void SaveOrUpdateRange(IReadOnlyCollection <Resume> resumes)
        {
            using (var context = new AdvertExplorerContext())
            {
                foreach (var resumeDto in resumes.Select(_mapper.Map <Resume, ResumeDTO>))
                {
                    var oldResume = context.Resumes
                                    .AsNoTracking()
                                    .FirstOrDefault(x => x.Id == resumeDto.Id);

                    if (oldResume == null)
                    {
                        context.Resumes.Add(resumeDto);
                    }
                    else
                    {
                        context.Entry(oldResume).Context.Update(resumeDto);
                    }
                }

                context.SaveChanges();
            }
        }
        public Query FindBy(Region region,
                            Rubric?rubric,
                            Experience?experience,
                            uint?salary,
                            uint?maxAge,
                            uint?minAge,
                            string seachString)
        {
            using (var context = new AdvertExplorerContext())
            {
                var dto = context.Queries.FirstOrDefault(x =>
                                                         x.Region == region &&
                                                         x.Rubric == rubric &&
                                                         x.Experience == experience &&
                                                         x.Salary == salary &&
                                                         x.AgeMax == maxAge &&
                                                         x.AgeMin == minAge &&
                                                         x.SearchString == seachString);

                return(dto != null
                                        ? _mapper.Map <QueryDTO, Query>(dto)
                                        : null);
            }
        }