Пример #1
0
        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));
        }
Пример #2
0
        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;
            }));
        }