public void Method_Throws_ArgumentNullException() { Assert.Throws <ArgumentNullException>(() => _doorActionManager.AddAsync(null) .GetAwaiter() .GetResult()); }
public async Task <IActionResult> PostAsync([FromBody] PassageRequest request) { var currentCardDto = (await _cardManager .GetAllAsync(uniqueNumbers: new string[] { request.CardUniqueNumber })) .FirstOrDefault(); if (currentCardDto is null) { return(NotFound()); } var currentDoorReaderDto = (await _doorReaderManager .GetAllAsync( serialNumbers: new string[] { request.DoorReaderSerialNumber }, includes: new string[] { nameof(DoorReader.Door) })) .FirstOrDefault(); if (currentDoorReaderDto is null) { return(NotFound()); } var doorActionStatus = DoorActionStatusType.Success; if (currentCardDto.Status == CardStatusType.Locked) { doorActionStatus = DoorActionStatusType.Error; } if (currentDoorReaderDto.Door.Status != DoorStatusType.Active) { doorActionStatus = DoorActionStatusType.Error; } if (currentCardDto.Level < currentDoorReaderDto.Door.Level) { doorActionStatus = DoorActionStatusType.Denied; } var doorActionDto = new DoorActionDto { CardId = currentCardDto.Id, DoorReaderId = currentDoorReaderDto.Id, Status = doorActionStatus, TimeStamp = DateTime.Now, }; await _doorActionManager.AddAsync(doorActionDto); await _commitManager.SaveAsync(); return(doorActionStatus != DoorActionStatusType.Success ? BadRequest() : Ok()); }