public virtual void Configure(EntityTypeBuilder <TEntity> builder) { var name = typeof(TEntity).Name; builder.ToTable(name); builder.HasKey(x => x.Id); builder.Property(e => e.Id) .ValueGeneratedOnAdd(); builder.HasQueryFilter(entity => Convert.ToInt32(CustomDbFunctions.JsonValue(entity.Audit, "$[0].t")) != (int)LogTypeEnum.Delete); }
public IQueryable <TSource> AdminSeachConditions <TSource, TSearch>(IQueryable <TSource> query, TSearch searchModel, CurrentUserViewModel currentUser = null) where TSource : BaseEntity where TSearch : BaseSearchModel { currentUser = currentUser ?? CurrentUser(); if (currentUser == null) { return(query); } if (searchModel == null) { return(query); } if (!string.IsNullOrEmpty(searchModel.CreationDateFrom)) { var dateTime = searchModel.CreationDateFrom.PersianToGregorian().ToString("yyyy/MM/dd", new CultureInfo("en-US")); query = query.Where(x => CustomDbFunctions.DateDiff("DAY", dateTime, CustomDbFunctions.JsonValue(x.Audit, "$[0].d")) <= 0); } if (!string.IsNullOrEmpty(searchModel.CreationDateTo)) { var dateTime = searchModel.CreationDateTo.PersianToGregorian().ToString("yyyy/MM/dd", new CultureInfo("en-US")); query = query.Where(x => CustomDbFunctions.DateDiff("DAY", dateTime, CustomDbFunctions.JsonValue(x.Audit, "$[0].d")) >= 0); } if (currentUser.Role == Role.SuperAdmin || currentUser.Role == Role.Admin) { if (string.IsNullOrEmpty(searchModel.CreatorId)) { return(query); } query = query.Where(entity => CustomDbFunctions.JsonValue(entity.Audit, "$[0].i") == searchModel.CreatorId); } return(query); }