public async Task <ActionResult <int> > PutFormQuestion([FromBody] FormQuestion formQuestion)
        {
            try
            {
                if (formQuestion == null || formQuestion.ID <= 0 || formQuestion.FormID <= 0)
                {
                    return(BadRequest());
                }
                var result = await _consultingService.UpdateFormQuestion(formQuestion);

                if (result <= 0)
                {
                    return(NotFound());
                }
                return(Ok(result));
            }
            catch (Npgsql.PostgresException ex)
            {
                return(StatusCode((int)HttpStatusCode.ServiceUnavailable, $"Error with database code: {ex.SqlState}"));
            }
            catch (System.Net.Sockets.SocketException ex)
            {
                return(StatusCode((int)HttpStatusCode.ServiceUnavailable, $"Error with database. {ex.Message}"));
            }
            catch (Exception ex)
            {
                return(StatusCode((int)HttpStatusCode.InternalServerError, ex.Message));
            }
        }
示例#2
0
        public async Task <FormQuestion> GetFormQuestionById(int id)
        {
            string            sp         = StoreProcedures["GetFormQuestionById"];
            DynamicParameters parameters = new DynamicParameters();

            try
            {
                parameters.Add("fid", id, DbType.Int32);
                var result_query = await _connection.QueryAsync(sp, parameters, commandType : CommandType.StoredProcedure);

                FormQuestion result = null;
                if (result_query != null && result_query.Any())
                {
                    result = Mapper.FormQuestion.Map(result_query.FirstOrDefault());
                }

                return(result);
            }
            catch (Npgsql.PostgresException ex)
            {
                throw new Npgsql.NpgsqlException($"Error with database code: {ex.SqlState} msg: {ex.MessageText}");
            }
            catch (System.Net.Sockets.SocketException ex)
            {
                throw;
            }
            catch (Exception ex)
            {
                throw;
            }
        }
        public ActionResult New(string formTypeString)
        {
            FormType formType;

            if (formTypeString == null || !Enum.TryParse(formTypeString, out formType))
            {
                ViewBag.ErrorMsg = "No such Url exists";
                return(View("Error"));
            }

            if (_rolesManager.SetCurrentEmployee(GetCurrentUserEmail()))
            {
                if (_rolesManager.IsStaffing())
                {
                    var formQuestion = new FormQuestion
                    {
                        FormType = formType
                    };

                    ViewBag.ProfilePic = _rolesManager.LoggedInEmployee.ProfilePic;
                    ViewBag.Staffing   = _rolesManager.IsStaffing();
                    return(View("QuestionForm", formQuestion));
                }

                ViewBag.ErrorMsg = "You are not authorized to view this page";
                return(View("Error"));
            }

            ViewBag.ErrorMsg = "You are not registered on our system. Plz contact the system administrator if u think this is wrong.";
            return(View("Error"));
        }
        public void EditQuestion(FormQuestion formQuestion)
        {
            var formQuestionInDb = GetQuestionById(formQuestion.Id);

            formQuestionInDb.Title       = formQuestion.Title;
            formQuestionInDb.Description = formQuestion.Description;
            _db.SaveChanges();
        }
示例#5
0
        public FormQuestionViewModel(FormQuestion formQuestion = null)
        {
            if (formQuestion == null)
            {
                formQuestion = new FormQuestion();
            }


            this._formQuestion   = formQuestion;
            this._multplechoices = formQuestion.Multplechoice.Select(x => x.Option).ToList();
        }
        public void CreateQuestion(FormQuestion formQuestion)
        {
            var maxOrderInForm = 0;

            try
            {
                maxOrderInForm = _db.FormQuestions.Where(x => x.FormType == formQuestion.FormType).Max(x => x.OrderInForm);
            }
            catch { /* Ignore exception (no rows in the table) */ }
            formQuestion.OrderInForm = maxOrderInForm + 1;

            _db.FormQuestions.Add(formQuestion);
            _db.SaveChanges();
        }
        public ActionResult Save(FormQuestion formQuestion)
        {
            if (!ModelState.IsValid)
            {
                ViewBag.ErrorMsg = "Something went wrong with your submission. Please try again later";
                return(View("Error"));
            }

            if (formQuestion.Id == 0)
            {
                _formQuestionsDataAccess.CreateQuestion(formQuestion);
            }
            else
            {
                _formQuestionsDataAccess.EditQuestion(formQuestion);
            }

            return(RedirectToAction("Index"));
        }
        public void loadContent(FormQuestion f1)
        {
            bool Sign = true;
            int IDQuestion = 0;
            while (Sign)
            {
                Random randomQuestion = new Random();
                IDQuestion = randomQuestion.Next(0, NQuestion - 1);
                Sign = Question[IDQuestion].checkSign();
            }

            Question[IDQuestion].changeSign();
            this.recoveryQuestion(IDQuestion);

            f1.Content.Text = Question[IDQuestion].getContent();
            f1.AnswerA.Text = Question[IDQuestion].getAnswerA();
            f1.AnswerB.Text = Question[IDQuestion].getAnswerB();
            f1.AnswerC.Text = Question[IDQuestion].getAnswerC();
            f1.AnswerD.Text = Question[IDQuestion].getAnswerD();
            f1.TrueAnswer = Question[IDQuestion].getTrueAnswer();
            if (Question[IDQuestion].Image != null)
                f1.pictureBox1.BackgroundImage = Bitmap.FromFile((string)Question[IDQuestion].Image);
        }
示例#9
0
        private void StackPanel_DoubleTapped(object sender, DoubleTappedRoutedEventArgs e)
        {
            var templateId = Int32.Parse((sender as StackPanel).Tag.ToString());
            var template   = inspectionViewModel.Templates.Where(t => t.Id == templateId).First();

            template.Questions.ForEach(questionVM =>
            {
                var newModel = new FormQuestion()
                {
                    Question      = questionVM.GetModel().Question,
                    Instructions  = questionVM.GetModel().Instructions,
                    Type          = questionVM.GetModel().Type,
                    Multplechoice = questionVM.GetModel().Multplechoice.Select(x => new Multplechoice()
                    {
                        Option = x.Option
                    }).ToList()
                };

                var a = new FormQuestionViewModel(newModel);

                inspectionViewModel.SelectedInspectionForm.FormQuestions.Add(a);
            });
        }
示例#10
0
        public async Task <int> UpdateFormQuestion(FormQuestion formQuestion)
        {
            string            sp         = StoreProcedures["UpdateFormQuestion"];
            DynamicParameters parameters = new DynamicParameters();

            try
            {
                parameters.Add("fid", formQuestion.ID, DbType.Int32);
                parameters.Add("fformid", formQuestion.FormID, DbType.Int32);
                parameters.Add("fquestionid", formQuestion.QuestionID, DbType.Int32);
                parameters.Add("forder", formQuestion.Order, DbType.Int32);
                parameters.Add("fnext", formQuestion.Next, DbType.Int32);
                parameters.Add("falternativenext", formQuestion.AlternativeNext, DbType.Int32);

                var result_query = await _connection.QueryAsync(sp, parameters, commandType : CommandType.StoredProcedure);

                int result = 0;
                if (result_query != null && result_query.Any())
                {
                    result = Mapper.Primitive <int> .Map(result_query.FirstOrDefault());
                }

                return(result);
            }
            catch (Npgsql.PostgresException ex)
            {
                throw new Npgsql.NpgsqlException($"Error with database code: {ex.SqlState} msg: {ex.MessageText}");
            }
            catch (System.Net.Sockets.SocketException ex)
            {
                throw;
            }
            catch (Exception ex)
            {
                throw;
            }
        }
示例#11
0
        public IActionResult CreateExam(Exam examModel)
        {
            try
            {
                Exam exam = new Exam()
                {
                    Name       = examModel.Name,
                    CreateDate = DateTime.Now,
                    Article    = examModel.Article
                };
                examRepository.CreateExam(exam);

                foreach (var que in examModel.questions)
                {
                    FormQuestion question = new FormQuestion();
                    question.ExamId       = exam.Id;
                    question.QuestionText = que.QuestionText;
                    formQuestionRepository.CreateQuestion(question);

                    foreach (var opt in que.options)
                    {
                        FormQuestionOption option = new FormQuestionOption();
                        option.FormQuestionId = question.Id;
                        option.OptionText     = opt.OptionText;
                        option.IsAnswer       = opt.IsAnswer;
                        formQuestionOptionRepository.CreateOption(option);
                    }
                }

                return(RedirectToAction("Index", "Exam"));
            }
            catch (Exception ex)
            {
                return(BadRequest(ex.Message));
            }
        }
 public void DeleteQuestion(FormQuestion formQuestion)
 {
     _db.FormQuestions.Remove(formQuestion);
     _db.SaveChanges();
     RefreshQuestionsOrder(formQuestion.FormType);
 }
示例#13
0
文件: Form1.cs 项目: baradist/cs_labs
        private void ButtonStartQuiz_Click(object sender, EventArgs e)
        {
            var q = new FormQuestion(words);

            q.Show(this);
        }
 public void loadContent(int IDCategory, FormQuestion f1)
 {
     Categories[IDCategory].loadContent(f1);
     return;
 }
示例#15
0
 private void SpinButton_Click(object sender, EventArgs e)
 {
     timer1.Enabled = !timer1.Enabled;
     if (!timer1.Enabled)
     {
         wplayer.controls.stop();
         //Bitmap bmp1;
         //bmp1 = (Bitmap)Properties.Resources.test1;
         //SpinningBoard.Image = (Bitmap)rotateImage(bmp1, 100);
         int IDCategory = 0;
         if (y >= 0 && y <= 72)
             IDCategory = 0; // do - serie
         else if (y > 72 && y <= 144)
             IDCategory = 1; // xanh duong - cartoon
         else if (y > 144 && y <= 216)
             IDCategory = 2; // xam - classic
         else if (y > 216 && y <= 288)
             IDCategory = 3; // xang la - action
         else if (y > 288 && y <= 359)
             IDCategory = 4; // vang - crown
         Thread.Sleep(1000);
         if (IDCategory == 4)
         {
             ShowBadge(turn);
             return;
         }
         form_q = new FormQuestion();
         categories.loadContent(IDCategory, form_q);
         this.Hide();
         form_q.ShowDialog(this);
         this.Show();
         if (check == true)
         {
             team[turn] += 1;
             switch (turn)
             {
                 case 0: point1_TextChanged(sender, e); result[turn] += 2; result1.Text = Convert.ToString(result[turn]); break;
                 case 1: point2_TextChanged(sender, e); result[turn] += 2; result2.Text = Convert.ToString(result[turn]); break;
                 case 2: point3_TextChanged(sender, e); result[turn] += 2; result3.Text = Convert.ToString(result[turn]); break;
                 case 3: point4_TextChanged(sender, e); result[turn] += 2; result4.Text = Convert.ToString(result[turn]); break;
             }
             if (team[turn] == 2)
             {
                 ShowBadge(turn);
                 return;
             }
         }
         else
         {
             turn++;
             if (turn >= 4)
             {
                 Tour.Text = "Tour: " + ++round;
                 for (int i = 0; i < 4; i++)
                 {
                     if (icon[i] < 4)
                         result[i] -= 10;
                 }
                 result1.Text = Convert.ToString(result[0]);
                 result2.Text = Convert.ToString(result[1]);
                 result3.Text = Convert.ToString(result[2]);
                 result4.Text = Convert.ToString(result[3]);
                 if (round > 8)
                     Tour.Text = "Jeu terminé";
                 turn = 0;
             }
             while (Badge[turn, 0] == 1 && Badge[turn, 1] == 1 && Badge[turn, 2] == 1 && Badge[turn, 3] == 1)
             {
                 turn++;
                 if (turn >= 4)
                 {
                     Tour.Text = "Tour: " + ++round;
                     for (int i = 0; i < 4; i++)
                     {
                         if (icon[i] < 4)
                             result[i] -= 10;
                     }
                     result1.Text = Convert.ToString(result[0]);
                     result2.Text = Convert.ToString(result[1]);
                     result3.Text = Convert.ToString(result[2]);
                     result4.Text = Convert.ToString(result[3]);
                     if (round > 8)
                         Tour.Text = "Jeu terminé";
                     turn = 0;
                 }
             }
         }
         //Playing.Text = "Équipe: " + (turn + 1);
         switch (turn)
         {
             case 0:
                 Playing.Text = "Les trois garcons chauds";
                 break;
             case 1:
                 Playing.Text = "ĐAK";
                 break;
             case 2:
                 Playing.Text = "Verseau";
                 break;
             case 3:
                 Playing.Text = "1430";
                 break;
         }
     }
     else
     {
         wplayer.URL = "./sound/spin.mp3";
         wplayer.controls.play();
     }
     SavePoint();
 }
示例#16
0
        public void ChooseBadge(int player)
        {
            team[turn] = 0;
            switch (turn)
            {
                case 0: point1.Text = Convert.ToString(team[turn]); break;
                case 1: point2.Text = Convert.ToString(team[turn]); break;
                case 2: point3.Text = Convert.ToString(team[turn]); break;
                case 3: point4.Text = Convert.ToString(team[turn]); break;
            }
            form_q = new FormQuestion();
            categories.loadContent(IDBadgeChoose, form_q);

            this.Hide();
            form_q.ShowDialog(this);

            this.Show();
            if (check == true)
            {
               switch (player)
               {
                   case 0: GetBadge_P0(); result[0] += 5; icon[0]++; result1.Text = Convert.ToString(result[0]); break;
                   case 1: GetBadge_P1(); result[1] += 5; icon[1]++; result2.Text = Convert.ToString(result[1]); break;
                   case 2: GetBadge_P2(); result[2] += 5; icon[2]++; result3.Text = Convert.ToString(result[2]); break;
                   case 3: GetBadge_P3(); result[3] += 5; icon[3]++; result4.Text = Convert.ToString(result[3]); break;
               }
               while (Badge[turn, 0] == 1 && Badge[turn, 1] == 1 && Badge[turn, 2] == 1 && Badge[turn, 3] == 1)
               {
                   turn++;
                   if (turn >= 4)
                   {
                       Tour.Text = "Tour: " + ++round;
                       for (int i = 0; i < 4; i++)
                       {
                           if (icon[i] < 4)
                               result[i] -= 10;
                       }
                       result1.Text = Convert.ToString(result[0]);
                       result2.Text = Convert.ToString(result[1]);
                       result3.Text = Convert.ToString(result[2]);
                       result4.Text = Convert.ToString(result[3]);
                       if (round > 8)
                           Tour.Text = "Jeu terminé";
                       turn = 0;
                   }
               }
            }
            else
            {
                turn++;
                if (turn >= 4)
                {
                    Tour.Text = "Tour: " + ++round;
                    for (int i = 0; i < 4; i++)
                    {
                        if (icon[i] < 4)
                            result[i] -= 10;
                    }
                    result1.Text = Convert.ToString(result[0]);
                    result2.Text = Convert.ToString(result[1]);
                    result3.Text = Convert.ToString(result[2]);
                    result4.Text = Convert.ToString(result[3]);
                    if (round > 8)
                        Tour.Text = "Jeu terminé";
                    turn = 0;
                }
                while (Badge[turn, 0] == 1 && Badge[turn, 1] == 1 && Badge[turn, 2] == 1 && Badge[turn, 3] == 1)
                {
                    turn++;
                    if (turn >= 4)
                    {
                        Tour.Text = "Tour: " + ++round;
                        for (int i = 0; i < 4; i++)
                        {
                            if (icon[i] < 4)
                                result[i] -= 10;
                        }
                        result1.Text = Convert.ToString(result[0]);
                        result2.Text = Convert.ToString(result[1]);
                        result3.Text = Convert.ToString(result[2]);
                        result4.Text = Convert.ToString(result[3]);
                        if (round > 8)
                            Tour.Text = "Jeu terminé";
                        turn = 0;
                    }
                }
            }
            //Playing.Text = "Équipe: " + (turn + 1);
            switch (turn)
            {
                case 0:
                    Playing.Text = "Les trois garcons chauds";
                    break;
                case 1:
                    Playing.Text = "ĐAK";
                    break;
                case 2:
                    Playing.Text = "Verseau";
                    break;
                case 3:
                    Playing.Text = "1430";
                    break;
            }
            SavePoint();
            Badge0.Hide();
            Badge1.Hide();
            Badge2.Hide();
            Badge3.Hide();
            return;
        }
 public async Task <int> InsertFormQuestion(FormQuestion formQuestion)
 {
     return(await _consultingRepository.InsertFormQuestion(formQuestion));
 }
 public async Task <int> UpdateFormQuestion(FormQuestion formQuestion)
 {
     return(await _consultingRepository.UpdateFormQuestion(formQuestion));
 }