/// <summary> /// Add or Update method /// </summary> /// <param name="rsSettings"></param> public void Update(RSSettings rsSettings) { if (rsSettings == null) { throw new ArgumentNullException(nameof(rsSettings)); } var entity = RSSettingsQuery .FirstOrDefault(x => x.Id == rsSettings.Id); if (entity == null) { _ = _dbContext.Add( _mapper.Map <RSSettingsEntity>(rsSettings, opts => opts.UseEntityCache(_salesAreaByNameCache)), post => post.MapTo( rsSettings, opts => opts.UseEntityCache(_salesAreaByIdCache)), _mapper); } else { _ = _mapper.Map(rsSettings, entity, opts => opts.UseEntityCache(_salesAreaByNameCache)); _ = _dbContext.Update(entity, post => post.MapTo(rsSettings, opts => opts.UseEntityCache(_salesAreaByIdCache)), _mapper); } }
public IEnumerable <RSSettings> FindBySalesAreas(IEnumerable <string> salesAreas) => _mapper.Map <List <RSSettings> >( RSSettingsQuery .Include(x => x.SalesArea) .Where(x => salesAreas.Contains(x.SalesArea.Name)).AsNoTracking(), opts => opts.UseEntityCache(_salesAreaByIdCache));
public List <RSSettings> GetAll() => _mapper.Map <List <RSSettings> >( RSSettingsQuery.AsNoTracking(), opts => opts.UseEntityCache(_salesAreaByIdCache));
public RSSettings Find(string salesArea) => _mapper.Map <RSSettings>( RSSettingsQuery .Include(x => x.SalesArea) .FirstOrDefault(x => x.SalesArea.Name == salesArea), opts => opts.UseEntityCache(_salesAreaByIdCache));