public async Task<ActionResult> CreateFromUrl(string url)
        {
            ViewBag.DeckID = new SelectList(db.GetUserDecks(User), "ID", "Title");

            var urlParameter = Uri.EscapeDataString(url);
            var fullUrl = $"https://boilerpipe-web.appspot.com/extract?url={urlParameter}&output=text";

            var request = WebRequest.Create(fullUrl);
            var responce = await request.GetResponseAsync();
            var responseStream = responce.GetResponseStream();
            var streamReader = new StreamReader(responseStream);

            var text = await streamReader.ReadToEndAsync();
            var formattedText = text.Replace("\n", Environment.NewLine + Environment.NewLine);
            var priorities = GetFullPriorityList();

            var card = new CreateCardViewModel { Text = formattedText, Url = url, PriorityList = priorities };

            return View("Create", card);
        }
        public async Task<ActionResult> Extract(int ID, string text)
        {
            var card = await db.Cards.FindAsync(ID);

            if (!card.IsAuthorized(User))
            {
                return new HttpUnauthorizedResult();
            }
            else
            {
                ModelState.Clear();

                var newText = TextConverter.ReplaceTag(text, "selection", "extract");

                card.Text = newText;

                await db.SaveChangesAsync();

                var cards = card.Deck.Cards;

                var selection = TextConverter.GetSelection(text);

                var priorities = GetShortPriorityList();

                var newCard = new CreateCardViewModel { DeckID = card.DeckID, Url = card.Url, ParentCardID = card.ID, Text = selection, PriorityList = priorities };

                return View("Create", newCard);
            }
        }
        // GET: Cards/Create/5
        public ActionResult Create(int? DeckID, string text)
        {
            if (DeckID == null)
            {
                ViewBag.DeckID = new SelectList(db.GetUserDecks(User), "ID", "Title");

                var priorities = GetFullPriorityList();

                var card = new CreateCardViewModel { Text = text, PriorityList = priorities };

                return View(card);
            }
            else
            {
                var priorities = GetFullPriorityList();

                var card = new CreateCardViewModel { DeckID = DeckID.Value, Text = text, PriorityList = priorities };

                return View(card);
            }
        }