Пример #1
0
        public async Task <User> GetUserInformationAsync(Guid userId)
        {
            if (userId == Guid.Empty)
            {
                throw new ArgumentNullException(nameof(userId));
            }

            IEnumerable <Models.Repository.Card> dtoCards;
            IEnumerable <Card> cards;
            IEnumerable <Models.Repository.Address> dtoAddresses;
            var dtoUser = await userRepository.GetAsync(userId);

            var user    = UserMapping.ConvertDtoUser(dtoUser);
            var cardIds = await userCardRepository.ListIdsAsync(dtoUser.UserId);

            var addressIds = await userAddressesRepository.ListIdsAsync(dtoUser.UserId);

            if (cardIds != null)
            {
                dtoCards = await cardRepository.ListAsync(cardIds);

                cards = await MapAddressesToCardsAsync(dtoCards);

                user.CreditCards = cards;
            }
            if (addressIds != null)
            {
                dtoAddresses = await addressRepository.ListAsync(addressIds);

                user.Address = AddressMapping.ConvertDtoAddressToAddress(dtoAddresses.FirstOrDefault());
            }

            return(user);
        }
Пример #2
0
        public async Task <Rental> GetRentalAsync(Guid rentalId, CancellationToken cancellationToken = default)
        {
            if (rentalId == Guid.Empty)
            {
                throw new ArgumentNullException(nameof(rentalId));
            }

            var dtoRental = await rentalRepository.GetAsync(rentalId, cancellationToken);

            var dtoItemRentalDetails = await itemRentalDetailsRepository.GetAsync(dtoRental.ItemRentalDetailsId, cancellationToken);

            var dtoItem = itemRepository.GetAsync(dtoItemRentalDetails.ItemId, cancellationToken);
            var dtoUser = userRepository.GetAsync(dtoRental.UserId, cancellationToken);

            if (dtoRental == null)
            {
                throw new NullReferenceException(nameof(dtoRental));
            }

            var rental            = dtoRental.ConvertDtoRentalToRental();
            var user              = UserMapping.ConvertDtoUser(await dtoUser);
            var itemRentalDetails = ItemMapping.ConvertItemRentalDetails(dtoItemRentalDetails, await dtoItem);

            rental.User = user;
            rental.ItemRentalDetails = itemRentalDetails;

            return(rental);
        }
Пример #3
0
        public void ConvertDtoUser()
        {
            var user = UserMapping.ConvertDtoUser(dtoUser);

            Assert.IsType <Models.API.User>(user);
            Assert.Equal(user.UserId, userId);
            Assert.NotNull(user.Email);
            Assert.NotNull(user.FirstName);
            Assert.NotNull(user.LastName);
            Assert.NotNull(user.UserName);
        }