Ejemplo n.º 1
0
        public async Task AddReservationToReservationsIndex(Domain.Reservations.Reservation reservation)
        {
            _logger.LogInformation($"Adding Reservation Id [{reservation.Id}] to index.");

            var permissions = _permissionsRepository.GetAllForAccountLegalEntity(reservation.AccountLegalEntityId).ToArray();

            _logger.LogInformation($"[{permissions.Length}] providers found for Reservation Id [{reservation.Id}].");

            if (!permissions.Any())
            {
                return;
            }

            var indexedReservations = new List <IndexedReservation>();

            foreach (var providerPermission in permissions)
            {
                IndexedReservation indexedReservation = reservation;
                indexedReservation.IndexedProviderId = (uint)providerPermission.ProviderId;
                indexedReservations.Add(indexedReservation);
            }

            await _indexRepository.Add(indexedReservations);

            _logger.LogInformation($"[{indexedReservations.Count}] new documents have been created for Reservation Id [{reservation.Id}].");
        }
        public void Then_Has_Empty_Period_If_Not_Start_Or_Expiry_Date()
        {
            //Arrange
            var reservation = new IndexedReservation();

            //Act + Assert
            Assert.AreEqual(string.Empty, reservation.ReservationPeriod);
        }
        public void Then_Creates_Reservation_Period_With_Start_Date()
        {
            //Arrange
            var reservation = new IndexedReservation
            {
                StartDate = new DateTime(2019, 09, 01)
            };

            //Act + Assert
            Assert.AreEqual("Sep 2019", reservation.ReservationPeriod);
        }
        public void Then_Maps_Matching_Fields(
            Reservation source)
        {
            //Arrange
            source.Status = ReservationStatus.Confirmed;

            //Act
            IndexedReservation result = source;

            //Assert
            result.Should().BeEquivalentTo(source, options => options
                                           .Excluding(c => c.Id)
                                           .Excluding(c => c.CourseName)
                                           .Excluding(c => c.EmployerDeleted)
                                           .Excluding(c => c.EndDate)
                                           );
            result.Id.Should().Be($"{0}_{source.AccountLegalEntityId}_{source.Id}");
        }