Example #1
0
 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");
        }
    }
Example #3
0
        /// <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));
        }
Example #4
0
    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;
    }
Example #5
0
        /// <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() + ")"));
        }
Example #6
0
        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));
        }
Example #7
0
        /// <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);
        }
Example #8
0
        /// <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() + ")"));
        }
Example #9
0
        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));
        }
Example #10
0
 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));
 }
Example #11
0
 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));
 }
Example #12
0
 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);
 }
Example #13
0
 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));
 }
Example #14
0
 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);
 }
Example #15
0
 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);
 }
Example #16
0
        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);
        }
Example #17
0
 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);
 }
Example #18
0
 /// <summary>
 /// 更新一个问题分类
 /// </summary>
 /// <param name="sort"></param>
 /// <returns></returns>
 public int UpdateSort(QuestionSort sort)
 {
     return(_dataAccess.UpdateEntity(sort));
 }
Example #19
0
 /// <summary>
 /// 添加一个问题分类
 /// </summary>
 /// <param name="sort"></param>
 /// <returns></returns>
 public int AddSort(QuestionSort sort)
 {
     return(_dataAccess.AddEntity(sort));
 }
Example #20
0
 /// <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);
 }
Example #21
0
 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));
 }
Example #22
0
        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));
        }
Example #24
0
        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));
        }
Example #25
0
 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);
 }