Пример #1
0
        public bool UpdateAnswer(AnswerEdit model)
        {
            using (var ctx = new ApplicationDbContext())
            {
                if (_userService.ConfirmUserIsAdmin(_userId))
                {
                    var adminEntity =
                        ctx
                        .Answers
                        .Single(e => e.Id == model.Id);
                    adminEntity.Text = model.Text;
                    adminEntity.IsCorrectSpelling = model.IsCorrectSpelling;

                    return(ctx.SaveChanges() == 1);
                }
                var playerEntity =
                    ctx
                    .Answers
                    .Single(e => e.Id == model.Id && e.AuthorId == _userId);
                playerEntity.Text = model.Text;
                playerEntity.IsCorrectSpelling = model.IsCorrectSpelling;

                return(ctx.SaveChanges() == 1);
            }
        }
Пример #2
0
        public void EditAnswer(int questionId, AnswerEdit model)
        {
            Answer answer = _repo.GetById(questionId);

            answer = model.UpdateAnswer(answer, model);
            _repo.Update(answer);
        }
Пример #3
0
        public AnswerEdit CreateAnswer(AnswerEdit model)
        {
            var response = HttpClient.PostAsJsonAsync(EndPoint + "Answer", model).Result;

            if (!response.IsSuccessStatusCode)
            {
                throw new Exception(response.RequestMessage.RequestUri + " - " + response.StatusCode + " - " + response.ReasonPhrase);
            }
            return(response.Content.ReadAsAsync <AnswerEdit>().Result);
        }
 /// <summary>
 /// New answer button click.
 /// </summary>
 private void btnNewAnswer_Click(object sender, EventArgs e)
 {
     if (CheckModifyPermission(ItemID))
     {
         AnswerEdit.ItemID = 0;
         AnswerEdit.PollId = ItemID;
         DisplayControls("answersedit", false);
         AnswerEdit.LoadData();
     }
 }
 /// <summary>
 /// Answer Edit OnSave handler.
 /// </summary>
 private void AnswerEdit_OnSaved(object sender, EventArgs e)
 {
     // Handle events from visible controls only
     if (AnswerEdit.Visible)
     {
         AnswerEdit.PollId = ItemID;
         DisplayControls("answersedit", false);
         AnswerEdit.LoadData();
     }
 }
Пример #6
0
        public IHttpActionResult CreateAnswer(AnswerEdit model)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            (new AnswerService(_uow.GetRepository <IAnswerRepository>())).CreateAnswer(model);
            _uow.Commit();

            return(Ok(model));
        }
Пример #7
0
        public ActionResult Edit(int id)
        {
            var service = CreateAnswerService();
            var detail  = service.GetAnswerById(id);
            var model   =
                new AnswerEdit
            {
                Id   = detail.Id,
                Text = detail.Text,
                IsCorrectSpelling = detail.IsCorrectSpelling
            };

            return(View(model));
        }
Пример #8
0
        public IHttpActionResult Edit(int id, AnswerEdit model)
        {
            AnswerService service = new AnswerService(_uow.GetRepository <IAnswerRepository>());

            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            service.EditAnswer(id, model);
            _uow.Commit();

            return(Ok(model));
        }
Пример #9
0
        public ActionResult CreateAnswer(int questionId, AnswerEdit editModel)
        {
            QuestionView question = _uow.GetRepository <IQuestionRepository>().GetOne(questionId);

            if (question == null)
            {
                return(HttpNotFound());
            }
            editModel.QuestionId = questionId;
            if (ModelState.IsValid)
            {
                _uow.GetRepository <IQuestionRepository>().CreateAnswer(editModel);
                return(RedirectToAction("Index"));
            }

            return(View(editModel));
        }
Пример #10
0
        public ActionResult Edit(int id, AnswerEdit model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            if (model.Id != id)
            {
                ModelState.AddModelError("", "Id Mismatch");
                return(View(model));
            }
            var service = CreateAnswerService();

            if (service.UpdateAnswer(model))
            {
                TempData["SaveResult"] = "Your answer was updated.";
                return(RedirectToAction("Index"));
            }

            ModelState.AddModelError("", "Your answer could not be updated.");
            return(View(model));
        }
    /// <summary>
    /// Displays appropriate controls regarding set properties.
    /// </summary>
    private void DisplayControls(string selectedPage, bool forceReload)
    {
        PollProperties.Visible      = false;
        AnswerList.Visible          = false;
        PollSecurity.Visible        = false;
        PollView.Visible            = false;
        PollView.StopProcessing     = true;
        headerLinks.Visible         = false;
        pnlPollsBreadcrumbs.Visible = false;
        pnlPollsLinks.Visible       = false;
        AnswerEdit.Visible          = false;
        btnResetAnswers.Visible     = true;
        imgResetAnswers.Visible     = true;

        if (forceReload)
        {
            selectedPage        = "0";
            tabMenu.SelectedTab = 0;
        }

        // Display appropriate tab
        switch (selectedPage)
        {
        // Answer list
        case "1":
            AnswerList.Visible = true;
            AnswerList.PollId  = ItemID;
            AnswerList.ReloadData(true);
            headerLinks.Visible   = true;
            pnlPollsLinks.Visible = true;
            break;

        // Answer edit
        case "answersedit":
            headerLinks.Visible         = true;
            pnlPollsBreadcrumbs.Visible = true;
            pnlPollsLinks.Visible       = true;
            AnswerEdit.Visible          = true;
            AnswerEdit.PollId           = ItemID;
            AnswerEdit.ReloadData();
            btnResetAnswers.Visible = false;
            imgResetAnswers.Visible = false;
            AnswerEditSelected      = true;

            // Initialize breadcrumbs
            InitializeBreadcrumbs();
            break;

        // Poll security
        case "2":
            PollSecurity.Visible = true;
            PollSecurity.ItemID  = ItemID;
            PollSecurity.ReloadData();
            break;

        // Poll view
        case "3":
            PollView.Visible = true;
            InitPollView(ItemID);
            PollView.StopProcessing = false;
            PollView.ReloadData(false);
            break;

        // Poll properties
        default:
            PollProperties.Visible = true;
            PollProperties.ItemID  = ItemID;

            PollProperties.ReloadData();
            break;
        }
    }
Пример #12
0
 public void CreateAnswer(AnswerEdit model)
 {
     _repo.Add(AnswerFactory.CreateAnswerFromAnswerEdit(model));
 }
    protected void Page_Load(object sender, EventArgs e)
    {
        // Get AnswerID and PollID from querystring
        pollId   = QueryHelper.GetInteger("pollId", 0);
        answerId = QueryHelper.GetInteger("answerId", 0);
        groupId  = QueryHelper.GetInteger("groupId", 0);

        string currentPollAnswer = GetString("Polls_Answer_Edit.NewItemCaption");

        // Initialize AnswerEdit control
        if (QueryHelper.GetInteger("saved", 0) == 1)
        {
            AnswerEdit.Saved = true;
        }
        AnswerEdit.ItemID              = answerId;
        AnswerEdit.PollId              = pollId;
        AnswerEdit.OnSaved            += new EventHandler(AnswerEdit_OnSaved);
        AnswerEdit.OnCheckPermissions += new CMSAdminControl.CheckPermissionsEventHandler(AnswerEdit_OnCheckPermissions);

        if (answerId > 0)
        {
            this.CurrentMaster.Title.HelpTopicName = "answer_edit";
            PollAnswerInfo pollAnswerObj = PollAnswerInfoProvider.GetPollAnswerInfo(answerId);
            EditedObject = pollAnswerObj;
            if (pollAnswerObj != null)
            {
                // Check that poll belongs to the specified group
                if ((pollAnswerObj.AnswerPollID > 0) && (groupId > 0))
                {
                    PollInfo poll = PollInfoProvider.GetPollInfo(pollAnswerObj.AnswerPollID);

                    // Answer not found or doesn't belong to specified group
                    if ((poll == null) || (poll.PollGroupID != groupId))
                    {
                        RedirectToAccessDenied(GetString("community.group.pollnotassigned"));
                    }
                }

                // Set control
                currentPollAnswer = GetString("Polls_Answer_Edit.AnswerLabel") + " " + pollAnswerObj.AnswerOrder.ToString();
                pollId            = pollAnswerObj.AnswerPollID;
            }
        }
        else
        {
            this.CurrentMaster.Title.HelpTopicName = "new_answer";
        }

        // Validate
        EditedObject = PollInfoProvider.GetPollInfo(pollId);

        if (!RequestHelper.IsPostBack())
        {
            AnswerEdit.ReloadData();
        }

        // Initializes page title control
        string[,] breadcrumbs = new string[2, 3];
        breadcrumbs[0, 0]     = GetString("Polls_Answer_Edit.ItemListLink");
        breadcrumbs[0, 1]     = "~/CMSModules/Groups/Tools/Polls/Polls_Edit_Answer_List.aspx?pollId=" + pollId + "&groupId=" + groupId;
        breadcrumbs[0, 2]     = "";
        breadcrumbs[1, 0]     = currentPollAnswer;
        breadcrumbs[1, 1]     = "";
        breadcrumbs[1, 2]     = "";
        this.CurrentMaster.Title.Breadcrumbs = breadcrumbs;

        // New item link
        string[,] actions = new string[1, 6];
        actions[0, 0]     = HeaderActions.TYPE_HYPERLINK;
        actions[0, 1]     = GetString("Polls_Answer_List.NewItemCaption");
        actions[0, 2]     = null;
        actions[0, 3]     = ResolveUrl("Polls_Edit_Answer_Edit.aspx?pollId=" + pollId.ToString() + "&groupId=" + groupId);
        actions[0, 4]     = null;
        actions[0, 5]     = GetImageUrl("Objects/Polls_PollAnswer/add.png");
        this.CurrentMaster.HeaderActions.Actions = actions;
    }
Пример #14
0
    /// <summary>
    /// Displays appropriate controls regarding set properties.
    /// </summary>
    private void DisplayControls(string selectedPage, bool forceReload)
    {
        PollProperties.Visible      = false;
        AnswerList.Visible          = false;
        PollSecurity.Visible        = false;
        PollView.Visible            = false;
        PollView.StopProcessing     = true;
        headerLinks.Visible         = false;
        pnlPollsBreadcrumbs.Visible = false;
        pnlPollsLinks.Visible       = false;
        AnswerEdit.Visible          = false;
        btnResetAnswers.Visible     = true;
        imgResetAnswers.Visible     = true;

        if (forceReload)
        {
            selectedPage        = "0";
            tabMenu.SelectedTab = 0;
        }

        // Display appropriate tab
        switch (selectedPage)
        {
        // Poll properties
        case "0":
        default:
            PollProperties.Visible = true;
            PollProperties.ItemID  = ItemID;

            PollProperties.ReloadData();
            break;

        // Answer list
        case "1":
            AnswerList.Visible = true;
            AnswerList.PollId  = ItemID;
            AnswerList.ReloadData(true);
            headerLinks.Visible   = true;
            pnlPollsLinks.Visible = true;
            break;

        // Answer edit
        case "answersedit":
            headerLinks.Visible         = true;
            pnlPollsBreadcrumbs.Visible = true;
            pnlPollsLinks.Visible       = true;
            AnswerEdit.Visible          = true;
            AnswerEdit.PollId           = ItemID;
            AnswerEdit.ReloadData();
            btnResetAnswers.Visible = false;
            imgResetAnswers.Visible = false;
            AnswerEditSelected      = true;

            // Initialize breadcrumbs
            string currentPollAnswer = GetString("Polls_Answer_Edit.NewItemCaption");
            if (AnswerEdit.ItemID > 0)
            {
                PollAnswerInfo pollAnswerObj = PollAnswerInfoProvider.GetPollAnswerInfo(AnswerEdit.ItemID);
                if (pollAnswerObj != null)
                {
                    currentPollAnswer = GetString("Polls_Answer_Edit.AnswerLabel") + " " + pollAnswerObj.AnswerOrder.ToString();
                }
            }
            lblAnswer.Text = currentPollAnswer;
            break;

        // Poll security
        case "2":
            PollSecurity.Visible = true;
            PollSecurity.ItemID  = ItemID;
            PollSecurity.ReloadData();
            break;

        // Poll view
        case "3":
            PollView.Visible = true;
            InitPollView(ItemID);
            PollView.StopProcessing = false;
            PollView.ReloadData(false);
            break;
        }
    }
Пример #15
0
        // GET: Questions/Create
        public ActionResult CreateAnswer(int questionId)
        {
            AnswerEdit questionEdit = new AnswerEdit();

            return(View(questionEdit));
        }