コード例 #1
0
        public ActionResult SubscribeToContract(Guid contractId, int month)
        {
            var subscriberId = new Guid(User.Identity.GetUserId());
            var model        = ConfigureContractSubscribeViewModel(contractId, month, subscriberId);

            var isExist = _subscriptionService.CheckIfSubscriptionExists(subscriberId, contractId, model.BeginDate, model.EndDate);

            if (isExist)
            {
                return(View("Error"));
            }

            var subscription = GetConfiguredSubscription(contractId, month, subscriberId);

            model.SubscriptionId = subscription.Id;

            _subscriptionService.AddSubscription(subscription);

            return(View("SubscribeToContract", model));
        }
コード例 #2
0
        public ActionResult New(int?id)
        {
            _logger.Information("Action: New; Controller: Subscription; Call method: GET;");
            try
            {
                if (id == null)
                {
                    id = 1;
                }
                string publisherToFindId = id.ToString();
                var    userId            = User.Identity.GetUserId();

                if (_subscriptionService.CheckIfSubscriptionExists(userId, publisherToFindId))
                {
                    return(View("AlreadySubscribed"));
                }

                if (!_subscriptionService.CheckIfSubscritpionPublisherExists(publisherToFindId))
                {
                    return(View("NotFound"));
                }

                SubscriptionCreateViewModel model = new SubscriptionCreateViewModel
                {
                    Publisher   = _subscriptionService.GetSubscriptionPublisher(publisherToFindId),
                    UserId      = User.Identity.GetUserId(),
                    UserBalance = _subscriptionService.GetUserBalanceForSubscription(User.Identity.GetUserId())
                };

                return(View(model));
            } catch (Exception e) {
                LogException(e);

                return(RedirectToAction("Index", "Error", new { exceptionType = e.GetType().Name }));
            }
        }