public ITag FindByName(string name) #endif { Check.Argument.IsNotEmpty(name, "name"); return((DataContext != null) ? FindByNameQuery.Invoke(DataContext, name) : Database.TagDataSource.FirstOrDefault(t => t.Name == name)); }
protected override TDto OnHandle(FindByNameQuery <TDto, TEntity> query) { var cacheIndex = CacheKey.NewIndex <TDto, string>(nameof(query.Name), query.Name); return(_cacheService.Get(cacheIndex, () => { TDto result; using (var uow = _uowFactory.CreateReadOnly()) { var name = query.Name; var entity = uow.Context.Query <TEntity>().SingleOrDefault(s => s.Name == name); result = _entityMapperFactory.Create <TDto, TEntity>().Map(entity); uow.Complete(); } return result; })); }