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)); }
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 })); } }