CreatePurchaseApplicationCommand> BuildCreatePurchaseApplicationCommand(PurchaseApplicationCreationRequest creationRequest)
        {
            var commandDto = new CreatePurchaseApplicationCommand.Dto(
                products: creationRequest.Products.Map(product =>
                                                       new CanaryDeliveries.PurchaseApplication.Domain.Entities.Product.Dto(
                                                           link: product.Link,
                                                           units: product.Units,
                                                           additionalInformation: product.AdditionalInformation,
                                                           promotionCode: product.PromotionCode)).ToList(),
                client: new CanaryDeliveries.PurchaseApplication.Domain.Entities.Client.Dto(
                    name: creationRequest.Client.Name,
                    phoneNumber: creationRequest.Client.PhoneNumber,
                    email: creationRequest.Client.Email),
                additionalInformation: creationRequest.AdditionalInformation);

            return(CreatePurchaseApplicationCommand.Create(commandDto));
        }
        private static CreatePurchaseApplicationCommand BuildCreatePurchaseApplicationCommand()
        {
            var requestDto = new CreatePurchaseApplicationCommand.Dto(
                products: new List <Product.Dto>
            {
                new Product.Dto(
                    link: "https://addidas.com/any/product",
                    units: "1",
                    additionalInformation: "Product additional product",
                    promotionCode: "ADDIDAS-123")
            },
                client: new Client.Dto(
                    name: "Alfredo",
                    phoneNumber: "123123123",
                    email: "*****@*****.**"),
                additionalInformation: "Purchase application additional information");

            return(CreatePurchaseApplicationCommand
                   .Create(requestDto)
                   .IfFail(() => throw new InvalidOperationException()));
        }