private void GetChildrenSort(QuestionSort sort, List <QuestionSort> results, IEnumerable <QuestionSort> allSorts) { results.Add(sort); foreach (var questionSort in allSorts.Where(p => p.ParentId == sort.SortId)) { GetChildrenSort(questionSort, results, allSorts); } }
public void NextQuestion() { if (currentQuestion % 2 == 0) { QuestionSort.Set(QuestionSort.currentQuestion += 1); SceneManager.LoadScene("BossSkeleton"); } else { QuestionSort.Set(QuestionSort.currentQuestion += 1); SceneManager.LoadScene("BossBoomer"); } }
/// <summary> /// 删除问题 /// </summary> /// <param name="question"></param> /// <returns></returns> public int DeleteQuestion(IntQuestion question) { if (question.SortId != 0) { var allsorts = GetAllSorts(question.TenantId); QuestionSort sort = allsorts.First(p => p.SortId == question.SortId); while (sort.ParentId != 0) { sort = allsorts.First(p => p.SortId == sort.ParentId); } _dataAccess.UpdateFieldCalc("Int_QuestionSort", "QuestionCount", "QuestionCount-1", "SortId=" + sort.SortId); } //删除索引 SetQuestionFullSearch(question.QuestionId); return(_dataAccess.UpdateField("Int_Question", "IsDelete", "1", "QuestionId=" + question.QuestionId)); }
IEnumerator AttackAnim() { answerDialogue.SetActive(false); isShowDialogue = false; isAtacking = true; target = boss.transform.position - new Vector3(2, -1f); startPos = transform.position; Debug.Log(target); Debug.Log(startPos); float step = speed * Time.deltaTime; while (transform.position != target) { Debug.Log(transform.position); transform.localPosition = Vector3.MoveTowards(transform.position, target, step); yield return(new WaitForEndOfFrame()); } if (CompareTag("CorrectHero")) { atackText.text = "Acertei"; scoreCounter.score += 50; QuestionSort.SetScore(scoreCounter.score); FindObjectOfType <SceneControler>().NextQuestion(); } else { atackText.text = "ERROU!"; scoreCounter.score -= 20; QuestionSort.SetScore(scoreCounter.score); FindObjectOfType <SceneControler>().NextQuestion(); } target = startPos; while (transform.position != target) { Debug.Log(transform.position); transform.localPosition = Vector3.MoveTowards(transform.position, target, step); yield return(new WaitForEndOfFrame()); } atackText.text = ""; yield return(null); isAtacking = false; }
/// <summary> /// 批量修改分类 /// </summary> /// <param name="questionIds"></param> /// <param name="sortId"></param> /// <returns></returns> public int ChangeQuestionSort(IEnumerable <int> questionIds, int sortId) { var list = _dataAccess.GetList <IntQuestion>("Int_Question.QuestionId IN (" + questionIds.GetString() + ")"); if (list.Count == 0) { return(0); } var allsorts = GetAllSorts(list[0].TenantId); List <int> jian = new List <int>(); int jia = 0; foreach (var item in list) { QuestionSort sort = allsorts.FirstOrDefault(p => p.SortId == item.SortId); if (sort == null) { continue; } while (sort.ParentId != 0) { sort = allsorts.First(p => p.SortId == sort.ParentId); } jian.Add(sort.SortId); } QuestionSort sorttt = allsorts.FirstOrDefault(p => p.SortId == sortId); while (sorttt != null && sorttt.ParentId != 0) { sorttt = allsorts.First(p => p.SortId == sorttt.ParentId); } jia = sorttt != null ? sorttt.SortId : 0; if (jian.Count > 0) { _dataAccess.UpdateFieldCalc("Int_QuestionSort", "QuestionCount", "QuestionCount-1", "SortId in (" + jian.GetString() + ")"); } if (jia > 0) { _dataAccess.UpdateFieldCalc("Int_QuestionSort", "QuestionCount", "QuestionCount+1", "SortId = " + jia); } return(_dataAccess.UpdateField("Int_Question", "SortId", sortId.ToString(), "QuestionId IN (" + questionIds.GetString() + ")")); }
public ActionResult QSort(int sortId, int parentId = 0) { QuestionSort sort; ViewBag.parentId = parentId; if (sortId == 0) { sort = new QuestionSort(); } else { sort = qaService.GetSortById(sortId); } var parent = qaService.GetSortById(parentId); ViewBag.parentName = parent == null ? CurrentTenant.TenantName : parent.SortName; sort.ParentId = parentId; return(View(sort)); }
/// <summary> /// 新增问题 /// </summary> /// <param name="question"></param> /// <returns></returns> public int AddQuestion(IntQuestion question) { if (question.SortId != 0) { var allsorts = GetAllSorts(question.TenantId); QuestionSort sort = allsorts.First(p => p.SortId == question.SortId); while (sort.ParentId != 0) { sort = allsorts.First(p => p.SortId == sort.ParentId); } _dataAccess.UpdateFieldCalc("Int_QuestionSort", "QuestionCount", "QuestionCount+1", "SortId=" + sort.SortId); } var id = _dataAccess.AddEntity(question); //全文检索 SetQuestionFullSearch(question.QuestionId); return(id); }
/// <summary> /// 批量删除 /// </summary> /// <param name="questionIds"></param> /// <returns></returns> public int DeleteQuestions(IEnumerable <int> questionIds) { var sortIds = _dataAccess.FetchListBySql <int>("SELECT SortId FROM Int_Question WHERE QuestionId IN (" + questionIds.GetString() + ")"); var allsorts = BusinessCache.SingleTableCache.Instance.GetCache <QuestionSort>(); var updateCountSql = new StringBuilder(); foreach (var sortId in sortIds) { if (sortId == 0) { continue; } QuestionSort sort = allsorts.First(p => p.SortId == sortId); while (sort.ParentId != 0) { sort = allsorts.First(p => p.SortId == sort.ParentId); } updateCountSql.AppendLine("UPDATE Int_QuestionSort SET QuestionCount=QuestionCount-1 WHERE SortId =" + sort.SortId); } if (updateCountSql.Length > 0) { _dataAccess.ExecuteSql(updateCountSql.ToString()); } //删除索引 foreach (var questionId in questionIds) { FullTextSearchProvider.DelIndex <FullTextIndexQuestion>("intquestion", questionId); } return(_dataAccess.UpdateField("Int_Question", "IsDelete", "1", "QuestionId IN (" + questionIds.GetString() + ")")); }
public JsonResult SaveSort(int id, int parentId, string cname, string desc) { QuestionSort sort; var parent = qaService.GetSortById(parentId); if (id == 0) { sort = new QuestionSort() { ParentId = parentId, TenantId = CurrentTenant.TenantId, SortName = cname, SortDesc = desc, LevelPath = parent == null ? cname : parent.LevelPath + "\\" + cname }; } else { sort = qaService.GetSortById(id); if (sort.TenantId != CurrentTenant.TenantId) { return(Json(new { result = 0, msg = "没有找到要修改的分类" }, JsonRequestBehavior.DenyGet)); } sort.LevelPath = parent == null ? cname : parent.LevelPath + "\\" + cname; sort.SortName = cname; sort.SortDesc = desc; } if (id == 0) { qaService.AddSort(sort); } else { qaService.UpdateSort(sort); } return(Json(new { result = 1, msg = LanguageResources.Common.SaveSuccess }, JsonRequestBehavior.DenyGet)); }
public virtual IPagedList <Question> GetRelatedQuestions(IEnumerable <int> questionIds, QuestionSort sortBy = QuestionSort.Activity, SortDirection sortDirection = SortDirection.Descending, int?page = null, int?pageSize = null, bool includeBody = false, bool includeComments = false, bool includeAnswers = false, DateTime?fromDate = null, DateTime?toDate = null, int?min = null, int?max = null) { return(GetQuestions("questions", new string[] { questionIds.Vectorize(), "related" }, sortBy.ToString(), GetSortDirection(sortDirection), page, pageSize, includeBody, includeComments, includeAnswers, fromDate, toDate, min, max, null)); }
public virtual IPagedList <Question> GetRelatedQuestions(int questionId, QuestionSort sortBy = QuestionSort.Activity, SortDirection sortDirection = SortDirection.Descending, int?page = null, int?pageSize = null, bool includeBody = false, bool includeComments = false, bool includeAnswers = false, DateTime?fromDate = null, DateTime?toDate = null, int?min = null, int?max = null) { return(GetRelatedQuestions(questionId.ToArray(), sortBy, sortDirection, page, pageSize, includeBody, includeComments, includeAnswers, fromDate, toDate, min, max)); }
public virtual IPagedList<Question> GetQuestions(QuestionSort sortBy = QuestionSort.Activity, SortDirection sortDirection = SortDirection.Descending, int? page = null, int? pageSize = null, bool includeBody = false, bool includeComments = false, bool includeAnswers = false, DateTime? fromDate = null, DateTime? toDate = null, int? min = null, int? max = null, string[] tags = null) { var sortArgs = sortBy.GetAttribute<SortArgsAttribute>(); return GetQuestions("questions", sortArgs.UrlArgs, sortArgs.Sort, GetSortDirection(sortDirection), page, pageSize, includeBody, includeComments, includeAnswers, fromDate, toDate, min, max, tags); }
public virtual IPagedList <Question> GetUnansweredQuestions(int userId, int?page = null, int?pageSize = null, QuestionSort sortBy = QuestionSort.Activity, SortDirection sortDirection = SortDirection.Descending, DateTime?fromDate = null, DateTime?toDate = null, int?min = null, int?max = null, bool?includeBody = null, bool?includeAnswers = null, bool?includeComments = null) { return(GetUnansweredQuestions(userId.ToArray(), page, pageSize, sortBy, sortDirection, fromDate, toDate, min, max, includeBody, includeAnswers, includeComments)); }
public virtual void GetNoAnswerQuestions(Action <IPagedList <Question> > onSuccess, Action <ApiException> onError, QuestionSort sortBy = QuestionSort.Activity, SortDirection sortDirection = SortDirection.Descending, int?page = null, int?pageSize = null, bool includeBody = false, bool includeComments = false, bool includeAnswers = false, DateTime?fromDate = null, DateTime?toDate = null, int?min = null, int?max = null) { GetQuestions(onSuccess, onError, "questions", new string[] { "no-answers" }, sortBy.ToString(), GetSortDirection(sortDirection), page, pageSize, includeBody, includeComments, includeAnswers, fromDate, toDate, min, max, null); }
public virtual void GetRelatedQuestions(Action <IPagedList <Question> > onSuccess, Action <ApiException> onError, int questionId, QuestionSort sortBy = QuestionSort.Activity, SortDirection sortDirection = SortDirection.Descending, int?page = null, int?pageSize = null, bool includeBody = false, bool includeComments = false, bool includeAnswers = false, DateTime?fromDate = null, DateTime?toDate = null, int?min = null, int?max = null) { GetRelatedQuestions(onSuccess, onError, questionId.ToArray(), sortBy, sortDirection, page, pageSize, includeBody, includeComments, includeAnswers, fromDate, toDate, min, max); }
public virtual void GetQuestions(Action <IPagedList <Question> > onSuccess, Action <ApiException> onError, QuestionSort sortBy = QuestionSort.Activity, SortDirection sortDirection = SortDirection.Descending, int?page = null, int?pageSize = null, bool includeBody = false, bool includeComments = false, bool includeAnswers = false, DateTime?fromDate = null, DateTime?toDate = null, int?min = null, int?max = null, string[] tags = null) { var sortArgs = sortBy.GetAttribute <SortArgsAttribute>(); GetQuestions(onSuccess, onError, "questions", sortArgs.UrlArgs, sortArgs.Sort, GetSortDirection(sortDirection), page, pageSize, includeBody, includeAnswers, includeComments, fromDate, toDate, min, max, tags); }
public virtual void GetQuestions(Action<IPagedList<Question>> onSuccess, Action<ApiException> onError = null, QuestionSort sortBy = QuestionSort.Activity, SortDirection sortDirection = SortDirection.Descending, int? page = null, int? pageSize = null, bool includeBody = false, bool includeComments = false, bool includeAnswers = false, DateTime? fromDate = null, DateTime? toDate = null, string[] tags = null) { var sortArgs = sortBy.GetAttribute<SortArgsAttribute>(); GetQuestions(onSuccess, onError, "questions", sortArgs.UrlArgs, sortArgs.Sort, GetSortDirection(sortDirection), page, pageSize, includeBody, includeAnswers, includeComments, fromDate, toDate, tags); }
/// <summary> /// 更新一个问题分类 /// </summary> /// <param name="sort"></param> /// <returns></returns> public int UpdateSort(QuestionSort sort) { return(_dataAccess.UpdateEntity(sort)); }
/// <summary> /// 添加一个问题分类 /// </summary> /// <param name="sort"></param> /// <returns></returns> public int AddSort(QuestionSort sort) { return(_dataAccess.AddEntity(sort)); }
/// <summary> /// Gets the questions asked by the users in id which the site consideres unanswered, while still having at least one answer posted. /// These rules are subject to change, but currently any question without at least one upvoted or accepted answer is considered unanswered. /// </summary> public virtual void GetUnansweredQuestions(Action <IPagedList <Question> > onSuccess, Action <ApiException> onError, int userId, int?page = null, int?pageSize = null, QuestionSort sortBy = QuestionSort.Activity, SortDirection sortDirection = SortDirection.Descending, DateTime?fromDate = null, DateTime?toDate = null, int?min = null, int?max = null, bool?includeBody = null, bool?includeAnswers = null, bool?includeComments = null) { GetUnansweredQuestions(onSuccess, onError, userId.ToArray(), page, pageSize, sortBy, sortDirection, fromDate, toDate, min, max, includeBody, includeAnswers, includeComments); }
public virtual IPagedList <Question> GetNoAnswerQuestions(QuestionSort sortBy = QuestionSort.Activity, SortDirection sortDirection = SortDirection.Descending, int?page = null, int?pageSize = null, bool includeBody = false, bool includeComments = false, bool includeAnswers = false, DateTime?fromDate = null, DateTime?toDate = null, int?min = null, int?max = null) { return(GetQuestions("questions", new string[] { "no-answers" }, sortBy.ToString(), GetSortDirection(sortDirection), page, pageSize, includeBody, includeComments, includeAnswers, fromDate, toDate, min, max, null)); }
public virtual IPagedList <Question> GetUnansweredQuestions(IEnumerable <int> userIds, int?page = null, int?pageSize = null, QuestionSort sortBy = QuestionSort.Activity, SortDirection sortDirection = SortDirection.Descending, DateTime?fromDate = null, DateTime?toDate = null, int?min = null, int?max = null, bool?includeBody = null, bool?includeAnswers = null, bool?includeComments = null) { var response = MakeRequest <QuestionResponse>("users", new string[] { userIds.Vectorize(), "questions", "unanswered" }, new { key = apiKey, page = page ?? null, pagesize = pageSize ?? null, sort = sortBy.ToString().ToLower(), order = GetSortDirection(sortDirection), fromdate = fromDate.HasValue ? (long?)fromDate.Value.ToUnixTime() : null, todate = toDate.HasValue ? (long?)toDate.Value.ToUnixTime() : null, min = min ?? null, max = max ?? null, body = includeBody, comments = includeComments, answers = includeAnswers }); return(new PagedList <Question>(response.Questions, response)); }
public virtual IPagedList <Question> GetQuestions(QuestionSort sortBy = QuestionSort.Activity, SortDirection sortDirection = SortDirection.Descending, int?page = null, int?pageSize = null, DateTime?fromDate = null, DateTime?toDate = null, string tags = null, string site_ = "stackoverflow", string filter = null, long?min_ = null, string accessToken = null) { var sortArgs = sortBy.GetAttribute <SortArgsAttribute>(); return(GetQuestions("questions", sortArgs.UrlArgs, sortArgs.Sort, GetSortDirection(sortDirection), page, pageSize, fromDate, toDate, tags, site_, filter, min_, accessToken)); }
public virtual IPagedList <Question> GetQuestions(QuestionSort sortBy = QuestionSort.Activity, SortDirection sortDirection = SortDirection.Descending, int?page = null, int?pageSize = null, bool includeBody = false, bool includeComments = false, bool includeAnswers = false, DateTime?fromDate = null, DateTime?toDate = null, int?min = null, int?max = null, string[] tags = null) { var sortArgs = sortBy.GetAttribute <SortArgsAttribute>(); return(GetQuestions("questions", sortArgs.UrlArgs, sortArgs.Sort, GetSortDirection(sortDirection), page, pageSize, includeBody, includeComments, includeAnswers, fromDate, toDate, min, max, tags)); }
public virtual void GetNoAnswerQuestions(Action <IPagedList <Question> > onSuccess, Action <ApiException> onError, IEnumerable <int> userIds, int?page = null, int?pageSize = null, QuestionSort sortBy = QuestionSort.Activity, SortDirection sortDirection = SortDirection.Descending, DateTime?fromDate = null, DateTime?toDate = null, int?min = null, int?max = null, bool?includeBody = null, bool?includeAnswers = null, bool?includeComments = null) { MakeRequest <QuestionResponse>("users", new string[] { userIds.Vectorize(), "questions", "no-answers" }, new { key = apiKey, page = page ?? null, pagesize = pageSize ?? null, sort = sortBy.ToString().ToLower(), order = GetSortDirection(sortDirection), fromdate = fromDate.HasValue ? (long?)fromDate.Value.ToUnixTime() : null, todate = toDate.HasValue ? (long?)toDate.Value.ToUnixTime() : null, min = min ?? null, max = max ?? null, body = includeBody, comments = includeComments, answers = includeAnswers }, (response) => onSuccess(new PagedList <Question>(response.Questions, response)), onError); }