public virtual ActionResult QuestConnectionRequirement(int Id, int QuestId, int QuestConnectionId)
        {
            IQuestRepository repo = new EFQuestRepository();

            var QuestConnectionRequirement = repo.QuestConnectionRequirements.FirstOrDefault(q => q.Id == Id);
            var connection = repo.QuestConnections.FirstOrDefault(q => q.Id == QuestConnectionId);

            if (QuestConnectionRequirement == null)
            {
                QuestConnectionRequirement = new QuestConnectionRequirement
                {
                    QuestId = QuestId,
                    QuestConnectionRequirementName = "[UNNAMED REQUIREMENT]",
                };

                QuestConnectionRequirement.QuestConnectionId = connection;
            }
            else
            {
            }

            var output = new QuestConnectionRequirementFormViewModel();

            output.QuestConnectionRequirement = QuestConnectionRequirement;
            output.QuestConnection            = connection;

            return(PartialView(MVC.QuestWriter.Views.QuestConnectionRequirement, output));
        }
        public virtual ActionResult QuestConnectionRequirementSend(QuestConnectionRequirementFormViewModel input)
        {
            IQuestRepository repo = new EFQuestRepository();
            var connection        = repo.QuestConnections.FirstOrDefault(q => q.Id == input.QuestConnection.Id);

            var savedId = QuestWriterProcedures.SaveQuestConnectionRequirement(input.QuestConnectionRequirement, connection);

            QuestWriterProcedures.LogQuestWriterAction(User.Identity.Name, connection.QuestId, " saved connection requirement Id <b>" + savedId + "</b>.");

            return(RedirectToAction(MVC.QuestWriter.QuestConnectionRequirement(savedId, input.QuestConnectionRequirement.QuestId, connection.Id)));
        }