public SUnitsController(E2EDbContext context) { TableControllerOptions = new TableControllerOptions <SUnit> { SoftDeleteEnabled = true }; TableRepository = new EntityTableRepository <SUnit>(context); }
public MovieWithPageSizeController(MovieDbContext context) : base() { Repository = new EntityTableRepository <EFMovie>(context); Options = new TableControllerOptions { PageSize = 25 }; }
public void CTOR_ODataSettings_NonZeroByDefault() { var actual = new TableControllerOptions <Movie>(); Assert.IsTrue(actual.MaxTop > 1); Assert.IsTrue(actual.PageSize > 1); }
public void MaxTop_Throws_WhenOutOfRange(int maxTop) { // Arrange var options = new TableControllerOptions(); // Act Assert.Throws <ArgumentException>(() => options.MaxTop = maxTop); }
public void MaxTop_IsReasonableByDefault() { // Act var options = new TableControllerOptions(); // Assert Assert.True(options.MaxTop > 10000); }
public void PageSize_Throws_WhenOutOfRange(int pageSize) { // Arrange var options = new TableControllerOptions(); // Act Assert.Throws <ArgumentException>(() => options.PageSize = pageSize); }
public void PageSize_IsReasonableByDefault() { // Act var options = new TableControllerOptions(); // Assert Assert.Equal(100, options.PageSize); }
public MoviesController(TableServiceContext dbContext) { TableControllerOptions = new TableControllerOptions <Movie>() { MaxTop = 1000 }; TableRepository = new EntityTableRepository <Movie>(dbContext); }
public RMoviesController(E2EDbContext context) { TableControllerOptions = new TableControllerOptions <RMovie> { SoftDeleteEnabled = true }; TableRepository = new EntityTableRepository <RMovie>(context); }
public LegalMoviesController(MovieDbContext context) : base() { Repository = new EntityTableRepository <EFMovie>(context); AccessControlProvider = this; Options = new TableControllerOptions { UnauthorizedStatusCode = StatusCodes.Status451UnavailableForLegalReasons }; }
public SoftController(MovieDbContext context) : base() { Repository = new EntityTableRepository <EFMovie>(context); Options = new TableControllerOptions { EnableSoftDelete = true }; }
public void DataView_CanRoundtrip() { var actual = new TableControllerOptions <Movie>(); Func <Movie, bool> t = movie => true; actual.DataView = t; Assert.AreEqual(t, actual.DataView); }
public SoftLoggedController(MovieDbContext context, ILogger <EFMovie> logger) : base() { Repository = new EntityTableRepository <EFMovie>(context); Options = new TableControllerOptions { EnableSoftDelete = true }; Logger = logger; }
public void ODataSettings_CanRoundtrip() { var actual = new TableControllerOptions <Movie>(); actual.MaxTop = 10; actual.PageSize = 20; Assert.AreEqual(10, actual.MaxTop); Assert.AreEqual(20, actual.PageSize); }
public void PageSize_CanRoundtrip() { // Act var options = new TableControllerOptions { PageSize = 50 }; // Assert Assert.Equal(50, options.PageSize); }
public void MaxTop_CanRoundtrip() { // Act var options = new TableControllerOptions { MaxTop = 50 }; // Assert Assert.Equal(50, options.MaxTop); }
public void CTOR_SoftDelete_DisabledByDefault() { var actual = new TableControllerOptions <Movie>(); Assert.IsFalse(actual.SoftDeleteEnabled); }
public void CTOR_DefaultDataView() { var actual = new TableControllerOptions <Movie>(); Assert.IsNotNull(actual.DataView); }
/// <summary> /// If Soft-Delete is enabled, and the query does not include __includeDeleted, then add /// a clause to the query to exclude deleted records. If soft-delete is not enabled, or /// the query includes __includeDeleted, then all records are returned. /// </summary> /// <typeparam name="T">The entity type</typeparam> /// <param name="query">An <see cref="IQueryable{T}"/> that is to be adjusted</param> /// <param name="tableOptions">The table options for the table controller</param> /// <param name="request">The <see cref="HttpRequest"/> for the current request</param> /// <returns></returns> public static IQueryable <T> ApplyDeletedFilter <T>(this IQueryable <T> query, TableControllerOptions <T> tableOptions, HttpRequest request) where T : class, ITableData { const string IncludeDeletedParameter = "__includedeleted"; var includeDeleted = request.Query.Any(t => t.Key.ToLowerInvariant() == IncludeDeletedParameter); if (tableOptions.SoftDeleteEnabled && !includeDeleted) { return(query.Where(entity => !entity.Deleted)); } return(query); }