示例#1
0
        public List<Exams> GetExamsByID(int ExamsID)
        {
            List<Exams> newExams = new List<Exams>();

            Exams getExamsQuestions = new Exams();
            DataSet newSetOfExams = getExamsQuestions.getExamsByID(ExamsID);
            foreach (DataTable table in newSetOfExams.Tables)
            {
                foreach (DataRow row in table.Rows)
                {

                    Exams requestedExams = new Exams();
                    Questions requestedQuestions = new Questions();
                    requestedQuestions.Question_ID = int.Parse(row["Questions_ID"].ToString());
                    requestedQuestions.Question = row["Questions_Main"].ToString();
                    requestedQuestions.multiplechoice1 = row["MultipleChoice1"].ToString();
                    requestedQuestions.multiplechoice2 = row["MultipleChoice2"].ToString();
                    requestedQuestions.multiplechoice3 = row["MultipleChoice3"].ToString();
                    if (String.IsNullOrEmpty(row["Question_Answer"].ToString()))
                        requestedQuestions.selectedAnswer = Char.Parse(row["Question_Answer"].ToString());
                        requestedExams.Exams_ID = int.Parse(row["Exams_ID"].ToString());
                    requestedExams.Exmas_Question = requestedQuestions;

                    newExams.Add(requestedExams);
                }
            }
            return newExams;
        }
        Task<StacManResponse<Question>> ISearchMethods.GetMatches(string site, string filter, int? page, int? pagesize, DateTime? fromdate, DateTime? todate, Questions.SearchSort? sort, DateTime? mindate, DateTime? maxdate, int? min, int? max, Order? order, string tagged, string nottagged, string intitle)
        {
            ValidateString(site, "site");
            ValidatePaging(page, pagesize);
            ValidateSortMinMax(sort, mindate: mindate, maxdate: maxdate, min: min, max: max);

            var ub = new ApiUrlBuilder(Version, "/search", useHttps: false);

            ub.AddParameter("site", site);
            ub.AddParameter("filter", filter);
            ub.AddParameter("page", page);
            ub.AddParameter("pagesize", pagesize);
            ub.AddParameter("fromdate", fromdate);
            ub.AddParameter("todate", todate);
            ub.AddParameter("sort", sort);
            ub.AddParameter("min", mindate);
            ub.AddParameter("max", maxdate);
            ub.AddParameter("min", min);
            ub.AddParameter("max", max);
            ub.AddParameter("order", order);
            ub.AddParameter("tagged", tagged);
            ub.AddParameter("nottagged", nottagged);
            ub.AddParameter("intitle", intitle);

            return CreateApiTask<Question>(ub, HttpMethod.GET, "/search");
        }
        Task<StacManResponse<Question>> IQuestionMethods.GetByIds(string site, IEnumerable<int> ids, string filter = null, int? page = null, int? pagesize = null, DateTime? fromdate = null, DateTime? todate = null, Questions.Sort? sort = null, DateTime? mindate = null, DateTime? maxdate = null, int? min = null, int? max = null, Order? order = null)
        {
            var filterObj = ValidateAndGetFilter(filter);

            ValidateString(site, "site");
            ValidateEnumerable(ids, "ids");
            ValidatePaging(page, pagesize);
            ValidateSortMinMax(sort, mindate: mindate, maxdate: maxdate, min: min, max: max);

            var ub = new ApiUrlBuilder(String.Format("/questions/{0}", String.Join(";", ids)), useHttps: false);

            ub.AddParameter("site", site);
            ub.AddParameter("filter", filter);
            ub.AddParameter("page", page);
            ub.AddParameter("pagesize", pagesize);
            ub.AddParameter("fromdate", fromdate);
            ub.AddParameter("todate", todate);
            ub.AddParameter("sort", sort);
            ub.AddParameter("min", mindate);
            ub.AddParameter("max", maxdate);
            ub.AddParameter("min", min);
            ub.AddParameter("max", max);
            ub.AddParameter("order", order);

            return CreateApiTask<Question>(ub, filterObj, "/questions/{ids}");
        }
    protected void Page_Load(object sender, EventArgs e)
    {
        if (!IsPostBack)
        {
            Session["start"] = DateTime.Now;

        }
        ques = Questions.GetQuestions();
        if (ques.IsMCQ(Index))
        {
            Label1.Text = ques.getMCQ(Index).Question;
            MultiView1.ActiveViewIndex = 0;
        }
        else
            if (ques.IsBlank(Index))
            {
                Label2.Text = ques.getBlank(Index).Question;
                MultiView1.ActiveViewIndex = 1;
            }
            else
                if (ques.IsBool(Index))
                {
                    Label3.Text = ques.getBool(Index).Question;
                    MultiView1.ActiveViewIndex = 2;

                }
    }
        Task<StacManResponse<Question>> ISearchMethods.GetSimilar(string site, string filter = null, int? page = null, int? pagesize = null, DateTime? fromdate = null, DateTime? todate = null, Questions.SearchSort? sort = null, DateTime? mindate = null, DateTime? maxdate = null, int? min = null, int? max = null, Order? order = null, string tagged = null, string nottagged = null, string inttitle = null)
        {
            var filterObj = ValidateAndGetFilter(filter);

            ValidateString(site, "site");
            ValidatePaging(page, pagesize);
            ValidateSortMinMax(sort, mindate: mindate, maxdate: maxdate, min: min, max: max);

            var ub = new ApiUrlBuilder("/similar", useHttps: false);

            ub.AddParameter("site", site);
            ub.AddParameter("filter", filter);
            ub.AddParameter("page", page);
            ub.AddParameter("pagesize", pagesize);
            ub.AddParameter("fromdate", fromdate);
            ub.AddParameter("todate", todate);
            ub.AddParameter("sort", sort);
            ub.AddParameter("min", mindate);
            ub.AddParameter("max", maxdate);
            ub.AddParameter("min", min);
            ub.AddParameter("max", max);
            ub.AddParameter("order", order);
            ub.AddParameter("tagged", tagged);
            ub.AddParameter("nottagged", nottagged);
            ub.AddParameter("inttitle", inttitle);

            return CreateApiTask<Question>(ub, filterObj, "/similar");
        }
        /// <summary>
        /// Adds the Questions set to the database.
        /// </summary>
        /// <param name="questions">The Questions set you want to add.</param>
        /// <param name="classId">The id of the parent Class.</param>
        /// <param name="omitQuestions">Whether you want to add Question objects too.</param>
        public static void AddQuestionSet(Questions questions, Guid classId, bool omitQuestions = false)
        {
            string text = "insert into dbo.Questions values ('" + questions.Id.ToString() + "', '" + classId.ToString() + "', '" + questions.section + "');";
            StudyToolSql.RunSql(text);

            if (!omitQuestions)
                questions.questions.ForEach(q => StudyToolSql.AddQuestion(q, questions.Id, classId));
        }
        public ActionResult CreateQuestions(Questions q)
        {
            if (ModelState.IsValid)
            {
                db.Questions.Add(q);
                db.SaveChanges();
                return RedirectToAction("Index");
            }

            return View(q);
        }
示例#8
0
        private static string stringHelper(Questions question)
        {
            String input = Console.ReadLine();

            if (input.Equals(string.Empty))
            {
                Console.Write("Error please, ");
                return Ask(question);
            }

            return input;
        }
示例#9
0
        private static void askHelper(Questions question)
        {
            switch (question)
            {
                case Questions.AskForName:
                    Console.WriteLine("What is your name?");
                    break;

                case Questions.AskForAge:
                    Console.WriteLine("What is your age?");
                    break;

                case Questions.AskForUsername:
                    Console.WriteLine("What is your username?");
                    break;
            }
        }
        public async Task SelectMany_ReturningActionAsyncTask_ShouldReturnCorrectResult(
            int value1,
            int value2)
        {
            // arrange
            var result = 0;
            var action = Questions.FromResult(value1)
                         .SelectMany(v => Actions.FromResult(Delay(() => { result = v + value2; })));
            var actor = new Actor("john");
            // act
            var   task = actor.When(action);
            await task;
            var   actual = result;
            // assert
            var expected = value1 + value2;

            Assert.Equal(expected, actual);
        }
示例#11
0
        public async Task <IActionResult> SaveQuestion()
        {
            string    content   = Request.Form["Content"].TryToString();
            int       QType     = Request.Form["QType"].TryToInt(1);
            Questions questions = new Questions();

            questions.QuestionsType = (QuestionsTypeEnum)QType;
            questions.Content       = content;
            QuestionsBll bll = new QuestionsBll();
            int          id  = await bll.AddAsync(questions);

            if (id > 0)
            {
                return(Json(new { code = 1, msg = "OK", id = id }));
            }

            return(Json(new { code = 0, msg = "保存失败" }));
        }
示例#12
0
        public async Task <bool> ExecuteQuestionsEditCommandAsync(Questions questions)
        {
            var result = await StoreManager.QuestionsService.EditQuestionsAsync(questions);

            if (result.Success)
            {
                Toast.SendToast(questions.Qid > 0 ? "修改问题成功" : "提问成功");
            }
            else
            {
                Crashes.TrackError(new Exception()
                {
                    Source = result.Message
                });
                Toast.SendToast(result.Message.ToString());
            }
            return(result.Success);
        }
示例#13
0
        public static T ShowEnumMenu <T>()
        {
            var enumValues = Enum.GetValues(typeof(T)).OfType <Enum>().ToList();

            Console.WriteLine($"Select a {typeof(T)} member");

            for (var i = 0; i < enumValues.Count; i++)
            {
                var member      = enumValues[i];
                var description = member.GetEnumDescription() == member.ToString()
                    ? ""
                    : " // " + member.GetEnumDescription();
                Console.WriteLine($"[{i}] {member}{description}");
            }
            var id = Questions.AskIntMessage("Pick a enum member (eg: 0): ", Color.Gray);

            return((T)Enum.Parse(typeof(T), id.ToString()));
        }
示例#14
0
        /// <summary>
        /// (QuestionRouting) For each question, get any VarNames appearing in the PstP and then get a reference to that question in the master list and
        /// add this reference to the list of possible next questions.
        /// </summary>
        private void PopulateNextQuestions()
        {
            foreach (LinkedQuestion q in Questions)
            {
                var qr = new QuestionRouting(q.PstP, q.RespOptions);

                foreach (RoutingVar rv in qr.RoutingVars)
                {
                    string         s    = rv.Varname.Substring(0, rv.Varname.IndexOf("."));
                    LinkedQuestion next = Questions.Find(x => x.VarName.FullVarName.Equals(s));

                    foreach (int v in rv.ResponseCodes)
                    {
                        q.PossibleNext.Add(v, next);
                    }
                }
            }
        }
示例#15
0
    private Answers GetAnswer(Questions question)
    {
        string selectedAnswer = GetAnswer();

        Answers answer = new Answers();
        answer.QuestionID = question.QuestionID;
        answer.UserID = SessionCache.CurrentUser.Author_ID;
        answer.Answer = selectedAnswer;
        answer.TimeStamp = DateTime.Now;

        //===========================================
        answer.Time = GetTime();  //Need to change with the actual time//int.Parse(txtTime.Text);
        //=============================================
        answer.Correct = selectedAnswer == question.CorrectAnswer ? 1 : 0;
        answer.CorrectAnswer = question.CorrectAnswer;

        return answer;
    }
示例#16
0
        public ActionResult EditConfirm()
        {
            Questions question = TempData["toSubmit_Qns"] as Questions;

            if (question != null)
            {
                QuestionsViewModel question_options = new QuestionsViewModel();
                if (question.option_type.Equals(Constants.QNS_IMAGE_OPTION_TYPE))
                {
                    string[] imgOptions_Arr = new string[]
                    { question.option_1, question.option_2, question.option_3, question.option_4 };

                    for (byte i = 0; i < Constants.OPTIONS_PER_QNS; i++)
                    {
                        if (!imgOptions_Arr[i].Contains(Constants.AZURE_BLOB_STORAGE_FOLDER))
                        {
                            imgOptions_Arr[i] = Constants.IMG_PIC_UPLOAD_SRC + imgOptions_Arr[i];
                        }
                    }

                    question_options.option_1 = "<img src=\"" + imgOptions_Arr[0]
                                                + "\" alt=\"Option 1 Image\" width=\"100\" height=\"100\" />";
                    question_options.option_2 = "<img src=\"" + imgOptions_Arr[1]
                                                + "\" alt=\"Option 2 Image\" width=\"100\" height=\"100\" />";
                    question_options.option_3 = "<img src=\"" + imgOptions_Arr[2]
                                                + "\" alt=\"Option 3 Image\" width=\"100\" height=\"100\" />";
                    question_options.option_4 = "<img src=\"" + imgOptions_Arr[3]
                                                + "\" alt=\"Option 4 Image\" width=\"100\" height=\"100\" />";
                }
                else
                {
                    question_options.option_1 = question.option_1;
                    question_options.option_2 = question.option_2;
                    question_options.option_3 = question.option_3;
                    question_options.option_4 = question.option_4;
                }

                ViewBag.question_options = question_options;
                ViewBag.station_name     = stationGateway.GetStationName_ByStationID(question.station_id);
                return(View(question));
            }

            return(RedirectToAction("Edit"));
        }
示例#17
0
        private void button1_Click(object sender, EventArgs e)
        {
            string response = textBox1.Text;

            question = question.GetQuestion();

            Questions q = question;


            while (true)
            {
                if (q.IsConfirmationRequired)
                {
                    q = q.ChildQuestions.FirstOrDefault();
                    var result = MessageBox.Show(q.QuestionText, "", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                    if (result == DialogResult.Yes)
                    {
                        q = q.YesQuestion;
                    }
                    else
                    {
                        q = q.NoQuestion;
                    }
                }
                else if (q.IsYesNo)
                {
                    var result = MessageBox.Show(q.QuestionText, "", MessageBoxButtons.YesNo, MessageBoxIcon.Question);

                    if (result == DialogResult.Yes)
                    {
                        q = q.YesQuestion;
                    }
                    else
                    {
                        q = q.NoQuestion;
                    }
                }
                else
                {
                    var result = MessageBox.Show(q.QuestionText, "", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                }
            }
        }
示例#18
0
        public Form ToForm()
        {
            var formId   = Guid.NewGuid();
            var sections = SectionRules?.Select(sr => sr.ToSection(formId)).ToList();

            Dictionary <Guid, Guid> mapQuestions = new Dictionary <Guid, Guid>();
            List <FormItem>         items        = new List <FormItem>();

            Questions?.ForEach((question) =>
            {
                FormItem item = question.ToFormItem(formId, sections);
                mapQuestions.Add(question.Id, item.Id);
                items.Add(item);
            });

            sections.ForEach((section) =>
            {
                if (section.VisibleCondition != null)
                {
                    FormFilterCondition.MapVisibleConditionQuestionToItemId(section.VisibleCondition, mapQuestions);
                }
            });

            items.ForEach((item) =>
            {
                if (item.VisibleCondition != null)
                {
                    FormFilterCondition.MapVisibleConditionQuestionToItemId(item.VisibleCondition, mapQuestions);
                }
            });

            return(new Form
            {
                Id = formId,
                TemplateId = Id,
                Subject = Subject,
                MustDisplayElementsCode = MustDisplayElementsCode,
                Type = Type,
                Language = Language,
                Sections = sections,
                Items = items,
                IsSignatureAllowed = IsSignatureAllowed,
            });
        }
示例#19
0
        public ActionResult Create(Questions questions_tbl)
        {
            if (Session["admin_login"] == null)
            {
                return(RedirectToAction("Login", "IPTSELogin"));
            }
            AdminBLL adminBLL = new AdminBLL();

            if (ModelState.IsValid)
            {
                var count = questions_tbl.questionsChoice.RemoveAll(m => string.IsNullOrEmpty(m.ChoiceText));
                questions_tbl.questionsChoice.ForEach(m =>
                {
                    m.IsActive    = true;
                    m.CreatedBy   = "Admin";
                    m.CreatedDate = DateTime.Now;
                });

                questions_tbl.IsActive = true;

                if (adminBLL.ValidAnswer(questions_tbl))
                {
                    try
                    {
                        adminBLL.AddQuestion(questions_tbl);
                        return(RedirectToAction("Index"));
                    }
                    catch (Exception ex)
                    {
                        ViewBag.ErrorMessage = ex.InnerException;
                        throw ex;
                    }
                }
                else
                {
                    ViewBag.Error_Message = "Select atleast one answer";
                }
            }

            ViewBag.exam_id          = new SelectList(adminBLL.GetExam(), "TestId", "Name", questions_tbl.TestId);
            ViewBag.category_id      = new SelectList(adminBLL.GetQuestionCategory(), "Id", "Category", questions_tbl.QuestionCategoryId);
            ViewBag.difficulty_level = new SelectList(adminBLL.GetDifficultyLevel(), "Id", "Difficulty_Level");
            return(View(questions_tbl));
        }
示例#20
0
        private void evaluateQuestion(Questions question, Questions answer, ref int lessonPoints)
        {
            bool value = false;

            switch (question.question_type)
            {
            case questionType.boolean:
            case questionType.onlyOneAnswer:
                if (answer.question_options != null && answer.question_options.Count == 1)
                {
                    value = question.question_options.Where(w => w.ID_option == answer.question_options[0].ID_option).Select(s => s.option_value).FirstOrDefault();
                    if (value)
                    {
                        lessonPoints += question.question_points;
                    }
                }
                break;

            case questionType.moreThanOneAnswer:
                foreach (Options options in answer.question_options)
                {
                    value = question.question_options.Where(w => w.ID_option == options.ID_option).Select(s => s.option_value).FirstOrDefault();
                    if (value)
                    {
                        lessonPoints += question.question_points;
                        break;
                    }
                }
                break;

            case questionType.moreThanOneAnswerAll:
                foreach (Options options in answer.question_options)
                {
                    value = question.question_options.Where(w => w.ID_option == options.ID_option).
                            Select(s => s.option_value).FirstOrDefault();
                }
                if (value)
                {
                    lessonPoints += question.question_points;
                }

                break;
            }
        }
示例#21
0
        private void DetectPositionsType_2(Bitmap sourceBmp)
        {
            int x, y;
            int tmp;
            int quest;

            DataBase _db = new DataBase();

            quest = 54;

            for (y = (var._DOC_NUMOFPAGES - 1) * var._DOC_HEIGHT; y <= (var._DOC_NUMOFPAGES * var._DOC_HEIGHT) - var._DOC_PAGEOFFSET; y++)
            {
                for (x = var._QUEST_LEFT_INDICATORE_ARIA_MIN; x <= var._QUEST_LEFT_INDICATORE_ARIA_MAX; x++)
                {
                    tmp = (sourceBmp.GetPixel(x, y).R + sourceBmp.GetPixel(x, y).G + sourceBmp.GetPixel(x, y).B) / 3;

                    if (tmp < 200)
                    {
                        Rectangle area = new Rectangle(x - 4, y - 4, 8, 8);
                        if (CheckArea(sourceBmp, area))
                        {
                            //Debug.Print("quest:" + quest.ToString() + " x =" + area.X.ToString() + "  y=" + area.Y.ToString());

                            int PageNum;

                            //Βρες τον αριθμό σελίδας
                            PageNum = y / var._DOC_HEIGHT;

                            Questions q = new Questions(quest.ToString(), 2, PageNum, _db.GetNumOfAnswers(quest),
                                                        new Answers(y + var.A_y, 110, 38, 38),
                                                        new Answers(y + var.B_y, 110, 38, 38),
                                                        new Answers(y + var.C_y, 110, 38, 38),
                                                        new Answers(y + var.D_y, 110, 38, 38),
                                                        new Answers(y + var.E_y, 110, 38, 38));

                            qList.Add(q);
                            y = y + 30;
                            x = var._QUEST_LEFT_INDICATORE_ARIA_MAX;
                            quest++;
                        }
                    }
                }
            }
        }
示例#22
0
        static void Main(string[] args)
        {
            var ex = new Extension();
            var arrayNumForOnlyNum = new HashSet <char>()
            {
                '1', '2', '3', '4', '5', '6', '7', '8', '9', '0',
            };
            var q = new Questions();

            WriteLine("С# - Уровень 1. Задание 3.1");
            WriteLine("Кузнецов");
            WriteLine("1.а) Дописать структуру Complex, добавив метод вычитания комплексных чисел.Продемонстрировать работу структуры;/n/r" +
                      "  б) Дописать класс Complex, добавив методы вычитания и произведения чисел. Проверить работу класса;/n/r");
            Write("Комплексное число n1");
            var complex1 = new Complex <double>(
                double.Parse(q.Question <double>("(X = ", arrayNumForOnlyNum)),
                double.Parse(q.Question <double>(", Y = ", arrayNumForOnlyNum)));

            Write(")\n\r");
            Write("Комплексное число n2");
            var complex2 = new Complex <double>(
                double.Parse(q.Question <double>("(X = ", arrayNumForOnlyNum)),
                double.Parse(q.Question <double>(", Y = ", arrayNumForOnlyNum)));

            Write(")\n\r");
            WriteLine("n1 + n2 = {0:F2}", (complex1 + complex2).ToString());
            WriteLine("n1 - n2 = {0:F2}", (complex1 - complex2).ToString());
            WriteLine("n1 * n2 = {0:F2}", (complex1 * complex2).ToString());
            WriteLine("n1 / n2 = {0:F2}", (complex1 / complex2).ToString());
            ex.Pause();



            //1.а) Дописать структуру Complex, добавив метод вычитания комплексных чисел.Продемонстрировать работу структуры;
            //  б) Дописать класс Complex, добавив методы вычитания и произведения чисел. Проверить работу класса;

            //2.а) С клавиатуры вводятся числа, пока не будет введен 0(каждое число в новой строке).Требуется подсчитать сумму всех нечетных положительных чисел. Сами числа и сумму вывести на экран, используя tryParse;
            //  б) Добавить обработку исключительных ситуаций на то, что могут быть введены некорректные данные.При возникновении ошибки вывести сообщение.Напишите соответствующую функцию;

            //3. * Описать класс дробей -рациональных чисел, являющихся отношением двух целых чисел.Предусмотреть методы сложения, вычитания, умножения и деления дробей. Написать программу, демонстрирующую все разработанные элементы класса. Достаточно решить 2 задачи.Все программы сделать в одном решении.
            //**Добавить проверку, чтобы знаменатель не равнялся 0.Выбрасывать исключение
            //ArgumentException("Знаменатель не может быть равен 0");
            //            Добавить упрощение дробей.
        }
示例#23
0
 private void DeleteQuestion()
 {
     if (_selectedIndex >= 0)
     {
         SetMaxPoints(-_questions[_selectedIndex].Points);
         QuestionsIds.RemoveAt(_selectedIndex);
         Questions.RemoveAt(_selectedIndex);
         ObservableCollection <IQuestion> questions = new ObservableCollection <IQuestion>();
         foreach (var question in Questions)
         {
             questions.Add(question);
         }
         ;
         Questions.Clear();
         Questions = new ObservableCollection <IQuestion>(questions);
         RaisePropertyChanged(() => Questions);
     }
     SetAnswers(false);
 }
示例#24
0
        /// <summary>
        /// Method to create question
        /// </summary>
        /// <param name="questionDTO"></param>
        /// <returns></returns>
        public IQuestionDTO Create(IQuestionDTO dataDTO)
        {
            using (var context = new BufferOverflowDBEntities())
            {
                Questions questionEntity = new Questions();
                EntityConverter.FillEntityFromDTO(dataDTO, questionEntity);

                var question = context.Questions.Add(questionEntity);
                context.SaveChanges();

                IQuestionDTO questionDTO = (IQuestionDTO)DTOFactory.Instance.Create(DTOType.QuestionDTO);
                if (question != null)
                {
                    EntityConverter.FillDTOFromEntity(question, dataDTO);
                }

                return((dataDTO.Id != 0) ? dataDTO : null);;
            }
        }
        private void AddAnswer(int questionId, string text)
        {
            var question = Questions.First(q => q.Id == questionId);
            var answer   = question.Answer;

            if (string.IsNullOrEmpty(answer))
            {
                question.Answer = text;
            }
            else
            {
                if (string.IsNullOrEmpty(text))
                {
                    return;
                }

                question.Answer = text;
            }
        }
示例#26
0
    void SetCurrentQuestion()
    {
        int unanswerQIndex = Random.Range(0, unanswerQList.Count);

        currentQuestion = unanswerQList[unanswerQIndex];

        QuestionText.text = currentQuestion.Question;

        if (currentQuestion.isTrue)
        {
            TruthAnswerText.text = "CORRECT";
            FalseAnswerText.text = "FALSE";
        }
        else
        {
            TruthAnswerText.text = "FALSE";
            FalseAnswerText.text = "CORRECT";
        }
    }
 private void FillQuestions(int countryId)
 {
     if (SelectedCountry.HasQuiz)
     {
         var questions = App.Database.GetAllQuestionsForCountry(countryId).Result;
         foreach (var question in questions)
         {
             Questions.Add(question);
         }
     }
     else
     {
         for (int i = 0; i < 10; i++)
         {
             var question = new Question(countryId);
             Questions.Add(question);
         }
     }
 }
示例#28
0
        private Questions GetRandomQuestion()
        { 
            Random r = new Random();
            int randomIndex = 0;

            randomIndex = r.Next(0, App.ViewModel.Items.Count); //Choose a random object in the list
            if (App.ViewModel.Items.Count > 0)
            {
                 q = App.ViewModel.Items[randomIndex];
                q.IsAsked = 1;
                App.ViewModel.Save();
                App.ViewModel.Items.RemoveAt(randomIndex);
               
                return q;
            }
            return null;


        }
示例#29
0
        // GET: Tests/Details/5
        public async Task <IActionResult> Solve(int?id)
        {
            var modelList = await _context.Questions.Where(e => e.TestId == id).Include(e => e.QuestionOptions).ToListAsync();

            if (modelList.Count != 0)
            {
                Questions model = modelList[0];

                ViewBag.QuestionCount   = modelList.Count;
                ViewBag.CurrentQuestion = 1;
                ViewBag.Score           = 0;
                ViewBag.TestId          = id;
                return(View(model));
            }
            else
            {
                return(NotFound());
            }
        }
        /// <summary>
        /// Gets 25 random Questions used to populate the Jeopardy game.
        /// </summary>
        /// <returns></returns>
        public async Task <Questions[]> GetBoard()
        {
            Questions[] board       = new Questions[25];
            int[]       categoryIds = GetRandomCategoryIds();

            // get random categories
            for (int i = 0; i < 5; i++)
            {
                Questions[] questions = await GetRandomQuestionsByCategory(categoryIds[i]);

                for (int j = 0; j < 5; j++)
                {
                    // get question using category id
                    board[i * 5 + j] = questions[j];
                }
            }

            return(board);
        }
        public ActionResult Edit(int id)
        {
            var model = new Questions();

            try
            {
                DataTable dtResult = new DataTable();
                using (SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["dbConnection"].ToString()))
                {
                    using (SqlCommand cmd = new SqlCommand("usp_GetQuestionsRecord_GetByID", con))
                    {
                        cmd.CommandType = CommandType.StoredProcedure;
                        cmd.Parameters.AddWithValue("@QuestionID", id);
                        using (SqlDataAdapter da = new SqlDataAdapter())
                        {
                            da.SelectCommand = cmd;
                            da.Fill(dtResult);
                        }
                    }
                }

                if (dtResult.Rows.Count > 0)
                {
                    model.QuestionID = Convert.ToInt64(dtResult.Rows[0]["QuestionID"]);
                    model.Question   = dtResult.Rows[0]["Question"].ToString();
                    model.OptionA    = dtResult.Rows[0]["OptionA"].ToString();
                    model.OptionB    = dtResult.Rows[0]["OptionB"].ToString();
                    model.OptionC    = dtResult.Rows[0]["OptionC"].ToString();
                    model.OptionD    = dtResult.Rows[0]["OptionD"].ToString();
                    model.CorrectAns = dtResult.Rows[0]["CorrectAns"].ToString();
                    return(View(model));
                }
                else
                {
                    return(RedirectToAction("Index"));
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
                return(View(model));
            }
        }
示例#32
0
        public async Task <ApiResult <string> > Create(QuestionRequest request)
        {
            var questions = new Questions()
            {
                QuestionContent = request.QuestionContent,
                ModuleId        = request.ModuleId,
                QuestionType    = request.QuestionType,
                DateCreated     = DateTime.Now,
            };
            var answer = new Answers()
            {
                A = request.A,
                B = request.B,
                C = request.C,
                D = request.D,
                CorrectAnswers = request.CorrectAnswers,
                AnswerExplain  = request.AnswerExplain,
                Question       = questions
            };

            _context.Questions.Add(questions);
            _context.Answers.Add(answer);
            var numRowChange = await _context.SaveChangesAsync();

            if (request.ExamId != 0)
            {
                var questionDetail = new Questiondetails()
                {
                    ExamId     = request.ExamId,
                    QuestionId = questions.Id,
                };
                _context.Questiondetails.Add(questionDetail);
                await _context.SaveChangesAsync();
            }
            if (numRowChange > 0)
            {
                return(new ApiResultSuccess <string>("inserted"));
            }
            else
            {
                return(new ApiResultErrors <string>("Faild"));
            }
        }
        public IActionResult Edit(int?Id, Questions questions)
        {
            if (!ModelState.IsValid)
            {
                return(View(questions));
            }

            var data = _data.Questions.Find(questions.Id);

            if (data != null)
            {
                data.Header = questions.Header;
                data.Body   = questions.Body;

                _data.SaveChanges();
            }

            return(RedirectToAction(nameof(Index)));
        }
        //Event that deletes the selected question and cycles through the question list and re populates the list box
        //has some validation to process this if something is actually selected before it performs the function
        private void btnDelete_Click(object sender, EventArgs e)
        {
            int i = lstQuestions.SelectedIndex;

            if (i != -1)
            {
                Questions    question = newQuestionList[i];
                string       message  = "Are you sure you want to delete this question?";
                DialogResult button   = MessageBox.Show(message, "Confrim Delete", MessageBoxButtons.YesNo);

                if (button == DialogResult.Yes)
                {
                    newQuestionList.Remove(question);
                    FillQuestionListBox();
                }
            }

            txtQuestion.Focus();
        }
示例#35
0
        public async Task <int> AddAsync(Questions questions)
        {
            int id = 0;

            try
            {
                DataContext dataContext = new DataContext();
                var         entity      = await dataContext.QuestionsDbSet.AddAsync(questions);

                await dataContext.SaveChangesAsync();

                id = entity.Entity.Id;
            }
            catch (Exception e)
            {
                ClassLoger.Error("QuestionsDal.add", e);
            }
            return(id);
        }
        //posting  a question
        public IHttpActionResult PostQuestion(Questions tquestion)
        {
            TBL_QUESTIONS tbObj = new TBL_QUESTIONS();

            if (ModelState.IsValid)
            {
                tbObj.QID       = Guid.NewGuid();
                tbObj.QUESTION  = tquestion.QUESTION;
                tbObj.USERNAME  = tquestion.USERNAME;
                tbObj.TIMESTAMP = DateTime.Now;
                dbObj.TBL_QUESTIONS.Add(tbObj);
                var user = dbObj.TBL_SIGNUP.ToList().Find(x => x.USERNAME == tquestion.USERNAME);
                user.POINTS += 2;
                dbObj.SaveChanges();
                return(Ok());
            }
            ModelState.Clear();
            return(BadRequest());
        }
示例#37
0
        private CommandResponse ExecuteEditQuestion(EditQuestionCommand command)
        {
            var existingQuestion = Questions.FirstOrDefault(q => q.Id == command.QuestionId);

            if (existingQuestion == null)
            {
                return(CommandResponse.Failure($"Question {command.QuestionId} doesn't exist."));
            }

            existingQuestion.History.Add(new PostHistoryItem
            {
                Author = existingQuestion.Author,
                Text   = existingQuestion.Text
            });

            existingQuestion.Title = command.Title;
            existingQuestion.Text  = command.Text;
            return(CommandResponse.Success(existingQuestion));
        }
        private async void _SubmitDelete_Exec(object parameter)
        {
            string respond = parameter as string;

            if (respond == "OK")
            {
                if (PatternVisibility == Visibility.Visible &&
                    TestVisibility == Visibility.Collapsed)
                {
                    var result = (CRUDResult)await MainView.Client.AdminManager.
                                 DeleteAsync(SelectedPattern.Id);

                    if (!result.IsSuccess)
                    {
                        MessageBox.Show(result.Message);

                        return;
                    }

                    MainView.Patterns = new ObservableCollection <PatternView>
                                            (await MainView.Client.PatternManager.GetAllAsync());

                    Patterns = MainView.Patterns;

                    SelectedPattern = null;
                }
                else
                {
                    Questions.Remove(SelectedQuestion);

                    if (Questions.Count() == 0)
                    {
                        TestContentVisibility = Visibility.Collapsed;
                    }
                    else
                    {
                        SelectedQuestion = Questions.FirstOrDefault();
                    }
                }
            }

            ((App)Application.Current).CloseDialog();
        }
示例#39
0
        public DataTable GetDataTableQuestions(DO_Questions objQuestions, Questions flag)
        {
            DataTable dt = new DataTable();
            SqlConnection conn = new SqlConnection();
            SQLManager co = new SQLManager();

            conn = co.GetConnection();
            SqlDataAdapter da = new SqlDataAdapter();
            da.SelectCommand = new SqlCommand("Scrl_AddEditDelQuestions", conn);
            da.SelectCommand.CommandType = CommandType.StoredProcedure;
            da.SelectCommand.Parameters.Add("@FlagNo", SqlDbType.Int).Value = flag;
            da.SelectCommand.Parameters.Add("@QuestionId", SqlDbType.BigInt).Value = objQuestions.QuestionId;
            da.SelectCommand.Parameters.Add("@AddedBy", SqlDbType.BigInt).Value = objQuestions.AddedBy;
            da.SelectCommand.Parameters.Add("@Condition", SqlDbType.VarChar, 500).Value = objQuestions.Condition;
            da.Fill(dt);
            co.CloseConnection(conn);
            return dt;

        }
示例#40
0
        private CommandResponse ExecuteVoteAnswer(VoteAnswerCommand command)
        {
            var existingAnswer = Questions.SelectMany(q => q.Answers).SingleOrDefault(a => a.Id == command.AnswerId);

            if (existingAnswer == null)
            {
                return(CommandResponse.Failure($"Answer {command.AnswerId} doesn't exist."));
            }

            existingAnswer.Votes.Add(new Vote
            {
                Author    = command.IssuedBy,
                Id        = Guid.NewGuid(),
                Timestamp = DateTime.Now,
                Direction = command.VoteDirection
            });

            return(CommandResponse.Success(existingAnswer));
        }
示例#41
0
    protected void btnAddQst_Click(object sender, EventArgs e)
    {
        using (QuestionaireEntities context = new QuestionaireEntities())
        {
            DateTimeFormatInfo DTFormat = new DateTimeFormatInfo();


            DTFormat = new System.Globalization.CultureInfo("ar-sa", false).DateTimeFormat;
            DTFormat.FullDateTimePattern = "dd/MM/yyyy";
            Questions dept = new Questions();
            string    x    = DateTime.Now.ToString("dd/MM/yyyy", DTFormat);
            dept.QuestionText = txtQuestion.Text;
            dept.FormID       = int.Parse(Request.QueryString["frmID"]);
            dept.IsDeleted    = false;
            context.Questions.Add(dept);
            context.SaveChanges();
            BindGrid();
        }
    }
        // Method that returns a list of Question objects with the details from the DB
        public static List<Questions> LoadQuestions()
        {
            List<Questions> quest = new List<Questions>();// create new lists quest
            OleDbConnection myConnection = GetConnection();//connection for access database

            string myQuery = "SELECT TOP 10 * FROM testQuestions"; // in string myquery it has the SQL Statement which return top 10 from database
            

            OleDbCommand myCommand = new OleDbCommand(myQuery, myConnection);
                              
            try// try and catch for event handling
            {
                
                myConnection.Open();//open connection
                OleDbDataReader myReader = myCommand.ExecuteReader(); // read from access 
                while (myReader.Read()) 
                {

                                        //convert question id to int and question to string and store in class Question                                    
                   Questions A = new Questions(int.Parse(myReader["questionid"].ToString()), myReader["question"].ToString());
                   quest.Add(A); //list add class                 
                                  

                }

                return quest;
           
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception in DBHandler", ex);
                return null;
            }
            finally
            {
                myConnection.Close();
            }
        }
        Task<StacManResponse<Question>> IUserMethods.GetMyFeaturedQuestions(string site, string access_token, string filter, int? page, int? pagesize, DateTime? fromdate, DateTime? todate, Questions.Sort? sort, DateTime? mindate, DateTime? maxdate, int? min, int? max, Order? order)
        {
            ValidateString(site, "site");
            ValidateString(access_token, "access_token");
            ValidatePaging(page, pagesize);
            ValidateSortMinMax(sort, mindate: mindate, maxdate: maxdate, min: min, max: max);

            var ub = new ApiUrlBuilder(Version, "/me/questions/featured", useHttps: true);

            ub.AddParameter("site", site);
            ub.AddParameter("access_token", access_token);
            ub.AddParameter("filter", filter);
            ub.AddParameter("page", page);
            ub.AddParameter("pagesize", pagesize);
            ub.AddParameter("fromdate", fromdate);
            ub.AddParameter("todate", todate);
            ub.AddParameter("sort", sort);
            ub.AddParameter("min", mindate);
            ub.AddParameter("max", maxdate);
            ub.AddParameter("min", min);
            ub.AddParameter("max", max);
            ub.AddParameter("order", order);

            return CreateApiTask<Question>(ub, HttpMethod.GET, "/_users/questions/featured");
        }
        Task<StacManResponse<Question>> IUserMethods.GetFeaturedQuestions(string site, IEnumerable<int> ids, string filter, int? page, int? pagesize, DateTime? fromdate, DateTime? todate, Questions.Sort? sort, DateTime? mindate, DateTime? maxdate, int? min, int? max, Order? order)
        {
            ValidateString(site, "site");
            ValidateEnumerable(ids, "ids");
            ValidatePaging(page, pagesize);
            ValidateSortMinMax(sort, mindate: mindate, maxdate: maxdate, min: min, max: max);

            var ub = new ApiUrlBuilder(Version, String.Format("/users/{0}/questions/featured", String.Join(";", ids)), useHttps: false);

            ub.AddParameter("site", site);
            ub.AddParameter("filter", filter);
            ub.AddParameter("page", page);
            ub.AddParameter("pagesize", pagesize);
            ub.AddParameter("fromdate", fromdate);
            ub.AddParameter("todate", todate);
            ub.AddParameter("sort", sort);
            ub.AddParameter("min", mindate);
            ub.AddParameter("max", maxdate);
            ub.AddParameter("min", min);
            ub.AddParameter("max", max);
            ub.AddParameter("order", order);

            return CreateApiTask<Question>(ub, HttpMethod.GET, "/_users/questions/featured");
        }
        Task<StacManResponse<Question>> IUserMethods.GetTopQuestions(string site, int id, IEnumerable<string> tags, string filter, int? page, int? pagesize, DateTime? fromdate, DateTime? todate, Questions.Sort? sort, DateTime? mindate, DateTime? maxdate, int? min, int? max, Order? order)
        {
            ValidateString(site, "site");
            ValidateEnumerable(tags, "tags");
            ValidatePaging(page, pagesize);
            ValidateSortMinMax(sort, mindate: mindate, maxdate: maxdate, min: min, max: max);

            var ub = new ApiUrlBuilder(Version, String.Format("/users/{0}/tags/{1}/top-questions", id, String.Join(";", tags.Select(HttpUtility.UrlEncode))), useHttps: false);

            ub.AddParameter("site", site);
            ub.AddParameter("filter", filter);
            ub.AddParameter("page", page);
            ub.AddParameter("pagesize", pagesize);
            ub.AddParameter("fromdate", fromdate);
            ub.AddParameter("todate", todate);
            ub.AddParameter("sort", sort);
            ub.AddParameter("min", mindate);
            ub.AddParameter("max", maxdate);
            ub.AddParameter("min", min);
            ub.AddParameter("max", max);
            ub.AddParameter("order", order);

            return CreateApiTask<Question>(ub, HttpMethod.GET, "/_users/tags/{tags}/top-questions");
        }
    private void PopulateQuestion(Questions question)
    {
        lblQuestionTitle.Text = question.Question;
        lblQuestion.Text = question.Question;
        if (Correct)
        {
            lblResult.Text = "Right, the correct answer is " + question.CorrectAnswer;
            lblResult.CssClass = "right";
            lblResultDetails.Text = string.Format("You are Right, the correct answer is {0} ({1})." , question.CorrectAnswer , GetCorrectAnswer(question));
        }
        else
        {
            lblResult.Text = "Wrong, the correct answer is " + question.CorrectAnswer;
            lblResult.CssClass = "wrong";
            lblResultDetails.Text = string.Format("You are Wrong, the correct answer is {0} ({1})." , question.CorrectAnswer , GetCorrectAnswer(question));
        }
        Page.Title = AppUtil.GetPageTitle("Question Details : " + question.Question);

        lblA.Text = question.AnswerA;
        lblB.Text = question.AnswerB;
        lblC.Text = question.AnswerC;
        lblD.Text = question.AnswerD;

        lblQuestionDetails.Text = question.Explanation;

        //IList<QuestionLink> links = questionManager.GetQuestionLinks(QuestionID);
        //rptQuestionLinks.DataSource = links;
        //rptQuestionLinks.DataBind();

        chartForQuestion.QuestionID = QuestionID;
        if (this.ShowComments)
        {
            ucCommenting.QuestionID = QuestionID;
            ucCommenting.Visible = true;
        }
    }
        /// <summary>
        /// Updates the Questions set in the database.
        /// </summary>
        /// <param name="questions">The Questions set you want to update.</param>
        /// <param name="classId">The id of the parent Class.</param>
        /// <param name="omitQuestions">Whether you want to update Question objects too.</param>
        public static void UpdateQuestionSet(Questions questions, Guid classId, bool omitQuestions = false)
        {
            string text = "update dbo.Questions set section = '" + questions.section + "' where Id = '" + questions.Id.ToString() + "' and ClassId = '" + classId.ToString() + "';";
            StudyToolSql.RunSql(text);

            if (!omitQuestions)
                questions.questions.ForEach(q => StudyToolSql.UpdateQuestion(q, questions.Id, classId));
        }
        private List<MirrorAnswerVotedEntity> CreateAnswersVotedShapes(ResultSlideConfiguration resultConfig, Questions.Data.QuestionSlideConfiguration qConfig, int index)
        {
            var lst = new List<MirrorAnswerVotedEntity>();

            float initialTop = 110;
            foreach (var answer in qConfig.Answers)
            {
                var ansVoted = new MirrorAnswerVotedEntity();
                //text Answer
                if (index == 1)
                {
                    int answerWidth = Convert.ToInt32(-100 + (100 - resultConfig.HistWidthPercent) * PowerPointHelper.SlideWidth / 100);
                    int answerTextboxIndex;
                    var answerTextbox = PowerPointHelper.CreateTextboxOn(resultConfig.SlideAssociated, 50, initialTop, answerWidth, 35,
                                                answer.TextToShow, 24,
                                                Microsoft.Office.Interop.PowerPoint.PpParagraphAlignment.ppAlignLeft, out answerTextboxIndex);
                    ansVoted.AnswerTextBox = answerTextbox;
                    ansVoted.AnswerTextBoxIndex = answerTextboxIndex;
                }

                //chart
                int leftChart = PowerPointHelper.GetLeftByPercent(resultConfig.HistWidthPercent, (index==1?2:1));
                if (index == 2)
                    leftChart += 60;
                int widthChartValue = 0;
                if (!double.IsNaN(answer.GetPercentValue((int)resultConfig.Decimals)))
                    widthChartValue = Convert.ToInt32(answer.GetPercentValue((int)resultConfig.Decimals));
                int widthChart = PowerPointHelper.GetWidthByPercent(resultConfig.HistWidthPercent, widthChartValue);
                int shapeChartIndex;
                var shapeChart = PowerPointHelper.CreateShapeOn(resultConfig.SlideAssociated, leftChart, initialTop, widthChart, 35, out shapeChartIndex);

                //text Chart
                int leftChartValue = leftChart + widthChart;
                int widtChartValue = 95;
                int shapeChartValueIndex;
                var shapeChartValue = PowerPointHelper.CreateTextboxOn(resultConfig.SlideAssociated, leftChartValue, initialTop, widtChartValue, 35,
                                            answer.GetValue(resultConfig.Valuetype, (int)resultConfig.Decimals), answer.GetValueFontSize(),
                                            Microsoft.Office.Interop.PowerPoint.PpParagraphAlignment.ppAlignLeft, out shapeChartValueIndex);

                if (index == 1)
                {
                    ansVoted.AnswerChart = shapeChart;
                    ansVoted.AnswerChartIndex = shapeChartIndex;

                    ansVoted.AnswerChartValue = shapeChartValue;
                    ansVoted.AnswerChartValueIndex = shapeChartValueIndex;

                    ansVoted.AnswerAssociated = answer;
                }
                else if (index == 2)
                {
                    ansVoted.AnswerChart2 = shapeChart;
                    ansVoted.AnswerChart2Index = shapeChartIndex;

                    ansVoted.AnswerChartValue2 = shapeChartValue;
                    ansVoted.AnswerChartValue2Index = shapeChartValueIndex;

                    ansVoted.AnswerAssociated2 = answer;
                }
                lst.Add(ansVoted);

                initialTop += 50;
            }

            return lst;
        }
示例#49
0
        public void ImportQuestion(Questions q)
        {
            Post post = new Post();
            post.body = "<p>"+q.title+"</p>"+q.body;
            post.summary = q.title;
            post.community = q.community_owned;
            post.lastactivity = q.last_activity_date.FromUnixTime();
            post.lastedit = q.last_edit_date > q.creation_date ? q.last_edit_date.FromUnixTime() : q.creation_date.FromUnixTime();
            post.score = q.score;
            post.siteid = q.question_id;
            post.sitename = currentSite;
            post.type = PostType.question;
            post.user = userimport.Import(conn, currentSite, q.owner);
            post.parent = null;

            post.tags.Clear();
            foreach (string s in q.tags)
            {
                Tag t = tagRepository.FindOne(new { name = s, site = currentSite });
                if (t == null)
                {
                    t = new Tag();
                    t.name = s;
                    t.site = currentSite;
                    tagRepository.Save(t);
                }
                post.tags.Add(t);
            }
            foreach (Comments c in q.comments)
            {
                ImportComment(post, c);
            }
            foreach (Answers a in q.answers)
            {
                ImportAnswer(post, a);
            }
        }
示例#50
0
 public static Questions CreateQuestions(int ID)
 {
     Questions questions = new Questions();
     questions.Id = ID;
     return questions;
 }
示例#51
0
 public void AddToQuestions(Questions questions)
 {
     base.AddObject("Questions", questions);
 }
示例#52
0
文件: Questions.cs 项目: jsnulla/IFX
 void Start()
 {
     Instance = this;
     CurrentQuestionIndex = 0;
     PrepareQuestions ();
 }
示例#53
0
    public string GetQuestionResponse(Questions _question)
    {
        // TODO:

        return "BUTTS";
    }
示例#54
0
        /// <summary>
        /// Sends the question.
        /// </summary>
        /// <param name="Question">The question.</param>
        /// <param name="Parameter">The parameters as a String-Array</param>
        public void sendQuestion(Questions Question, string[] Parameter = null)
        {
            debugMSG("Sendig Question: " + Question.ToString() + "," + ((Parameter != null) ? string.Join(",", Parameter) : ""), 3);
            if (!Port.IsOpen) return;
            OutputBuffer.Enqueue(new KeyValuePair<Questions, string[]>(Question, Parameter));

            if (!Asker.IsBusy) Asker.RunWorkerAsync();
        }
        Task<StacManResponse<Question>> ISearchMethods.GetMatchesAdvanced(string site, string filter, int? page, int? pagesize, DateTime? fromdate, DateTime? todate, Questions.SearchSort? sort, DateTime? mindate, DateTime? maxdate, int? min, int? max, Order? order, string q, bool? accepted, int? answers, string body, bool? closed, bool? migrated, bool? notice, string nottagged, string tagged, string title, int? user, string url, int? views, bool? wiki)
        {
            ValidateString(site, "site");
            ValidateMinApiVersion("2.1");
            ValidatePaging(page, pagesize);
            ValidateSortMinMax(sort, mindate: mindate, maxdate: maxdate, min: min, max: max);

            var ub = new ApiUrlBuilder(Version, "/search/advanced", useHttps: false);

            ub.AddParameter("site", site);
            ub.AddParameter("filter", filter);
            ub.AddParameter("page", page);
            ub.AddParameter("pagesize", pagesize);
            ub.AddParameter("fromdate", fromdate);
            ub.AddParameter("todate", todate);
            ub.AddParameter("sort", sort);
            ub.AddParameter("min", mindate);
            ub.AddParameter("max", maxdate);
            ub.AddParameter("min", min);
            ub.AddParameter("max", max);
            ub.AddParameter("order", order);
            ub.AddParameter("q", q);
            ub.AddParameter("accepted", accepted);
            ub.AddParameter("answers", answers);
            ub.AddParameter("body", body);
            ub.AddParameter("closed", closed);
            ub.AddParameter("migrated", migrated);
            ub.AddParameter("notice", notice);
            ub.AddParameter("nottagged", nottagged);
            ub.AddParameter("tagged", tagged);
            ub.AddParameter("title", title);
            ub.AddParameter("user", user);
            ub.AddParameter("url", url);
            ub.AddParameter("views", views);
            ub.AddParameter("wiki", wiki);

            return CreateApiTask<Question>(ub, HttpMethod.GET, "/search/advanced");
        }
示例#56
0
        /// <summary>
        /// Handles the next Question in the Queue
        /// </summary>
        /// <param name="sender">The source of the event.</param>
        /// <param name="e">The <see cref="DoWorkEventArgs"/> instance containing the event data.</param>
        private void Asker_DoWork(object sender, DoWorkEventArgs e)
        {
            if (OutputBuffer.Count > 0 && !AwaitingAnswer && Port.IsOpen)
            {
                KeyValuePair<Questions, string[]> CurCommand = OutputBuffer.Dequeue();
                Questions Question = CurCommand.Key;
                string[] Parameter = CurCommand.Value;

                QuestionSent = QuestionACK = ENQSent = false;
                QuestionOptions Opts = serialInterface.Answers[Question];
                if (Opts.numParameter > 0 && Parameter != null)
                {
                    if (Parameter.Length != Opts.numParameter)
                    {
                        debugMSG("Parameter count misfit", 1);
                        return;
                    }
                }

                try
                {
                    Port.WriteLine(Question.ToString() + ((Parameter != null) ? "," + String.Join(",", Parameter) : ""));
                    //debugMSG("Send: " + Question.ToString() + ((Parameter != null) ? "," + String.Join(",", Parameter) : ""), 2);
                    QuestionSent = true;
                    lastQuestion = Question;
                    if (Question == Questions.COM) QuestionSent = QuestionACK = ENQSent = true;
                    AwaitingAnswer = true;
                }
                catch (TimeoutException)
                {
                    onTimeout();
                }
            }
        }
        /// <summary>
        /// Gets the Questions set from the given Ids.
        /// </summary>
        /// <param name="id">Id of the Questions set to find.</param>
        /// <param name="classId">Id of the parent Class.</param>
        /// <param name="omitQuestions">Whether you want to get the Question objects or not.</param>
        /// <returns>The Questions set from the database.</returns>
        public static Questions GetQuestionSet(Guid id, Guid classId, bool omitQuestions = false)
        {
            Questions q;
            using (SqlConnection conn = new SqlConnection(StudyToolSql.connString))
            {
                conn.Open();
                string text = "select * from dbo.Questions where Id = '" + id.ToString() + "' and ClassId = '" + classId.ToString() + "';";
                SqlCommand cmd = new SqlCommand(text, conn);
                SqlDataReader reader = cmd.ExecuteReader();
                reader.Read();
                q = new Questions()
                {
                    Id = reader.GetGuid(0),
                    ClassId = reader.GetGuid(1),
                    section = reader.GetString(2),
                };
                reader.Close();
                conn.Close();
            }

            if (!omitQuestions)
                q.questions = StudyToolSql.GetQuestions(q.Id, classId);

            return q;
        }
示例#58
0
        /// <summary>
        /// Gets the answer.
        /// </summary>
        /// <param name="Answer">The answer.</param>
        private void getAnswer(string Answer)
        {
            Answer = Answer.Replace(CR, string.Empty);
            Answer = Answer.Replace(LF, string.Empty);

            if (Answer.Contains(NAK))
            {
                debugMSG("NAK recieved", 3);
                lastQuestion = Questions.NULL;
                QuestionSent = QuestionACK = ENQSent = false;
                AwaitingAnswer = false;
                if (!Asker.IsBusy) Asker.RunWorkerAsync();
                return;
            }
            else if (Answer.Contains(ACK))
            {
                debugMSG("ACK Recieved", 3);
                if (lastQuestion != Questions.COM)
                {
                    Port.WriteLine(ENQ);
                    debugMSG("ENQ Sent", 3);
                    QuestionACK = true;
                    ENQSent = true;
                    return;
                }
            }
            else if (QuestionSent && QuestionACK && ENQSent)
            {
                AwaitingAnswer = false;
                if (lastQuestion != Questions.NULL)
                {
                    if (Regex.IsMatch(Answer, serialInterface.Answers[lastQuestion].RegexAnswer))
                    {
                        parseAnswer(Answer, lastQuestion);
                        debugMSG("REC:\t" + Answer, 3);
                        if (lastQuestion != Questions.COM)
                        {
                            QuestionSent = QuestionACK = ENQSent = false;
                            lastQuestion = Questions.NULL;
                        }
                    }
                    else
                    {
                        debugMSG("Unexpected Answer: " + Answer, 1);
                    }
                }
                else
                {
                    debugMSG("Answer to no Question: " + Answer, 1);
                    if (!Asker.IsBusy) Asker.RunWorkerAsync();
                }
            }
        }
示例#59
0
        /// <summary>
        /// Parses the answer.
        /// </summary>
        /// <param name="Answer">The answer.</param>
        /// <param name="Question">The question.</param>
        private void parseAnswer(string Answer, Questions Question)
        {
            string[] res = Answer.Split(',');
            AnswerRecieved = true;
            if (!Asker.IsBusy) Asker.RunWorkerAsync();
            switch (Question)
            {
                case Questions.PRX:
                    txtMes1On.ForeColor = (res[0] == "0") ? Color.Yellow : Color.Gray;
                    //txtMes2On.Visible = (res[0] == "0") ? true : false;
                    string[] P = res[1].Split('E');
                    TXTcurPressure.Text = P[0];
                    TXTcurPressureExp.Text = P[1];
                    break;

                case Questions.SPS:
                    TXTmes1SP1.ForeColor = (res[0] == "1") ? Color.Yellow : Color.Gray;
                    TXTmes1SP2.ForeColor = (res[1] == "1") ? Color.Yellow : Color.Gray;
                    break;

                case Questions.DGS:
                    TXTmes1Degas.ForeColor = (res[0] == "1") ? Color.Yellow : Color.Gray;
                    break;

                case Questions.UNI:
                    TXTUnit.Text = serialInterface.Units[res[0]];
                    break;

                case Questions.OFC:
                    TXTmes1Offset.ForeColor = (res[0] == "0") ? Color.Gray : Color.Yellow;
                    break;

                case Questions.CAL:
                    TXTmes1Calib.ForeColor = (res[0] != "1.000") ? Color.Yellow : Color.Gray;
                    break;

                case Questions.COM:
                    txtMes1On.Visible = (res[0] == "0") ? true : false;
                    string[] Pc = res[1].Split('E');
                    TXTcurPressure.Text = Pc[0];
                    TXTcurPressureExp.Text = Pc[1];
                    //Log.addLine(DateTime.Now.ToString() + "\t" + res[1] + "\t" + res[3]);
                    //Log.addValues(DateTime.Now, double.Parse(res[1].Replace('.', ',')), double.Parse(res[3].Replace('.', ',')));
                    Log.addValues(DateTime.Now, double.Parse(res[1], NumberFormat), double.Parse(res[3], NumberFormat));
                    if (ChartWindow != null)
                    {
                        try
                        {
                            BeginInvoke(new Action(() =>
                            {
                                ChartWindow.AddToChart(DateTime.Now, double.Parse(res[1], NumberFormat));
                            }));
                        }
                        catch { }
                    }
                    break;

                case Questions.ERR:
                    TXTError.Visible = (res[0] == "0000") ? false : true;
                    toolTip1.SetToolTip(TXTError, (res[0] == "1000") ? "ERROR" : (res[0] == "0100") ? "Hardware nicht installiert" : (res[0] == "0010") ? "Unerlaubter Parameter" : (res[0] == "0001") ? "Falsche Syntax" : "");
                    break;

                case Questions.SP1:
                    if (RelaisWindow == null) return;
                    if (!RelaisWindow.Visible) return;
                    RelaisWindow.displayStatus(res[0], res[1], res[2], 1, NumberFormat);
                    break;

                case Questions.SP2:
                    if (RelaisWindow == null) return;
                    if (!RelaisWindow.Visible) return;
                    RelaisWindow.displayStatus(res[0], res[1], res[2], 2, NumberFormat);
                    break;

                case Questions.SP3:
                    if (RelaisWindow == null) return;
                    if (!RelaisWindow.Visible) return;
                    RelaisWindow.displayStatus(res[0], res[1], res[2], 3, NumberFormat);
                    break;

                case Questions.SP4:
                    if (RelaisWindow == null) return;
                    if (!RelaisWindow.Visible) return;
                    RelaisWindow.displayStatus(res[0], res[1], res[2], 4, NumberFormat);
                    break;

                case Questions.IOT:
                    if (RelaisWindow == null) return;
                    if (!RelaisWindow.Visible) return;
                    RelaisWindow.displayIOT(res[0], res[1]);
                    break;

                case Questions.NULL:

                    break;

                default:
                    debugMSG("Answer not implemented: " + Question.ToString(), 1);
                    break;
            }
        }
        private List<NormalAnswerVotedEntity> CreateAnswersVotedShapes(ResultSlideConfiguration resultConfig, Questions.Data.QuestionSlideConfiguration qConfig)
        {
            var lst = new List<NormalAnswerVotedEntity>();

            float initialTop = 110;
            foreach (var answer in qConfig.Answers)
            {
                var ansVoted = new NormalAnswerVotedEntity();

                int answerWidth = Convert.ToInt32(-100 + (100 - resultConfig.HistWidthPercent) * PowerPointHelper.SlideWidth / 100);
                int answerTextboxIndex;
                var answerTextbox = PowerPointHelper.CreateTextboxOn(resultConfig.SlideAssociated, 50, initialTop, answerWidth, 35,
                                            answer.TextToShow, 24,
                                            Microsoft.Office.Interop.PowerPoint.PpParagraphAlignment.ppAlignLeft, out answerTextboxIndex);

                int leftChart = PowerPointHelper.GetLeftByPercent(resultConfig.HistWidthPercent)-70;
                int widthChartValue = 0;
                if (!double.IsNaN(answer.GetPercentValue((int)resultConfig.Decimals)))
                    widthChartValue = Convert.ToInt32(answer.GetPercentValue((int)resultConfig.Decimals));
                int widthChart = PowerPointHelper.GetWidthByPercent(resultConfig.HistWidthPercent, widthChartValue);

                int shapeChartIndex;
                var shapeChart = PowerPointHelper.CreateShapeOn(resultConfig.SlideAssociated, leftChart, initialTop, widthChart, 35, out shapeChartIndex);

                int leftChartValue = (leftChart + widthChart + 2);
                int widtChartValue = 95;
                int shapeChartValueIndex;
                var shapeChartValue = PowerPointHelper.CreateTextboxOn(resultConfig.SlideAssociated, leftChartValue, initialTop, widtChartValue, 35,
                                            answer.GetValue(resultConfig.Valuetype, (int)resultConfig.Decimals), answer.GetValueFontSize(),
                                            Microsoft.Office.Interop.PowerPoint.PpParagraphAlignment.ppAlignLeft, out shapeChartValueIndex);

                ansVoted.AnswerTextBox = answerTextbox;
                ansVoted.AnswerTextBoxIndex = answerTextboxIndex;

                ansVoted.AnswerChart = shapeChart;
                ansVoted.AnswerChartIndex = shapeChartIndex;

                ansVoted.AnswerChartValue = shapeChartValue;
                ansVoted.AnswerChartValueIndex = shapeChartValueIndex;

                ansVoted.AnswerAssociated = answer;

                lst.Add(ansVoted);

                initialTop += 50;
            }

            if (resultConfig.ValueOrder == HistValueOrder.Ninguno)
                if(resultConfig.NormalConfig.CopyQuestionShpapesFormat)
                    foreach (var answ in lst)
                    {
                        CopyQuestionShapesFormat(answ);
                    }

            return lst;
        }