public async Task <FilterResultModel <CustomerViewModel> > Handle(GetCustomersListQuery request, CancellationToken cancellationToken)
        {
            var sortBy        = request.SortBy.Trim() != "" ? request.SortBy : "CustomerName";
            var sortDirection = (request.SortDirection.ToUpper() == "DESCENDING") ? true : false;

            FilterResultModel <CustomerViewModel> result = new FilterResultModel <CustomerViewModel> ();
            var customer = _database.Customer
                           .Select(CustomerViewModel.Projection)
                           .Select(DynamicQueryHelper.GenerateSelectedColumns <CustomerViewModel> (request.SelectedColumns))
                           .AsQueryable();

            if (request.Filter.Count() > 0)
            {
                customer = customer
                           .Where(DynamicQueryHelper
                                  .BuildWhere <CustomerViewModel> (request.Filter)).AsQueryable();
            }

            result.Count = customer.Count();

            var PageSize   = (request.PageSize == 0) ? result.Count : request.PageSize;
            var PageNumber = (request.PageSize == 0) ? 1 : request.PageNumber;

            result.Items = customer.OrderBy(sortBy, sortDirection)
                           .Skip(PageNumber - 1)
                           .Take(PageSize)
                           .ToList();

            return(result);
        }
 public async Task <List <Core.Domain.Customers.Customer> > Handle(GetCustomersListQuery request, CancellationToken cancellationToken)
 {
     using (var dbFactory = _dbContextScopeFactory.Create())
     {
         var db = dbFactory.DbContexts.Get <SmartFleetObjectContext>();
         return(await db.Customers.ToListAsync(cancellationToken).ConfigureAwait(false));
     }
 }
        public async Task ShouldReturnAllCustomers()
        {
            var query = new GetCustomersListQuery(_context);

            var result = await query.Execute();

            Assert.Equal(3, result.Count());
        }
        public void SetUp()
        {
            _mocker = new AutoMoqer();

            _customer = Customer.Create(Id, Name);

            _customers = new List <Customer>()
            {
                _customer
            };

            _mocker.GetMock <ICustomerRepository>()
            .Setup(p => p.GetAll())
            .Returns(_customers.AsQueryable());

            _query = _mocker.Create <GetCustomersListQuery>();
        }
Example #5
0
 public async Task <IActionResult> SearchCustomers(GetCustomersListQuery model)
 {
     return(PartialView("_CustomersList",
                        await _mediator.Send(model)));
 }
Example #6
0
        public async Task <ActionResult <FilterResultModel <CustomerViewModel> > > GetCustomersList([FromBody] GetCustomersListQuery query)
        {
            var customers = await _Mediator.Send(query);

            return(Ok(customers));
        }
 public async Task <List <CustomerDTO> > Handle(GetCustomersListQuery request, CancellationToken cancellationToken)
 {
     return(_mapper.Map <List <CustomerDTO> >(await _repository.GetAll()));
 }