Пример #1
0
        public ActionResult Index(SubscriptionCreateModel model)
        {
            Subscription subscription = new Subscription
            {
                BlobStorageKey = model.BlobStorageKey,
                BlobStorageName = model.BlobStorageName,
                CertificateKey = model.CertificateKey,
                AzureSubscriptionId = model.AzureSubscriptionId
            };

            BinaryReader r = new BinaryReader(Request.Files[0].InputStream);
            subscription.Certificate = r.ReadBytes(Request.Files[0].ContentLength);

            using (ApplicationDbContext context = new ApplicationDbContext())
            {
                context.Subscriptions.Add(subscription);
                context.SaveChanges();
            }

            return View();
        }
Пример #2
0
        public ActionResult CreateSubscription(SubscriptionCreateModel subscriptionCreateModel)
        {
            if (!ModelState.IsValid)
            {
                return(View(subscriptionCreateModel));
            }

            using (var session = NHibernateDbContext.GetSession())
            {
                using (var transaction = session.BeginTransaction())
                {
                    try
                    {
                        var subscription = new Subscription()
                        {
                            URI       = subscriptionCreateModel.URI,
                            TopicName = subscriptionCreateModel.TopicName
                        };

                        session.Save(subscription);
                        transaction.Commit();
                    }
                    catch (Exception ex)
                    {
                        if (!transaction.WasCommitted)
                        {
                            transaction.Rollback();
                        }

                        throw new Exception("Failed to create Subscription: " + ex.Message);
                    }
                }
            }

            return(RedirectToAction("Index", "Home"));
        }