public CreateSubscriptionResponse InvokeCreateSubscription() { // Create a request. CreateSubscriptionInput request = new CreateSubscriptionInput(); request.SellerId = sellerId; request.MWSAuthToken = mwsAuthToken; request.MarketplaceId = marketplaceId; Destination destination = new Destination(); destination.DeliveryChannel = "SQS"; AttributeKeyValueList attributes = new AttributeKeyValueList(); AttributeKeyValue att = new AttributeKeyValue() { Key = "sqsQueueUrl", Value = "https://sqs.us-west-2.amazonaws.com/889329361753/AnyOfferChangedQueueDev" }; attributes.Member.Add(att); destination.AttributeList = attributes; Subscription subscription = new Subscription(); subscription.Destination = destination; subscription.NotificationType = "AnyOfferChanged"; subscription.IsEnabled = true; request.Subscription = subscription; return(this.client.CreateSubscription(request)); }
public IActionResult Create([FromBody] CreateSubscriptionInput sub) { var res = new CreateSubscription(Repository, sub).Execute(); if (res == -1) { return(Conflict()); } return(Ok(res)); }
public void ShouldFailCreatingSubscription() { var now = DateTime.Now; var sub = new domain.Subscription(0, 0, 0, now, 0, true); var input = new CreateSubscriptionInput(0, 0, 0, now, true, new domain.SubscriptionType()); var mockSubRepo = new Mock <ISubscriptionRepository>(); mockSubRepo.Setup(m => m.Create(It.IsAny <domain.Subscription>())).Returns(-1); var res = new CreateSubscription(mockSubRepo.Object, input).Execute(); Assert.AreEqual(-1, res); }
public CreateSubscriptionResponse InvokeCreateSubscription() { // Create a request. CreateSubscriptionInput request = new CreateSubscriptionInput(); string sellerId = "example"; request.SellerId = sellerId; string mwsAuthToken = "example"; request.MWSAuthToken = mwsAuthToken; string marketplaceId = "example"; request.MarketplaceId = marketplaceId; Subscription subscription = new Subscription(); request.Subscription = subscription; return(this.client.CreateSubscription(request)); }
public void CreateSubscriptionAnyOfferChanged() { List <AttributeKeyValue> attributeKeyValues = new List <AttributeKeyValue> { new AttributeKeyValue { Key = "sqsQueueUrl", Value = c_sqsQueueUrl } }; AttributeKeyValueList attributeKeyValueList = new AttributeKeyValueList { Member = attributeKeyValues }; Destination destination = new Destination { DeliveryChannel = "SQS", AttributeList = attributeKeyValueList }; Subscription subscription = new Subscription { IsEnabled = true, NotificationType = "AnyOfferChanged", Destination = destination }; CreateSubscriptionInput createSubscriptionInput = new CreateSubscriptionInput { SellerId = m_sellerId, MarketplaceId = m_marketPlaceId, Subscription = subscription }; m_mwsSubscriptionServiceClient.CreateSubscription(createSubscriptionInput); }
public async Task <SubscriptionOrderDto> CreateSubscription(CreateSubscriptionInput input) { PlanPrice planPrice = _planPriceRepository.Get(input.PlanPriceId); if (planPrice.IsNull()) { throw new UserFriendlyException("No existe un PlanPrice con ese Id"); } Plan plan = _planRepository.Get(planPrice.PlanId); Subscription actualSubscriptions = _subscriptionRepository.GetSubscriptionPlanActive(input.UserId, plan.ProductId); if (actualSubscriptions.IsNotNull()) { throw new UserFriendlyException("El usuario ya esta suscripto a un Plan del mismo producto."); } Subscription subscription = _subscriptionDomainService.CreateSubscription(plan); subscription = _subscriptionRepository.Insert(subscription); SubscriptionCycle subscriptionCycle = _subscriptionCycleDomainService.CreateSubscriptionCycle(subscription, DateTime.Now); _subscriptionCycleDomainService.PaymentPendingSubscriptionCycle(subscriptionCycle); subscriptionCycle = _subscriptionCycleRepository.Insert(subscriptionCycle); Order order = _orderDomainService.CreateOrderForSubscription(planPrice, input.UserId, DateTime.Now); _orderDomainService.PaymentPendingOrder(order); order = _orderRepository.Insert(order); SubscriptionCycleOrder subscriptionCycleOrder = _subscriptionCycleOrderDomainService.CreateSubscriptionCycleOrder(subscriptionCycle, order); _subscriptionCycleOrderRepository.Insert(subscriptionCycleOrder); Invoice invoice = _invoiceDomainService.CreateInvoice(order, DateTime.Now); _invoiceDomainService.ActiveInvoice(invoice); _invoiceRepository.Insert(invoice); InvoicePaymentProvider invoicePaymentProvider = planPrice.Currency.Code switch { Domain.ValueObjects.Currency.CurrencyValue.USD => await _paypalService.CreateUriForPayment(invoice, order, plan), Domain.ValueObjects.Currency.CurrencyValue.ARS => await _mobbexService.CreateUriForPayment(invoice, order, plan), _ => throw new NotImplementedException() }; invoicePaymentProvider = _invoicePaymentProviderRepository.Insert(invoicePaymentProvider); return(new SubscriptionOrderDto { Subscription = _mapper.Map <SubscriptionDto>(subscription), SubscriptionCycle = _mapper.Map <SubscriptionCycleDto>(subscriptionCycle), SubscriptionCycleOrder = _mapper.Map <SubscriptionCycleOrderDto>(subscriptionCycleOrder), Order = _mapper.Map <OrderDto>(order), InvoicePaymentProvider = _mapper.Map <InvoicePaymentProviderDto>(invoicePaymentProvider), }); } }
public CreateSubscription(ISubscriptionRepository subscriptionRepository, CreateSubscriptionInput input) { this.subscriptionRepository = subscriptionRepository; Input = input; }
public CreateSubscriptionResponse CreateSubscription(CreateSubscriptionInput request) { return(newResponse <CreateSubscriptionResponse>()); }
public CreateSubscriptionResponse CreateSubscription(CreateSubscriptionInput request) { return(connection.Call( new MWSSubscriptionsServiceClient.Request <CreateSubscriptionResponse>("CreateSubscription", typeof(CreateSubscriptionResponse), servicePath), request)); }