public async Task <List <StorageSpaceViewModel> > Handle(GetStorageSpace message, CancellationToken cancellationToken) { if (message.Id != null && message.Id <= 0) { throw new Exception(Constants.INVALID_ID); } var command = GetCommand(message); var result = await command.Select(storageSpace => new StorageSpaceViewModel { Id = storageSpace.Id, Name = storageSpace.Name, StorageSpaceType = storageSpace.StorageSpacesType, Addresss = new Domain.Models.Address() { Id = storageSpace.AddressId, County = new Domain.Models.County() { Id = storageSpace.Address.CountyId, Abreviation = storageSpace.Address.County.Abreviation, Name = storageSpace.Address.County.Name }, City = storageSpace.Address.City, Street = storageSpace.Address.Street, Building = storageSpace.Address.Building } }).ToListAsync(cancellationToken); return(result); }
public async Task Get_ReturnsListAsync() { var queryHandler = new StorageSpaceQueryHandler(BasicNeeds); var query = new GetStorageSpace() { Id = null }; var actual = await queryHandler.Handle(query, CancellationToken.None); Assert.IsTrue(actual.Count == 2); }
private IQueryable <StorageSpaceDb> GetCommand(GetStorageSpace message) { var command = context.StorageSpaces.AsQueryable(); if (message.Id != null) { command = command.Where(m => m.Id == message.Id); } command = command.Include(a => a.Address); return(command); }