public NextResult GoNextSet(QuestionQuery query) { var lstResults = new NextResult(); lstResults.Status = "W"; lstResults.Message = "Required"; try { lstResults.Required = new List <long>(); lstResults.Selected = new List <long>(); List <Question> lst = SessionManager.QuestResult; foreach (Question quest in lst) { if (quest.Set == query.currentSet) { if (quest.Value == null) { lstResults.Required.Add(quest.Number); } else { lstResults.Selected.Add(quest.Number); } } } if (lstResults.Required.Count == 0) { lstResults.Status = "S"; } } catch (IOException ex) { //lstResults.Status = "R"; lstResults.Message = ex.Message; var logManager = new LogManager(); logManager.LogIOException(ex, "SponJobsManager", "GoNextSet"); } catch (Exception ex) { //lstResults.Status = "R"; lstResults.Message = ex.Message; while (ex.InnerException != null) { lstResults.Message += ex.InnerException.Message; ex = ex.InnerException; } //+ ex.InnerException.InnerException.Message; var logManager = new LogManager(); logManager.LogGeneralException(ex, "SponJobsManager", "GoNextSet"); } return(lstResults); }
public async Task <ListResult <QuestionDto> > QueryListAsync(QuestionQuery query) { var result = await _questionRepository.QueryListAsync(query); return(new ListResult <QuestionDto>(result) { Items = Mapper.Map <Question, QuestionDto>(result.Items, (from, to) => { to.Summary = from.Content.Text; }) }); }
public ActionResult GetQuestionList(QuestionQuery query) { if (query == null) { new QuestionQuery(); } if (!query.PageSize.HasValue) { query.PageSize = 10; } if (!query.PageIndex.HasValue) { query.PageIndex = 1; } query.UserID = this.UserData.UserID; try { PageVM <QuestionItemVM> quData = new BBSQuestionService().GetQuestionPageList(query); if (quData == null || quData.Data == null || quData.Data.Count == 0) { return(Json(new { Code = -200, Msg = "暂无数据", Data = quData })); } return(Json(new { Code = 200, Msg = "获取成功", Data = quData })); } catch (Exception ex) { throw ex; } }
public List <FreeSurvey> SelectAnswer(QuestionQuery query) { var lstResults = new List <FreeSurvey>(); try { List <FreeSurvey> lst = SessionManager.FreeSurveyResult; foreach (FreeSurvey quest in lst) { if (quest.Number == query.question) { quest.Value = query.value; } } SessionManager.FreeSurveyResult = lst; lstResults = lst; } catch (IOException ex) { //lstResults.Status = "R"; var logManager = new LogManager(); logManager.LogIOException(ex, "SponJobsManager", "GoFinalResult2"); } catch (Exception ex) { //lstResults.Status = "R"; while (ex.InnerException != null) { ex = ex.InnerException; } //+ ex.InnerException.InnerException.Message; var logManager = new LogManager(); logManager.LogGeneralException(ex, "SponJobsManager", "GoFinalResult2"); } return(lstResults); }
public async Task <QueryResult <Question> > GetQuestions(QuestionQuery queryObj) { var result = new QueryResult <Question>(); var query = context.Questions .Include(u => u.User) .AsQueryable(); var columnsMap = new Dictionary <string, Expression <Func <Question, object> > >() { ["title"] = x => x.Title, ["details"] = x => x.Details, ["firstname"] = x => x.User.FirstName, ["lastname"] = x => x.User.LastName }; query = query.ApplyOrdering(queryObj, columnsMap); result.TotalItems = await query.CountAsync(); query = query.ApplyPaging(queryObj); result.Items = await query.ToListAsync(); return(result); }
public ActionResult GetQAnswerPageList(QuestionQuery query) { if (query == null) { query = new QuestionQuery(); } if (!query.QuestionID.HasValue) { return(Json(new { Code = -400, Msg = "参数不能为空", Data = "" })); } query.UserID = this.UserData.UserID; PageVM <QuesitonDetailItemVM> quVM = new BBSQuestionService().GetQAnswerPageList(query); if (quVM == null) { return(Json(new { Code = -200, Msg = "暂无数据", Data = "" })); } return(Json(new { Code = 200, Msg = "获取成功", Data = quVM })); }
public FinalResult GoFinalResult(QuestionQuery query) { var lstResults = new FinalResult(); lstResults.Status = "W"; lstResults.Message = "Required"; try { lstResults.Required = new List <long>(); lstResults.Selected = new List <long>(); List <Question> lst = SessionManager.QuestResult; PrintingData2 QuizResult = new PrintingData2(); foreach (Question quest in lst) { if (quest.Set == query.currentSet) { if (quest.Value == null) { lstResults.Required.Add(quest.Number); } else { lstResults.Selected.Add(quest.Number); } } } if (lstResults.Required.Count == 0) { List <PrintingData2> results = new List <PrintingData2>(); QuizResult.PrintingDate = DateTime.Now; foreach (Question quest in lst) { switch (quest.Group) { case 1: QuizResult.EResult += (long)quest.Value; break; case 2: QuizResult.AResult += (long)quest.Value; break; case 3: QuizResult.CResult += (long)quest.Value; break; case 4: QuizResult.IResult += (long)quest.Value; break; case 5: QuizResult.SResult += (long)quest.Value; break; case 6: QuizResult.RResult += (long)quest.Value; break; default: break; } } results.Add(QuizResult); PrintManager pm = new PrintManager(); lstResults.FilePath = pm.PrintResult2(results); SessionManager.QuizResult = new QuizTest() { PrintingData2 = QuizResult, FilePath = lstResults.FilePath }; lstResults.Status = "S"; } } catch (IOException ex) { //lstResults.Status = "R"; lstResults.Message = ex.Message; var logManager = new LogManager(); logManager.LogIOException(ex, "SponJobsManager", "GoFinalResult2"); } catch (Exception ex) { //lstResults.Status = "R"; lstResults.Message = ex.Message; while (ex.InnerException != null) { lstResults.Message += ex.InnerException.Message; ex = ex.InnerException; } //+ ex.InnerException.InnerException.Message; var logManager = new LogManager(); logManager.LogGeneralException(ex, "SponJobsManager", "GoFinalResult2"); } return(lstResults); }
/// <summary> /// 获取问题列表 /// </summary> /// <param name="query"></param> /// <returns></returns> public PageVM <QuestionItemVM> GetQuestionPageList(QuestionQuery query) { using (var dbContext = new DbContext().ConnectionStringName(ConnectionUtil.connBBS, new MySqlProvider())) { List <SqlParameter> paramList = new List <SqlParameter>(); string sql = string.Format(@" -- 选取每个问题点赞数量最多的回答 drop table if EXISTS tempAnswer; create TEMPORARY table tempAnswer ( select * from ( select ID as AnswerID, QuestionID, (select count(1) from bbspraisetread p where p.BindTableID = a.ID and p.BindTableName = 'bbsanswer' and p.PraiseOrTread = 1)as TotalPraise, (select count(1) from bbspraisetread p where p.BindTableID = a.ID and p.BindTableName = 'bbsanswer' and p.PraiseOrTread = 2)as TotalTread, ( select count(*) from bbspraisetread p where p.BindTableID = a.ID and p.BindTableName = 'bbsanswer' and p.PraiseOrTread = 1 and p.UserID = {0} )as IsPraised, ( select count(*) from bbspraisetread p where p.BindTableID = a.ID and p.BindTableName = 'bbsanswer' and p.PraiseOrTread = 2 and p.UserID = {0} )as IsTreaded from bbsanswer a where QuestionID in (select ID from bbsquestion) ORDER BY TotalPraise DESC )x GROUP BY x.QuestionID ); select q.ID as QuestionID, q.Title, q.UserID, q.UserName, a.ID as AnswerID, a.Content, t.TotalPraise, t.TotalTread, t.IsPraised, t.IsTreaded from bbsquestion q left join tempAnswer t on q.ID = t.QuestionID left join bbsanswer a on t.AnswerID = a.ID Where 1=1 " , query.UserID); if (!string.IsNullOrEmpty(query.KeyWord)) { sql += string.Format(@" AND q.Title Like '%{0}%' ", query.KeyWord); } sql += " ORDER BY q.InputTime DESC "; string sqlPage = string.Format(" Limit {0},{1} ", (query.PageIndex - 1) * query.PageSize, query.PageSize); List <QuestionItemVM> quList = dbContext.Sql(sql + sqlPage).QueryMany <QuestionItemVM>((QuestionItemVM vm, IDataReader reader) => { vm.QuestionID = reader.GetInt64("QuestionID"); vm.AnswerID = reader.GetInt64("AnswerID"); vm.Title = reader.GetString("Title"); vm.Content = string.IsNullOrEmpty(reader.GetString("Content")) ? "" : reader.GetString("Content"); vm.TotalPraise = Convert.ToInt32(reader["TotalPraise"]); vm.TotalTread = Convert.ToInt32(reader["TotalTread"]); vm.UserID = Convert.ToInt32(reader["UserID"]); vm.UserName = reader.GetString("UserName"); vm.IsPraised = Convert.ToInt32(reader["IsPraised"]); vm.IsTreaded = Convert.ToInt32(reader["IsTreaded"]); }); //总条数 int totalCount = dbContext.Sql(sql).QueryMany <int>().Count; //总页数 int totalPages = (int)Math.Ceiling(((double)totalCount / query.PageSize.Value)); PageVM <QuestionItemVM> pageData = new PageVM <QuestionItemVM>() { TotalCount = totalPages, TotalPages = totalPages, Data = quList }; return(pageData); } }
public Question Get(Guid communityId, Guid questionId) { var query = new QuestionQuery(node.Blockchain); return(query.Execute(communityId, questionId)); }
public async Task <Page <QuestionDto> > GetQuestionPage([FromQuery] QuestionQuery query) { return(_mapper.Map <Page <QuestionDto> >(await _questionService.GetQuestionPageByQuery(query))); }
public IEnumerable <QuestionDto> GetQuestions([FromQuery] QuestionQuery query, [FromQuery] PagingQuery paging) { return(_mapper.Map <IEnumerable <QuestionDto> >(_questionService.GetQuestionsByQuery(query)) .Skip(paging.StartPage * paging.PageSize) .Take(paging.PageSize)); }
public List <FreeSurvey> SelectAnswer(QuestionQuery query) { return(freeSurveyManager.SelectAnswer(query)); }
public FinalResult GoFinalResult(QuestionQuery query) { return(surveyManager.GoFinalResult(query)); }
public NextResult GoNextSet(QuestionQuery query) { return(surveyManager.GoNextSet(query)); }
public SelectQuestResult SelectQuest(QuestionQuery query) { return(surveyManager.SelectQuest(query)); }
public PageVM <QuesitonDetailItemVM> GetQAnswerPageList(QuestionQuery query) { if (!query.QuestionID.HasValue) { return(null); } if (!query.PageSize.HasValue) { query.PageSize = 10; } if (!query.PageIndex.HasValue) { query.PageIndex = 1; } string sql = string.Format(@" select * from ( select a.ID as AnswerID, a.Content, a.InputTime as EditTime, (select Count(1) from bbspraisetread p where p.BindTableID = a.ID and p.BindTableName = 'bbsanswer' and p.PraiseOrTread = 1)as PraiseCount, (select Count(1) from bbspraisetread p where p.BindTableID = a.ID and p.BindTableName = 'bbsanswer' and p.PraiseOrTread = 2)as TreadCount, ( select count(*) from bbspraisetread p where p.BindTableID = a.ID and p.BindTableName = 'bbsanswer' and p.PraiseOrTread = 1 and p.UserID = {1} )as IsPraised, ( select count(*) from bbspraisetread p where p.BindTableID = a.ID and p.BindTableName = 'bbsanswer' and p.PraiseOrTread = 2 and p.UserID = {1} )as IsTreaded, u.ID as UserID, u.LoginName as UserName, u.HeadImageUrl as LogoUrl from bbsanswer a join bbsuser u on a.UserID = u.ID where a.QuestionID = {0} )x ", query.QuestionID, query.UserID); sql += " ORDER BY x.EditTime desc ,x.PraiseCount desc "; string sqlPage = string.Format(" Limit {0},{1} ;", query.PageSize * (query.PageIndex - 1), query.PageSize); using (var dbContext = new DbContext().ConnectionStringName(ConnectionUtil.connBBS, new MySqlProvider())) { List <QuesitonDetailItemVM> itemList = dbContext.Sql(sql) .QueryMany <QuesitonDetailItemVM> ((QuesitonDetailItemVM vm, IDataReader reader) => { vm.AnswerID = reader.GetInt64("AnswerID"); vm.Content = reader.GetString("Content"); vm.EditTime = reader.GetDateTime("EditTime"); vm.PraiseCount = Convert.ToInt32(reader["PraiseCount"]); vm.TreadCount = Convert.ToInt32(reader["TreadCount"]); vm.UserID = reader.GetInt32("UserID"); vm.UserName = reader.GetString("UserName"); vm.LogoUrl = reader.GetString("LogoUrl"); vm.IsPraised = Convert.ToInt32(reader["IsPraised"]); vm.IsTreaded = Convert.ToInt32(reader["IsTreaded"]); }); if (itemList == null || itemList.Count == 0) { return(null); } //总条数 int totalCount = dbContext.Sql(sql).QueryMany <int>().Count; //总页数 int totalPages = (int)Math.Ceiling(((double)totalCount / query.PageSize.Value)); PageVM <QuesitonDetailItemVM> pageVM = new PageVM <QuesitonDetailItemVM>() { Data = itemList, TotalCount = totalCount, TotalPages = totalPages }; return(pageVM); } }
private string GetInsertionQuestionLine(QuestionQuery question) { return ($"EXECUTE [dbo].[addQuestionWithId] {question.QuestionId}, {question.UserId}, N'{question.Condition}', N'{question.OriginalBackgroundUrl}', {(int)question.AudienceType}, {(int)question.QuestionType}, N'{question.FirstOption}', N'{question.SecondOption}', '{question.AddedDate:u}'"); }