public async Task <ActionResult> Edit(FrequentlyAskedQuestionEditModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            FrequentlyAskedQuestion faq =
                await _context.FrequentlyAskedQuestions.SingleOrDefaultAsync(i => i.Id == model.Id);

            if (faq == null)
            {
                return(RedirectToAction <FrequentlyAskedQuestionsController>(c => c.Index())
                       .WithError("Could not load the Frequently Asked Question"));
            }

            faq.Question = model.Question;
            faq.Answer   = model.Answer;
            faq.Order    = model.Order;

            await _context.SaveChangesAsync();

            return(RedirectToAction <FrequentlyAskedQuestionsController>(c => c.Index())
                   .WithSuccess("Frequently Asked Question Edited."));
        }
Beispiel #2
0
        public IActionResult Post([FromBody] FrequentlyAskedQuestion value)
        {
            if (!TryValidateModel(value))
            {
                return(StatusCode(500));
            }

            _context.FrequentlyAskedQuestions.Add(value);
            _context.SaveChanges();

            if (value.ResourceLink != null)
            {
                var resourceLink = _context.ResourceLinks.FirstOrDefault(x =>
                                                                         x.DisplayName.Equals(value.ResourceLink.DisplayName) && x.Link.Equals(value.ResourceLink.Link));

                if (resourceLink == null)
                {
                    _context.ResourceLinks.Add(new ResourceLink()
                    {
                        DisplayName = value.ResourceLink.DisplayName,
                        Link        = value.ResourceLink.DisplayName
                    });
                    _context.SaveChanges();

                    resourceLink = _context.ResourceLinks.First(x =>
                                                                x.DisplayName.Equals(value.ResourceLink.DisplayName) && x.Link.Equals(value.ResourceLink.Link));;
                }

                value.ResourceLinkId = resourceLink.Id;
            }

            return(Created(Url.Action("Get", new { id = value.Id }), value));
        }
        public void AddUsefulnessScore(QuestionAnswerUserReview review)
        {
            FrequentlyAskedQuestion faq = _ctx.FrequentlyAskedQuestions.Find(review.FrequentlyAskedQuestion_Id);

            // Update existing user usefulness review.
            if (faq != null)
            {
                ICollection <QuestionAnswerUserReview> reviews = faq.UserReviews;

                var existingReviews = reviews.Where(e => e.User_Id == review.User_Id && e.FrequentlyAskedQuestion_Id == review.FrequentlyAskedQuestion_Id);
                QuestionAnswerUserReview existingReview = existingReviews.FirstOrDefault();

                if (existingReview == null)
                {
                    // No existing Review. Add new review.
                    faq.UserReviews.Add(review);
                    faq.TotalUserReviewScore += review.UserReviewScore;
                }
                else
                {
                    // Existing review. Update review.
                    faq.UserReviews.Remove(existingReview);
                    faq.TotalUserReviewScore += -existingReview.UserReviewScore;
                    faq.UserReviews.Add(review);
                    faq.TotalUserReviewScore += review.UserReviewScore;
                }
                _ctx.SaveChanges();
            }
        }
        public async Task OnInit()
        {
            FAQs = await _frequentlyAskedQuestionService.GetAll();

            NewOrEditFAQ = new FrequentlyAskedQuestion()
            {
                Active = true
            };
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="questionId"></param>
        /// <returns></returns>
        public void IncrementViewCount(int questionId)
        {
            FrequentlyAskedQuestion faq = _ctx.FrequentlyAskedQuestions.Find(questionId);

            if (faq != null)
            {
                faq.ViewCount++;
                _ctx.SaveChanges();
            }
        }
        public async Task <ActionResult> DeleteConfirmed(int id)
        {
            FrequentlyAskedQuestion frequentlyAskedQuestion = await _context.FrequentlyAskedQuestions.FindAsync(id);

            _context.FrequentlyAskedQuestions.Remove(frequentlyAskedQuestion);

            await _context.SaveChangesAsync();

            return(RedirectToAction <FrequentlyAskedQuestionsController>(c => c.Index())
                   .WithSuccess("Frequently Asked Question Deleted."));
        }
Beispiel #7
0
        public async Task <IActionResult> PostFrequentlyAskedQuestion([FromBody] FrequentlyAskedQuestion frequentlyAskedQuestion)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            _context.FrequentlyAskedQuestion.Add(frequentlyAskedQuestion);
            await _context.SaveChangesAsync();

            return(CreatedAtAction("GetFrequentlyAskedQuestion", new { id = frequentlyAskedQuestion.FrequentlyAskedQuestionId }, frequentlyAskedQuestion));
        }
Beispiel #8
0
        //GET: This function is used to fetch the data that will be displayed in the update FAQ view.
        public ActionResult UpdateFAQAdmin(int id)
        {
            Debug.WriteLine("Entering Update FAQ");
            Debug.WriteLine("Fetching data to be displayed in the update FAQ page");

            //Query to get the FAQ Details with specific FAQ id.
            string query = "select * from FrequentlyAskedQuestions where id = @id";
            FrequentlyAskedQuestion FAQ = db.FrequentlyAskedQuestions.SqlQuery(query, new SqlParameter("@id", id)).FirstOrDefault();

            //Calling the FAQ view with the Specific FAQ details
            return(View(FAQ));
        }
        public IActionResult Put(int id, [FromBody] FrequentlyAskedQuestion value)
        {
            var ticket = _context.Tickets.FirstOrDefault(x => x.Id == id);

            if (ticket == null)
            {
                return(NotFound(value));
            }

            ticket.Description = value.Description;

            _context.SaveChanges();

            return(Ok(ticket));
        }
Beispiel #10
0
        public IActionResult Put(int id, [FromBody] FrequentlyAskedQuestion value)
        {
            var faq = _context.FrequentlyAskedQuestions.FirstOrDefault(x => x.Id == id);

            if (faq == null)
            {
                return(NotFound());
            }

            faq.Answer      = value.Answer;
            faq.Description = value.Description;
            faq.Question    = value.Question;

            _context.SaveChanges();

            return(Ok(faq));
        }
        public async Task Save()
        {
            if (DialogId == default)
            {
                NewOrEditFAQ.Id = Guid.NewGuid();
                await _frequentlyAskedQuestionService.Create(NewOrEditFAQ);
            }
            else
            {
                await _frequentlyAskedQuestionService.Update(NewOrEditFAQ);
            }

            FAQs = await _frequentlyAskedQuestionService.GetAll();

            NewOrEditFAQ  = new FrequentlyAskedQuestion();
            EditModalOpen = false;
        }
        public async Task <ActionResult> Create(FrequentlyAskedQuestionCreateModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View(model));
            }

            var frequentlyAskedQuestion = new FrequentlyAskedQuestion {
                Order = model.Order, Question = model.Question, Answer = model.Answer
            };

            _context.FrequentlyAskedQuestions.Add(frequentlyAskedQuestion);

            await _context.SaveChangesAsync();

            return(RedirectToAction <FrequentlyAskedQuestionsController>(c => c.Index())
                   .WithSuccess("Frequently Asked Question Created."));
        }
Beispiel #13
0
        public async Task <IActionResult> PutFrequentlyAskedQuestion([FromRoute] Guid id, [FromBody] FrequentlyAskedQuestion frequentlyAskedQuestion)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }

            if (id != frequentlyAskedQuestion.FrequentlyAskedQuestionId)
            {
                return(BadRequest());
            }

            _context.Entry(frequentlyAskedQuestion).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!FrequentlyAskedQuestionExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
 public async Task Cancel()
 {
     NewOrEditFAQ  = new FrequentlyAskedQuestion();
     EditModalOpen = false;
 }
 public async Task Edit(FrequentlyAskedQuestion faq)
 {
     DialogId      = faq.Id;
     NewOrEditFAQ  = faq;
     EditModalOpen = true;
 }
Beispiel #16
0
 public Task Update(FrequentlyAskedQuestion frequentlyAskedQuestion)
 {
     return(_proxy.Update(frequentlyAskedQuestion));
 }