public void Post([FromBody] QuestionParam newQuestion)
 {
     _questionRepository.AddQuestion(new Question
     {
         Id        = newQuestion.Id,
         Body      = newQuestion.Body,
         UpdatedOn = DateTime.Now,
         UserId    = newQuestion.UserId
     });
 }
Esempio n. 2
0
 public async Task <bool> CreateQuestion(QuestionParam param)
 {
     _uow.QuestionRepository.Insert(new Models.Question()
     {
         QuestionContent = param.QuestionContent,
         SetId           = param.SetId,
         DispOrder       = param.DispOrder,
         QuestionTime    = param.QuestionTime
     });
     return(await _uow.CommitAsync() > 0);
 }
Esempio n. 3
0
 public async Task <ActionResult> CreateQuestion([FromRoute] int setId, [FromBody] QuestionParam param)
 {
     if (setId != param.SetId)
     {
         return(Forbid());
     }
     if (await _qService.CreateQuestion(param))
     {
         return(Created("", null));
     }
     return(BadRequest());
 }
Esempio n. 4
0
        public async Task <bool> UpdateQuestion(QuestionParam param)
        {
            Models.Question question = await _uow.QuestionRepository.GetFirst(filter : ques => ques.QuestionId == param.QuestionId);

            if (question != null)
            {
                question.QuestionTime    = param.QuestionTime;
                question.QuestionContent = param.QuestionContent;
                question.DispOrder       = param.DispOrder;
                question.SetId           = param.SetId;
                _uow.QuestionRepository.Update(question);
            }
            return(await _uow.CommitAsync() > 0);
        }
Esempio n. 5
0
        private MyCollection <Question> GetQuestionsByParam(QuestionParam param)
        {
            string url = _urlquestion;

            url += _urlkey;
            url  = this.GetUrlforParam(url, param);
            url += _urlfilter;
            try
            {
                MyCollection <Question> questioncollection = GetDataFromStackflow <MyCollection <Question> >(url);
                return(questioncollection);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
Esempio n. 6
0
        private void UpdateByCreationdate(QuestionParam param)
        {
            QuestionParam initialGetquestion = new QuestionParam()
            {
                Fromdate = param.Fromdate, Todate = param.Todate, Sort = "creation", Tagged = param.Tagged
            };

            Console.WriteLine("Initial Get Question Totally Volumn Via Current Tags Setting: " + param.Tagged);
            MyCollection <Question> initialQuestionCollection = GetQuestionsByParam(initialGetquestion);
            string strsql    = string.Empty;
            int    pagecount = initialQuestionCollection.Total / 100 + 1;

            for (int i = 1; i <= pagecount; i++)
            {
                QuestionParam questionparam = new QuestionParam()
                {
                    Page     = i,
                    Pagesize = 100,
                    Fromdate = param.Fromdate,
                    Todate   = param.Todate,
                    Sort     = "creation",
                    Tagged   = param.Tagged
                };
                MyCollection <Question> taggedQuestionCollection = GetQuestionsByParam(questionparam);
                foreach (Question question in taggedQuestionCollection.Items)
                {
                    int actionFlag;
                    if (RecoredsExistAndUpdate(out actionFlag, question))
                    {
                        switch (actionFlag)
                        {
                        case 1:
                            UpdateRecordsFromStackOverFlow(question);
                            break;
                        }
                    }
                    else
                    {
                        InsertLocalRecoredsFromStackOverFlow(question);
                    }
                }
                Console.WriteLine(string.Format("Import question at {0} page(s) / among {1} page(s)", i, pagecount));
                //Thread.Sleep(10000);
            }
        }
Esempio n. 7
0
 public async Task <ActionResult> UpdateQuestion([FromRoute] int setId, [FromRoute] int id, [FromBody] QuestionParam param)
 {
     if (id != param.QuestionId || setId != param.SetId)
     {
         return(Forbid());
     }
     if (await _qService.UpdateQuestion(param))
     {
         return(NoContent());
     }
     return(BadRequest());
 }