public void Update(Query updatedQuery) { var dto = _mapper.Map <Query, QueryDTO>(updatedQuery); using (var context = new AdvertExplorerContext()) { context.Queries.Update(dto); context.SaveChanges(); } }
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()); } }
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); } }