コード例 #1
0
        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);
        }
コード例 #3
0
        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);
        }