Esempio n. 1
0
 public async Task <Result> ValidateAsync(CancellationToken cancellationToken, TEntity entity, ValidationMode mode)
 {
     using (var unitOfWork = UnitOfWorkFactory.CreateReadOnly(UnitOfWorkScopeOption.JoinExisting))
     {
         return(await unitOfWork.ReadOnlyRepository <TContext, TEntity>().ValidateAsync(cancellationToken, entity, mode));
     }
 }
 public async Task <Location> GetLocationAsync(string urlSlug, CancellationToken cancellationToken)
 {
     using (var UoW = UnitOfWorkFactory.CreateReadOnly(UnitOfWorkScopeOption.JoinExisting))
     {
         return(await UoW.ReadOnlyRepository <ApplicationContext, Location>().GetFirstAsync(cancellationToken, t => t.UrlSlug.Equals(urlSlug)).ConfigureAwait(false));
     }
 }
Esempio n. 3
0
 public Result Validate(TEntity entity, ValidationMode mode)
 {
     using (var unitOfWork = UnitOfWorkFactory.CreateReadOnly(UnitOfWorkScopeOption.JoinExisting))
     {
         return(unitOfWork.ReadOnlyRepository <TContext, TEntity>().Validate(entity, mode));
     }
 }
 public async Task <IEnumerable <BlogPost> > GetPostsForCarouselAsync(int pageNo, int pageSize, CancellationToken cancellationToken)
 {
     using (var UoW = UnitOfWorkFactory.CreateReadOnly(UnitOfWorkScopeOption.JoinExisting))
     {
         return(await UoW.ReadOnlyRepository <ApplicationContext, BlogPost>().GetAsync(cancellationToken, p => p.Published && p.ShowInCarousel, o => o.OrderByDescending(p => p.DateCreated), pageNo * pageSize, pageSize));
     }
 }
Esempio n. 5
0
 public async override Task <IEnumerable <Category> > GetAllAsync(CancellationToken cancellationToken, Func <IQueryable <Category>, IOrderedQueryable <Category> > orderBy = null, int?pageNo = null, int?pageSize = null, bool includeAllCompositionRelationshipProperties = false, bool includeAllCompositionAndAggregationRelationshipProperties = false, params Expression <Func <Category, object> >[] includeProperties)
 {
     using (var UoW = UnitOfWorkFactory.CreateReadOnly(UnitOfWorkScopeOption.JoinExisting))
     {
         return(await UoW.ReadOnlyRepository <ApplicationContext, Category>().GetAllAsync(cancellationToken, o => o.OrderBy(c => c.Name)).ConfigureAwait(false));
     }
 }
 public async Task <Author> GetAuthorAsync(string authorSlug, CancellationToken cancellationToken)
 {
     using (var UoW = UnitOfWorkFactory.CreateReadOnly(UnitOfWorkScopeOption.JoinExisting))
     {
         return(await UoW.ReadOnlyRepository <ApplicationContext, Author>().GetFirstAsync(cancellationToken, c => c.UrlSlug.Equals(authorSlug)));
     }
 }
 public async Task <int> GetTotalPostsForCategoryAsync(string categorySlug, CancellationToken cancellationToken)
 {
     using (var UoW = UnitOfWorkFactory.CreateReadOnly(UnitOfWorkScopeOption.JoinExisting))
     {
         return(await UoW.ReadOnlyRepository <ApplicationContext, BlogPost>().GetCountAsync(cancellationToken, p => p.Published && p.Category.UrlSlug.Equals(categorySlug)).ConfigureAwait(false));
     }
 }
 public async Task <IEnumerable <BlogPost> > GetPostsForCategoryAsync(string categorySlug, int pageNo, int pageSize, CancellationToken cancellationToken)
 {
     using (var UoW = UnitOfWorkFactory.CreateReadOnly(UnitOfWorkScopeOption.JoinExisting))
     {
         return(await UoW.ReadOnlyRepository <ApplicationContext, BlogPost>().GetAsync(cancellationToken, p => p.Published && p.Category.UrlSlug.Equals(categorySlug), o => o.OrderByDescending(p => p.DateCreated), pageNo * pageSize, pageSize, false, true).ConfigureAwait(false));
     }
 }
 public async Task <int> GetTotalPostsForSearchAsync(string search, CancellationToken cancellationToken)
 {
     using (var UoW = UnitOfWorkFactory.CreateReadOnly(UnitOfWorkScopeOption.JoinExisting))
     {
         return(await UoW.ReadOnlyRepository <ApplicationContext, BlogPost>().GetCountAsync(cancellationToken, p => p.Published && (p.Title.Contains(search) || p.Category.Name.Equals(search) || p.Author.Name.Equals(search) || p.Tags.Any(t => t.Tag.Name.Equals(search))) || p.Locations.Any(l => l.Location.Name.Equals(search))).ConfigureAwait(false));
     }
 }
Esempio n. 10
0
 public virtual bool Exists(object id)
 {
     using (var unitOfWork = UnitOfWorkFactory.CreateReadOnly())
     {
         return(unitOfWork.ReadOnlyRepository <TContext, TEntity>().ExistsById(id));
     }
 }
 public async Task <BlogPost> GetPostAsync(int year, int month, string titleSlug, CancellationToken cancellationToken)
 {
     using (var UoW = UnitOfWorkFactory.CreateReadOnly(UnitOfWorkScopeOption.JoinExisting))
     {
         return(await UoW.ReadOnlyRepository <ApplicationContext, BlogPost>().GetFirstAsync(cancellationToken, p => p.DateCreated.Year == year && p.DateCreated.Month == month && p.UrlSlug.Equals(titleSlug), null, false, true).ConfigureAwait(false));
     }
 }
Esempio n. 12
0
 public virtual async Task <int> GetByIdWithPagedCollectionPropertyCountAsync(CancellationToken cancellationToken, object id, string collectionExpression, string search = "")
 {
     using (var unitOfWork = UnitOfWorkFactory.CreateReadOnly(UnitOfWorkScopeOption.JoinExisting))
     {
         return(await unitOfWork.ReadOnlyRepository <TContext, TEntity>().GetByIdWithPagedCollectionPropertyCountAsync(cancellationToken, id, collectionExpression, search).ConfigureAwait(false));
     }
 }
Esempio n. 13
0
 public virtual bool Exists(Expression <Func <TEntity, bool> > filter = null)
 {
     using (var unitOfWork = UnitOfWorkFactory.CreateReadOnly())
     {
         return(unitOfWork.ReadOnlyRepository <TContext, TEntity>().ExistsNoTracking(filter));
     }
 }
Esempio n. 14
0
 public virtual int GetByIdWithPagedCollectionPropertyCount(object id, string collectionExpression, string search = "")
 {
     using (var unitOfWork = UnitOfWorkFactory.CreateReadOnly())
     {
         return(unitOfWork.ReadOnlyRepository <TContext, TEntity>().GetByIdWithPagedCollectionPropertyCount(id, collectionExpression, search));
     }
 }
 public async Task <int> GetTotalPostsAsync(bool checkIsPublished, CancellationToken cancellationToken)
 {
     using (var UoW = UnitOfWorkFactory.CreateReadOnly(UnitOfWorkScopeOption.JoinExisting))
     {
         return(await UoW.ReadOnlyRepository <ApplicationContext, BlogPost>().GetCountAsync(cancellationToken, p => !checkIsPublished || p.Published).ConfigureAwait(false));
     }
 }
 public IEnumerable <BlogPost> GetPosts(int pageNo, int pageSize)
 {
     using (var UoW = UnitOfWorkFactory.CreateReadOnly(UnitOfWorkScopeOption.JoinExisting))
     {
         return(UoW.ReadOnlyRepository <ApplicationContext, BlogPost>().Get(p => p.Published, o => o.OrderByDescending(p => p.DateCreated), pageNo * pageSize, pageSize, false, true));
     }
 }
 public async Task <IEnumerable <BlogPost> > GetPostsForSearchAsync(string search, int pageNo, int pageSize, CancellationToken cancellationToken)
 {
     using (var UoW = UnitOfWorkFactory.CreateReadOnly(UnitOfWorkScopeOption.JoinExisting))
     {
         return(await UoW.ReadOnlyRepository <ApplicationContext, BlogPost>().GetAsync(cancellationToken, p => p.Published && (p.Title.Contains(search) || p.Category.Name.Equals(search) || p.Author.Name.Equals(search) || p.Tags.Any(t => t.Tag.Name.Equals(search)) || p.Locations.Any(l => l.Location.Name.Equals(search))), o => o.OrderByDescending(p => p.DateCreated), pageNo * pageSize, pageSize, false, true).ConfigureAwait(false));
     }
 }
Esempio n. 18
0
 public virtual int GetCount(
     Expression <Func <TEntity, bool> > filter = null)
 {
     using (var unitOfWork = UnitOfWorkFactory.CreateReadOnly())
     {
         return(unitOfWork.ReadOnlyRepository <TContext, TEntity>().GetCount(filter));
     }
 }
Esempio n. 19
0
 public virtual async Task <int> GetCountAsync(
     CancellationToken cancellationToken,
     Expression <Func <TEntity, bool> > filter = null)
 {
     using (var unitOfWork = UnitOfWorkFactory.CreateReadOnly(UnitOfWorkScopeOption.JoinExisting))
     {
         return(await unitOfWork.ReadOnlyRepository <TContext, TEntity>().GetCountAsync(cancellationToken, filter).ConfigureAwait(false));
     }
 }
Esempio n. 20
0
 public virtual async Task <bool> ExistsAsync(
     CancellationToken cancellationToken,
     object id
     )
 {
     using (var unitOfWork = UnitOfWorkFactory.CreateReadOnly(UnitOfWorkScopeOption.JoinExisting))
     {
         return(await unitOfWork.ReadOnlyRepository <TContext, TEntity>().ExistsByIdAsync(cancellationToken, id).ConfigureAwait(false));
     }
 }
Esempio n. 21
0
        public virtual TEntity GetById(object id, bool includeAllCompositionRelationshipProperties = false, bool includeAllCompositionAndAggregationRelationshipProperties = false, params Expression <Func <TEntity, Object> >[] includeProperties)
        {
            var includes = includeProperties != null?includeProperties.ToList() : new List <Expression <Func <TEntity, Object> > >();

            AddIncludes(includes);
            includeProperties = includes.ToArray();

            using (var unitOfWork = UnitOfWorkFactory.CreateReadOnly())
            {
                return(unitOfWork.ReadOnlyRepository <TContext, TEntity>().GetById(id, includeAllCompositionRelationshipProperties || IncludeAllCompositionRelationshipProperties, includeAllCompositionAndAggregationRelationshipProperties || IncludeAllCompositionAndAggregationRelationshipProperties, includeProperties));
            }
        }
Esempio n. 22
0
 public virtual TEntity GetByIdWithPagedCollectionProperty(object id,
                                                           string collectionExpression,
                                                           string search  = "",
                                                           string orderBy = null,
                                                           bool ascending = false,
                                                           int?pageNo     = null,
                                                           int?pageSize   = null)
 {
     using (var unitOfWork = UnitOfWorkFactory.CreateReadOnly())
     {
         return(unitOfWork.ReadOnlyRepository <TContext, TEntity>().GetByIdWithPagedCollectionProperty(id, collectionExpression, search, orderBy, ascending, pageNo * pageSize, pageSize));
     }
 }
Esempio n. 23
0
        public virtual async Task <TEntity> GetByIdAsync(object id,
                                                         CancellationToken cancellationToken = default(CancellationToken), bool includeAllCompositionRelationshipProperties = false, bool includeAllCompositionAndAggregationRelationshipProperties = false, params Expression <Func <TEntity, Object> >[] includeProperties)
        {
            var includes = includeProperties != null?includeProperties.ToList() : new List <Expression <Func <TEntity, Object> > >();

            AddIncludes(includes);
            includeProperties = includes.ToArray();

            using (var unitOfWork = UnitOfWorkFactory.CreateReadOnly(UnitOfWorkScopeOption.JoinExisting))
            {
                return(await unitOfWork.ReadOnlyRepository <TContext, TEntity>().GetByIdAsync(cancellationToken, id, includeAllCompositionRelationshipProperties || IncludeAllCompositionRelationshipProperties, includeAllCompositionAndAggregationRelationshipProperties || IncludeAllCompositionAndAggregationRelationshipProperties, includeProperties).ConfigureAwait(false));
            }
        }
Esempio n. 24
0
 public virtual async Task <TEntity> GetByIdWithPagedCollectionPropertyAsync(CancellationToken cancellationToken,
                                                                             object id,
                                                                             string collectionExpression,
                                                                             string search  = "",
                                                                             string orderBy = null,
                                                                             bool ascending = false,
                                                                             int?pageNo     = null,
                                                                             int?pageSize   = null)
 {
     using (var unitOfWork = UnitOfWorkFactory.CreateReadOnly(UnitOfWorkScopeOption.JoinExisting))
     {
         return(await unitOfWork.ReadOnlyRepository <TContext, TEntity>().GetByIdWithPagedCollectionPropertyAsync(cancellationToken, id, collectionExpression, search, orderBy, ascending, pageNo * pageSize, pageSize).ConfigureAwait(false));
     }
 }
Esempio n. 25
0
        public virtual TEntity GetFirst(
            Expression <Func <TEntity, bool> > filter = null,
            Func <IQueryable <TEntity>, IOrderedQueryable <TEntity> > orderBy = null,
            bool includeAllCompositionRelationshipProperties = false,
            bool includeAllCompositionAndAggregationRelationshipProperties = false,
            params Expression <Func <TEntity, Object> >[] includeProperties)
        {
            var includes = includeProperties != null?includeProperties.ToList() : new List <Expression <Func <TEntity, Object> > >();

            AddIncludes(includes);
            includeProperties = includes.ToArray();

            using (var unitOfWork = UnitOfWorkFactory.CreateReadOnly())
            {
                return(unitOfWork.ReadOnlyRepository <TContext, TEntity>().GetFirst(filter, orderBy, includeAllCompositionRelationshipProperties || IncludeAllCompositionRelationshipProperties, includeAllCompositionAndAggregationRelationshipProperties || IncludeAllCompositionAndAggregationRelationshipProperties, includeProperties));
            }
        }
Esempio n. 26
0
        public virtual async Task <TEntity> GetFirstAsync(
            CancellationToken cancellationToken,
            Expression <Func <TEntity, bool> > filter = null,
            Func <IQueryable <TEntity>, IOrderedQueryable <TEntity> > orderBy = null,
            bool includeAllCompositionRelationshipProperties = false,
            bool includeAllCompositionAndAggregationRelationshipProperties = false,
            params Expression <Func <TEntity, Object> >[] includeProperties)
        {
            var includes = includeProperties != null?includeProperties.ToList() : new List <Expression <Func <TEntity, Object> > >();

            AddIncludes(includes);
            includeProperties = includes.ToArray();

            using (var unitOfWork = UnitOfWorkFactory.CreateReadOnly(UnitOfWorkScopeOption.JoinExisting))
            {
                return(await unitOfWork.ReadOnlyRepository <TContext, TEntity>().GetFirstAsync(cancellationToken, filter, orderBy, includeAllCompositionRelationshipProperties || IncludeAllCompositionRelationshipProperties, includeAllCompositionAndAggregationRelationshipProperties || IncludeAllCompositionAndAggregationRelationshipProperties, includeProperties).ConfigureAwait(false));
            }
        }
Esempio n. 27
0
        public virtual IEnumerable <TEntity> GetAll(
            Func <IQueryable <TEntity>, IOrderedQueryable <TEntity> > orderBy = null,
            int?pageNo   = null,
            int?pageSize = null,
            bool includeAllCompositionRelationshipProperties = false,
            bool includeAllCompositionAndAggregationRelationshipProperties = false,
            params Expression <Func <TEntity, Object> >[] includeProperties)
        {
            var includes = includeProperties != null?includeProperties.ToList() : new List <Expression <Func <TEntity, Object> > >();

            AddIncludes(includes);
            includeProperties = includes.ToArray();

            using (var unitOfWork = UnitOfWorkFactory.CreateReadOnly())
            {
                var entityList = unitOfWork.ReadOnlyRepository <TContext, TEntity>().GetAllNoTracking(orderBy, pageNo * pageSize, pageSize, includeAllCompositionRelationshipProperties || IncludeAllCompositionRelationshipProperties, includeAllCompositionAndAggregationRelationshipProperties || IncludeAllCompositionAndAggregationRelationshipProperties, includeProperties);

                return(entityList);
            }
        }
Esempio n. 28
0
        public virtual async Task <IEnumerable <TEntity> > GetAllAsync(
            CancellationToken cancellationToken,
            Func <IQueryable <TEntity>, IOrderedQueryable <TEntity> > orderBy = null,
            int?pageNo   = null,
            int?pageSize = null,
            bool includeAllCompositionRelationshipProperties = false,
            bool includeAllCompositionAndAggregationRelationshipProperties = false,
            params Expression <Func <TEntity, Object> >[] includeProperties)
        {
            var includes = includeProperties != null?includeProperties.ToList() : new List <Expression <Func <TEntity, Object> > >();

            AddIncludes(includes);
            includeProperties = includes.ToArray();

            using (var unitOfWork = UnitOfWorkFactory.CreateReadOnly(UnitOfWorkScopeOption.JoinExisting))
            {
                var entityList = await unitOfWork.ReadOnlyRepository <TContext, TEntity>().GetAllNoTrackingAsync(cancellationToken, orderBy, pageNo * pageSize, pageSize, includeAllCompositionRelationshipProperties || IncludeAllCompositionRelationshipProperties, includeAllCompositionAndAggregationRelationshipProperties || IncludeAllCompositionAndAggregationRelationshipProperties, includeProperties).ConfigureAwait(false);

                return(entityList);
            }
        }