public async Task <List <RackDto> > GetRacksAsync(RackRangeQuery query)
        {
            query = query.ToUpper();
            var racks = await _rackRepository.GetRacksInRangeAsync(query.StartRow, query.StartCol, query.EndRow, query.EndCol, query.DatacenterId);

            return(_mapper.Map <List <RackDto> >(racks));
        }
        public async Task DeleteRacksAsync(RackRangeQuery query)
        {
            query = query.ToUpper();
            await _rackRepository.DeleteRacksInRangeAsync(query.StartRow, query.StartCol, query.EndRow, query.EndCol, query.DatacenterId);

            await _auditEventLogger.LogEventAsync(new RackDeletedEvent(query));
        }
        public async void GetRacks_ForRangeWithNoRacks_ReturnsEmpty()
        {
            // Arrange
            var options = new DbContextOptionsBuilder <ApplicationDbContext>()
                          .UseInMemoryDatabase(Guid.NewGuid().ToString())
                          .Options;

            await using var context = new ApplicationDbContext(options);
            var allRacks = GenerateRacks("A1", "A2", "A3", "A4", "A5", "B1", "B2", "B3");
            await context.Racks.AddRangeAsync(allRacks);

            var numAdded = await context.SaveChangesAsync();

            var repo = new RackRepository <ApplicationDbContext>(context);
            var sut  = new RackService(repo, AuditMock.Object, _mapper);


            // Act
            var query = new RackRangeQuery
            {
                StartRow = "A",
                StartCol = 1,
                EndRow   = "A",
                EndCol   = 5
            };
            var result = await sut.GetRacksAsync(query);

            // Assert
            Assert.Equal(5, result.Count);
        }
        public async Task <ActionResult <List <GetRacksApiDto> > > Get([FromQuery] RackRangeQuery query)
        {
            var racks = await _rackService.GetRacksAsync(query);

            var response = _mapper.Map <List <GetRacksApiDto> >(racks);

            return(Ok(response));
        }
        public async Task <ActionResult> Delete([FromQuery] RackRangeQuery query)
        {
            await _rackService.DeleteRacksAsync(query);

            return(Ok());
        }
 public RackDeletedEvent(RackRangeQuery range)
 {
     Range = range;
 }
Beispiel #7
0
 public RackCreatedEvent(RackRangeQuery range)
 {
     Range = range;
 }