Пример #1
0
        public ActionResult Create(string customerId)
        {
            SubscriptionRequestModel subscriptionRequest = new SubscriptionRequestModel();

            subscriptionRequest.CustomerId = customerId;
            return(this.View("Create", subscriptionRequest));
        }
        public static SubscriptionRequest ToDomain(this SubscriptionRequestModel source)
        {
            if (source == null)
            {
                return(null);
            }

            return(new SubscriptionRequest
            {
                PublisherClientId = source.PublisherClientId,
                SubscriberClientId = source.SubscriberClientId
            });
        }
Пример #3
0
        public async Task <ActionResult> Create(SubscriptionRequestModel subscriptionRequestModel)
        {
            if (this.ModelState.IsValid)
            {
                SubscriptionRequest subscriptionRequest = new SubscriptionRequest();
                subscriptionRequest.Amount      = subscriptionRequestModel.Amount;
                subscriptionRequest.Description = subscriptionRequestModel.Description;
                subscriptionRequest.Interval    = "14 days";
                await this._subscriptionClient.CreateSubscriptionAsync(subscriptionRequestModel.CustomerId, subscriptionRequest);

                return(this.RedirectToAction("Index", new { customerId = subscriptionRequestModel.CustomerId }));
            }

            return(this.View(subscriptionRequestModel));
        }
        public bool Subscribe(string number, string subscriptionMethod = SUBSCRIPTION_METHOD, string serviceID = null)
        {
            var flag = false;

            var subscriptionRequest = new SubscriptionRequestModel
            {
                Method    = subscriptionMethod,
                ServiceID = serviceID,
                Msisdn    = "tel:+" + number
            };

            var response = request.RequestApi <SubscriptionRequestModel, SubscriptionResponseModel>(subscriptionRequest, request.GetCommonHeaders(AuthModel.AccessToken), null, Method.POST, IdeaMartApiSmsSubscription);


            if (response.StatusCode == IdeaBizResource.SUCCESS)
            {
                flag = true;
            }

            return(flag);
        }
Пример #5
0
        public async Task <IActionResult> SubscribeAsync(SubscriptionRequestModel request)
        {
            _logger.LogInformation($"Subscription client with id {request.SubscriberClientId} to client with id {request.PublisherClientId} has been requested.");

            // на все случаи жизни, например для тестов
            if (request == null)
            {
                throw new ArgumentNullException(nameof(request));
            }

            if (request.PublisherClientId == request.SubscriberClientId)
            {
                ModelState.AddModelError(string.Empty, "SubscriberClientId == PublisherClientId!");
            }

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            bool subscribed;

            try
            {
                subscribed = await _mediator.Send(new SubscribeClientCommandRequest(request.ToDomain()));
            }
            catch (Exception e)
            {
                _logger.LogError(e, $"Error while trying to subscribe client with id {request.SubscriberClientId} to client with id {request.PublisherClientId}.");
                throw;
            }

            if (!subscribed)
            {
                return(BadRequest());
            }

            return(Ok());
        }
Пример #6
0
        public async Task <IActionResult> SubscribeAsync(SubscriptionRequestModel request)
        {
            var relayUrl = Url.Link("Relay", null);

            var model = new DomainModels.SubscriptionModel()
            {
                CallbackUrl         = relayUrl,
                ShortDate           = DateTime.Now,
                SignalRConnectionId = request.ConnectionId
            };

            var result = await _subscriptionService.SubscribeAsync(model);

            if (result)
            {
                return(Ok());
            }
            else
            {
                return(StatusCode((int)result));
            }
        }
Пример #7
0
        public ActivityResult Subscribe(string number, string method = SUBSCRIPTION_METHOD)
        {
            var subscriptionRequest = new SubscriptionRequestModel
            {
                Method = method,
                Msisdn = number
            };

            var response = request.RequestApi <SubscriptionRequestModel, SubscriptionResponseModel>(subscriptionRequest, request.GetCommonHeaders(AuthModel.AccessToken), null, Method.POST, IdeaMartPinSubscriptionEndPoint);

            var res = new ActivityResult();

            if (response.StatusCode == IdeaBizResource.SUCCESS)
            {
                res.Status    = response.StatusCode;
                res.ServerRef = response.Data.ServerRef;
            }
            else
            {
                res.Status = response.Message;
            }
            return(res);
        }