private IQueryable <TEntity> PreQuery(ILinqProvider linqProvider, TParam qrit) { var res = linqProvider.Query <TEntity>() .Apply(Spec, qrit); return(res); }
public void InMemoryStoreTest() { using (var store = new InMemoryStore()) { store.Register <Author>(); IUnitOfWork uow = store as IUnitOfWork; const int authorCount = 100; Parallel.For(0, authorCount, i => { uow.Add(new Author(i, $"Author {i}")); }); ILinqProvider linq = store as ILinqProvider; Assert.AreEqual(authorCount, linq.Query <Author>().Count()); int id = 3; Assert.AreEqual(1, linq.Query <Author>().Where(a => a.Id == id).Count()); Assert.AreEqual(id, linq.Query <Author>().Where(a => a.Id == id).FirstOrDefault().Id); Assert.AreEqual($"Author {id}", linq.Query <Author>().Where(a => a.Id == id).FirstOrDefault().Name); var author = new Author(id, $"Author#{id}"); uow.Update(author); uow.Commit(); Assert.AreEqual(1, linq.Query <Author>().Where(a => a.Id == id).Count()); Assert.AreEqual(author.Id, linq.Query <Author>().Where(a => a.Id == id).FirstOrDefault().Id); Assert.AreEqual(author.Name, linq.Query <Author>().Where(a => a.Id == id).FirstOrDefault().Name); Parallel.For(0, 100, i => { var updAuthor = new Author(id, $"Author#{i}"); uow.Update(updAuthor); }); } }
/// <summary> /// Initializes a new instance of the <see cref="AddBookingFilterValidator" /> class. /// </summary> public AddBookingFilterValidator(ILinqProvider linqProvider) { RuleFor(x => x.StartDate) .LessThanOrEqualTo(x => x.EndDate) .WithMessage("'startdDate' cannot be greater that 'endDate'"); RuleFor(x => x.EndDate) .GreaterThanOrEqualTo(x => x.StartDate) .WithMessage("'endDate' cannot be less that 'startDate'"); RuleFor(x => x) .Must(y => { var bookingsDates = linqProvider.Query <BookingEntity>() .Where(x => x.RoomId == y.RoomId) .Select(x => new { x.StartDate, x.EndDate }) .ToList(); foreach (var booking in bookingsDates) { if (y.StartDate < booking.EndDate.AddDays(1) && y.EndDate > booking.StartDate) { return(false); } } return(true); }) .WithMessage("There is overlapping with existing bookings, please re-check yours request dates"); }
public GetQuery([NotNull] ILinqProvider linqProvider, [NotNull] IMapper mapper) { if (linqProvider == null) throw new ArgumentNullException(nameof(linqProvider)); if (mapper == null) throw new ArgumentNullException(nameof(mapper)); _linqProvider = linqProvider; _mapper = mapper; }
public async Task EFQueryAsyncTest() { int cntBook = 0; using (ILinqProvider linq = serviceLocator.GetInstance <ILinqProviderFactory>().Create()) { var books = linq.Query <Book>().ToList(); Assert.IsNotNull(books); cntBook = books.Count(); Assert.IsTrue(cntBook > 0); } var allBooks = await handlerLocator .For <IEnumerable <BookDto> >() .AskAsync(new BookOrAuthorQriteria()); var idQrit = new IdQriteria { Id = 2 }; var book = await handlerLocator .For <BookDto>() .AskAsync(idQrit); Assert.IsNotNull(allBooks); Assert.IsInstanceOfType(allBooks, typeof(IEnumerable <BookDto>)); Assert.IsTrue(allBooks.Count() > 0); Assert.IsTrue(allBooks.Count() == cntBook); Assert.IsNotNull(book); Assert.IsInstanceOfType(book, typeof(BookDto)); Assert.AreEqual(idQrit.Id, book.Id); }
protected LinqQueryBase([NotNull] ILinqProvider lingProvider) { if (lingProvider == null) { throw new ArgumentNullException(nameof(lingProvider)); } LingProvider = lingProvider; }
public RelationRepository([NotNull] ILinqProvider linqProvider) { if (linqProvider == null) { throw new ArgumentNullException(nameof(linqProvider)); } _linqProvider = linqProvider; }
///<summary> ///</summary> ///<param name="sessionProvider"></param> ///<param name="linqProvider"></param> /// <exception cref="ArgumentNullException"><c>sessionProvider</c> is null.</exception> protected BaseRepository(ISessionProvider sessionProvider, ILinqProvider linqProvider) { if (sessionProvider == null) { throw new ArgumentNullException("sessionProvider"); } this.sessionProvider = sessionProvider; this.linqProvider = linqProvider; }
public override Result Request(ILinqProvider linq, CreateBookCmd qrit) { var query = linq.Query <Book>() .Where(b => b.Name == qrit.Name) .AsNoTracking(); if (!query.Any()) { return(Result.Ok()); } return(new Failure(Messages.BookNameUnique, query.ToList())); }
public IQueryable Query(ILinqProvider linqProvider, IPageQriteria <TParam> qrit) { var filterExpr = qrit.Subject != null ? ConventionBuilder <TEntity> .FilterExpression(qrit.Subject) : (x) => true; var query = linqProvider .Query <TEntity>() .Where(filterExpr) .OrderByConventions(qrit); return(query); }
public ExpertRepository(IRepository <Expert> repository, ILinqProvider linqProvider) { if (repository == null) { throw new ArgumentNullException(nameof(repository)); } if (linqProvider == null) { throw new ArgumentNullException(nameof(linqProvider)); } _repository = repository; _linqProvider = linqProvider; }
public ProjectionQuery([NotNull] ILinqProvider linqProvider, [NotNull] IProjector projector) { if (linqProvider == null) { throw new ArgumentNullException(nameof(linqProvider)); } if (projector == null) { throw new ArgumentNullException(nameof(projector)); } LinqProvider = linqProvider; Projector = projector; }
protected TypeRepository([NotNull] IRepository <T> repository, [NotNull] ILinqProvider linqProvider) { if (repository == null) { throw new ArgumentNullException(nameof(repository)); } if (linqProvider == null) { throw new ArgumentNullException(nameof(linqProvider)); } _repository = repository; LinqProvider = linqProvider; }
public NodeRepository([NotNull] IRepository <Node> repository, [NotNull] ILinqProvider linqProvider) { if (repository == null) { throw new ArgumentNullException(nameof(repository)); } if (linqProvider == null) { throw new ArgumentNullException(nameof(linqProvider)); } _repository = repository; _linqProvider = linqProvider; }
public SessionOfExpertsRepository( [NotNull] IRepository <SessionOfExperts> repository, [NotNull] ILinqProvider linqProvider) { if (repository == null) { throw new ArgumentNullException(nameof(repository)); } if (linqProvider == null) { throw new ArgumentNullException(nameof(linqProvider)); } _repository = repository; _linqProvider = linqProvider; }
public GetCommandByNameQuery(ILinqProvider linqProvider, string name) : base(linqProvider) { if (name == "Арсенал") { name = "Арсенал Тула"; } if (name.ToLower().Trim() == "советов" || name.ToLower().Trim() == "крылья") { name = "Крылья Советов"; } if (name.ToLower().Trim() == "хабаровск" || name.ToLower().Trim() == "ска") { name = "СКА Хабаровск"; } this.name = name; }
public override IEnumerable <Object> Request(ILinqProvider linqProvider, BookInGenreQrit qrit) { // некая сложная выборка, для которой недостаточно Expression var q1 = from b in linqProvider.Query <Book>() where b.BookGenres.Any(bg => bg.Genre.Name.StartsWith(qrit.Name)) select new { b.Id, BookName = b.Name, b.BookGenres }; var d1 = q1.ToArray(); var q2 = from b in d1 select new { b.BookName, Genre = b.BookGenres.AsQueryable().Aggregate("Genre(s): ", (g, next) => g + ", " + next.Genre.Name) }; return(q2); }
public GetByIdQuery(ILinqProvider linqProvider, IProjector projector, [NotNull] IMapper mapper) { if (linqProvider == null) { throw new ArgumentNullException(nameof(linqProvider)); } if (projector == null) { throw new ArgumentNullException(nameof(projector)); } if (mapper == null) { throw new ArgumentNullException(nameof(mapper)); } LinqProvider = linqProvider; Projector = projector; Mapper = mapper; }
public SubscriptionWithProductsQuery(ILinqProvider linqProvider) { _linqProvider = linqProvider; }
public FindStaffListViewModelForPageQuery(ILinqProvider linq) : base(linq) { }
public QueryStub(ILinqProvider linq) : base(linq) { }
public QueryFactoryStub(ILinqProvider linqProvider) { _linqProvider = linqProvider; }
public GetQuery(ILinqProvider linqProvider, IMapper mapper) { this.linqProvider = linqProvider; this.mapper = mapper; }
/// <summary> /// Initializes a new instance of the <see cref="RoomProvider" /> class. /// </summary> public RoomProvider(ILinqProvider linqProvider) { _linqProvider = linqProvider; }
public FindByLoginQuery(ILinqProvider linqProvider) : base(linqProvider) { }
public GetForecastsByNumberQuery(ILinqProvider linqProvider, int number) : base(linqProvider) { this.number = number; }
public LastSubscriptionDateForSubscriptionRepositoryQuery(ILinqProvider linqProvider) { _linqProvider = linqProvider; }
public PagedQuery(ILinqProvider linqProvider, IProjector projector) : base(linqProvider, projector) { }
public DeliveryIntervalWithTemplateByIdQuery(ILinqProvider linqProvider) { _linqProvider = linqProvider; }
public GetNotionsTypesQuery([NotNull] ILinqProvider lingProvider) : base(lingProvider) { }