Esempio n. 1
0
        protected void SubmitDB(int marks)
        {
            UserID = new Guid(Session["QuizTakerUserID"].ToString());
            QuizID = new Guid(Session["QuizTakerQuizID"].ToString());

            using (SqlConnection SqlConnection1 = new SqlConnection(QuizDBContext.QuizConnectionString()))
            {
                try
                {
                    SqlDataAdapter adapter     = new SqlDataAdapter();
                    string         QueryString = "INSERT INTO QuizScores";
                    QueryString += " (QuizID, QuizName, QuizTakenOn, QuizTakenBy, QuizScore) ";
                    QueryString += "VALUES (@QuizID, @QuizName, @QuizTakenOn, @QuizTakenBy, @QuizScore)";
                    SqlCommand InsertCommand = new SqlCommand(QueryString, SqlConnection1);
                    InsertCommand.Parameters.AddWithValue("QuizID", QuizID);
                    InsertCommand.Parameters.AddWithValue("QuizName", tableName);
                    InsertCommand.Parameters.AddWithValue("QuizTakenOn", DateTime.Now);
                    InsertCommand.Parameters.AddWithValue("QuizTakenBy", UserID);
                    InsertCommand.Parameters.AddWithValue("QuizScore", marks);

                    SqlConnection1.Open();
                    adapter.InsertCommand = InsertCommand;
                    InsertCommand.ExecuteNonQuery();
                }
                catch (Exception e)
                {
                    string error = e.ToString();
                }
            }
        }
Esempio n. 2
0
        protected void LoadTable(string TableName)
        {
            string Connection  = QuizDBContext.QuizConnectionString();
            string QueryString = "SELECT * FROM " + TableName;

            rowNumbers = new List <int>();
            dataTable  = new DataTable();

            dataTable = QueryExecute(QueryString, Connection, TableName);

            if (dataTable.Rows.Count > 0)
            {
                foreach (DataRow dr in dataTable.Rows)
                {
                    rowNumbers.Add(Convert.ToInt32(dr["QuizTableQuestionNumber"].ToString()));
                    Session["IsTableLoaded"] = "true";
                }
            }
            var parameterCurrentRow = Session["CurrentRow"];

            if (parameterCurrentRow != null)
            {
                currentRow = Convert.ToInt32(parameterCurrentRow.ToString());
            }
            else
            {
                currentRow            = rowNumbers[0];
                Session["CurrentRow"] = currentRow;
            }
            RowController(currentRow);
        }
Esempio n. 3
0
 public ActionResult <IEnumerable <QuestionDto> > GetAll()
 {
     using (QuizDBContext quizDbContext = new QuizDBContext())
     {
         return(quizDbContext.Question.Select(q => new QuestionDto(q)).ToList());
     }
 }
 public List <Category> Get()
 {
     using (QuizDBContext quizDbContext = new QuizDBContext())
     {
         return(quizDbContext.Category.ToList());
     }
 }
Esempio n. 5
0
        private void DeleteQuestion(object sender, EventArgs e)
        {
            LinkButton DeleteButton = (LinkButton)sender;

            if (DeleteButton.Attributes["qnumber"].ToString() != "")
            {
                int rowNumber = Convert.ToInt16(DeleteButton.Attributes["qnumber"].ToString());
                using (SqlConnection SqlConnection1 = new SqlConnection(QuizDBContext.QuizConnectionString()))
                {
                    try
                    {
                        SqlDataAdapter adapter           = new SqlDataAdapter();
                        string         DeleteQueryString = string.Format("DELETE FROM {0} WHERE QuizTableQuestionNumber = @qnumber", tableName);
                        SqlCommand     UpdateCommand     = new SqlCommand(DeleteQueryString, SqlConnection1);
                        UpdateCommand.Parameters.AddWithValue("@qnumber", rowNumber);
                        SqlConnection1.Open();
                        adapter.DeleteCommand = UpdateCommand;


                        UpdateCommand.ExecuteNonQuery();
                        Response.Redirect("QuizSetup.aspx");
                    }
                    catch (Exception error)
                    {
                        string errorString = error.ToString();
                    }
                }
            }
        }
Esempio n. 6
0
        public void InitializeQuizList()
        {
            string QueryString = @"Select QuizName, QuizID FROM QuizList";

            DataTable datatable = new DataTable();

            datatable = QueryExecute(QueryString, QuizDBContext.QuizConnectionString());

            if (datatable != null)
            {
                if (datatable.Rows.Count > 0)
                {
                    foreach (DataRow dr in datatable.Rows)
                    {
                        HtmlGenericControl li = new HtmlGenericControl("li");
                        li.InnerText           = dr["QuizName"].ToString();
                        li.Attributes["class"] = "list-group-item";

                        HtmlButton editButton = new HtmlButton();
                        editButton.InnerText            = "Edit";
                        editButton.Attributes["class"]  = "btn btn-primary";
                        editButton.Attributes["value"]  = SecurityClass.EncryptString(dr["QuizName"].ToString(), "TableNamePhrase");
                        editButton.Attributes["quizid"] = SecurityClass.EncryptString(dr["QuizID"].ToString(), "QuizID");
                        editButton.Attributes["action"] = SecurityClass.EncryptString("Edit", "ActionPhrase");
                        editButton.Attributes["runat"]  = "server";
                        editButton.ServerClick         += EditQuiz;
                        editButton.Attributes["id"]     = "editButton";


                        HtmlButton DeleteButton = new HtmlButton();
                        DeleteButton.InnerText            = "Delete";
                        DeleteButton.Attributes["class"]  = "btn btn-danger";
                        DeleteButton.Attributes["value"]  = SecurityClass.EncryptString(dr["QuizName"].ToString(), "TableNamePhrase");
                        DeleteButton.Attributes["action"] = SecurityClass.EncryptString("Delete", "ActionPhrase");
                        DeleteButton.Attributes["quizid"] = SecurityClass.EncryptString(dr["QuizID"].ToString(), "QuizID");
                        DeleteButton.Attributes["runat"]  = "server";
                        DeleteButton.ServerClick         += DeleteQuiz;
                        DeleteButton.Attributes["id"]     = "deleteButton";

                        HtmlButton SendToButton = new HtmlButton();
                        SendToButton.InnerText            = "Send To Email";
                        SendToButton.Attributes["class"]  = "btn btn-success";
                        SendToButton.Attributes["value"]  = SecurityClass.EncryptString(dr["QuizName"].ToString(), "TableNamePhrase");
                        SendToButton.Attributes["action"] = SecurityClass.EncryptString("Delete", "ActionPhrase");
                        SendToButton.Attributes["quizid"] = SecurityClass.EncryptString(dr["QuizID"].ToString(), "QuizID");
                        SendToButton.Attributes["runat"]  = "server";
                        SendToButton.ServerClick         += SendToEmail;
                        SendToButton.Attributes["id"]     = "sendToEmailButton";

                        QuizListDiv.Controls.Add(li);
                        li.Controls.Add(editButton);
                        li.Controls.Add(DeleteButton);
                        li.Controls.Add(SendToButton);
                    }
                }
            }
        }
Esempio n. 7
0
        public ActionResult Post([FromBody] QuestionDto questionDto)
        {
            if (questionDto == null || questionDto.Answers == null || questionDto.Answers.Count <= 0 || string.IsNullOrEmpty(questionDto.Content))
            {
                return(BadRequest());
            }

            foreach (AnswerDto answer in questionDto.Answers)
            {
                if (string.IsNullOrEmpty(answer.Content))
                {
                    return(BadRequest());
                }
            }

            using (QuizDBContext quizDbContext = new QuizDBContext())
            {
                int      newQuestionId = quizDbContext.Question.Max(q => q.Id) + 1;
                Question question      = questionDto.Question;
                question.Id = newQuestionId;

                ICollection <QuestionAnswer> questionAnswers = question.QuestionAnswer;

                question.QuestionAnswer = new List <QuestionAnswer>();

                quizDbContext.Question.Add(question);



                int newQuestionAnswerId = quizDbContext.QuestionAnswer.Max(q => q.Id) + 1;
                int newAnswerId         = quizDbContext.Answer.Max(q => q.Id) + 1;

                foreach (QuestionAnswer questionAnswer in questionAnswers)
                {
                    questionAnswer.Id = newQuestionAnswerId;

                    Answer answer = questionAnswer.Answer;
                    answer.Id = newAnswerId;

                    questionAnswer.Answer     = null;
                    questionAnswer.AnswerId   = answer.Id;
                    questionAnswer.QuestionId = question.Id;
                    quizDbContext.Answer.Add(answer);

                    quizDbContext.QuestionAnswer.Add(questionAnswer);

                    newQuestionAnswerId++;
                    newAnswerId++;
                }

                quizDbContext.SaveChanges();
            }

            return(Ok());
        }
Esempio n. 8
0
        //Constructor for show Results
        public qResults(int qAuswahl)
        {
            ctx = new QuizDBContext();
            Results resultsDB = ctx.Results.Where(x => x.Questions.qID.Equals(qAuswahl)).FirstOrDefault();

            rID = resultsDB.rID;
            results.Add("resultOne", resultsDB.resultONE);
            results.Add("resultTwo", resultsDB.relultTWO);
            results.Add("resultThree", resultsDB.resultTHREE);
            results.Add("resultTrue", resultsDB.trueRESULT);
        }
        public IActionResult CreatePdf()
        {
            List <Question> questions;

            using (QuizDBContext quizDbContext = new QuizDBContext())
            {
                questions = new Randomizer().getRandomQuestions(quizDbContext.Question.ToList(), 10);
            }

//            var globalSettings = new GlobalSettings
//            {
//                ColorMode = ColorMode.Color,
//                Orientation = Orientation.Portrait,
//                PaperSize = PaperKind.A4,
//                Margins = new MarginSettings { Top = 10 },
//                DocumentTitle = "Random Quiz",
//            };
//
//            var objectSettings = new ObjectSettings
//            {
//                PagesCount = true,
//                HtmlContent = TemplateGenerator.GetHTMLString(questions),
//                WebSettings = { DefaultEncoding = "utf-8", UserStyleSheet = Path.Combine(Directory.GetCurrentDirectory(), "assets", "styles.css") },
//                HeaderSettings = { FontName = "Arial", FontSize = 9, Right = "Page [page] of [toPage]", Line = true },
//                FooterSettings = { FontName = "Arial", FontSize = 9, Line = true, Center = "Report Footer" }
//            };
//
//            var pdf = new HtmlToPdfDocument()
//            {
//                GlobalSettings = globalSettings,
//                Objects = { objectSettings }
//            };

            HtmlToPdf converter = new HtmlToPdf();

            // create a new pdf document converting an url
            PdfDocument doc = converter.ConvertHtmlString(TemplateGenerator.GetHTMLString(questions));

            // save pdf document
            byte[] pdfFile = doc.Save();

            // close pdf document
            doc.Close();

            // return resulted pdf document
            FileResult fileResult = new FileContentResult(pdfFile, "application/pdf");

            fileResult.FileDownloadName = "Document.pdf";
            return(fileResult);

//            var file = _converter.Convert(pdfFile);
//            return File(file, "application/pdf","RandomQuiz.pdf");
        }
Esempio n. 10
0
 public static bool IsQuestionInDB(string qText)
 {
     //Show if Questiontext is already in the Database
     ctx = new QuizDBContext();
     if (ctx.Questions.Where(x => x.questionTEXT.Equals(qText)).FirstOrDefault() != null)
     {
         return(true);
     }
     else
     {
         return(false);
     }
 }
Esempio n. 11
0
        public ActionResult GenerateQuestions()
        {
            using (QuizDBContext quizDbContext = new QuizDBContext())
            {
                int newQuestionId       = quizDbContext.Question.Count() != 0 ? quizDbContext.Question.Max(q => q.Id) + 1 : 0;
                int newAnswerId         = quizDbContext.Answer.Count() != 0 ? quizDbContext.Answer.Max(q => q.Id) + 1 : 0;
                int newQuestionAnswerId = quizDbContext.QuestionAnswer.Count() != 0 ? quizDbContext.QuestionAnswer.Max(q => q.Id) + 1 : 0;
                for (int i = 0; i < 20; i++)
                {
                    Question question = new Question()
                    {
                        Content    = $"Pytanie nr {i}",
                        Id         = newQuestionId + i,
                        CategoryId = 0,
                        Difficulty = i % 3
                    };

                    quizDbContext.Question.Add(question);

                    for (int j = 0; j < 3; j++)
                    {
                        Answer answer = new Answer()
                        {
                            Id      = newAnswerId + i * 3 + j,
                            Content = $"Odpowiedź {j}"
                        };

                        QuestionAnswer questionAnswer = new QuestionAnswer()
                        {
                            Id         = newQuestionAnswerId + i * 3 + j,
                            IsCorrect  = j == 0,
                            QuestionId = question.Id,
                            AnswerId   = answer.Id
                        };

                        quizDbContext.Answer.Add(answer);
                        quizDbContext.QuestionAnswer.Add(questionAnswer);
                    }
                }

                quizDbContext.SaveChanges();
            }

            return(Ok());
        }
Esempio n. 12
0
        /// <summary>
        /// On Page load Queries the "TableName" table and populates the side bar with the list of questions.
        /// </summary>
        /// <param name="TableName"></param>
        protected void EditTable(string TableName)
        {
            string QueryString = @"Select * FROM " + TableName;

            DataTable datatable = new DataTable();

            datatable = QueryExecute(QueryString, QuizDBContext.QuizConnectionString());

            if (datatable != null)
            {
                if (datatable.Rows.Count > 0)
                {
                    foreach (DataRow dr in datatable.Rows)
                    {
                        LinkButton li = new LinkButton();
                        li.Text = dr["QuizTableQuizQuestion"].ToString();
                        li.Attributes["class"]   = "list-group-item quizSetupListGroup";
                        li.Attributes["qnumber"] = dr["QuizTableQuestionNumber"].ToString();
                        li.CommandArgument       = dr["QuizTableQuestionNumber"].ToString();
                        li.Attributes["runat"]   = "server";
                        li.Click += new System.EventHandler(QuizSideBarLinkButton_Click);

                        HtmlGenericControl questionDiv = new HtmlGenericControl("div");
                        questionDiv.Attributes["class"] = "col-xs-11 quizSetupDiv";

                        HtmlGenericControl deleteButtonDiv = new HtmlGenericControl("div");
                        deleteButtonDiv.Attributes["class"] = "col-xs-1 quizSetupDiv";

                        LinkButton DeleteButton = new LinkButton();
                        DeleteButton.Text = "Delete";
                        DeleteButton.Attributes["class"]   = "btn btn-danger";
                        DeleteButton.Attributes["runat"]   = "server";
                        DeleteButton.Attributes["id"]      = "quizSetupDeleteButton";
                        DeleteButton.Attributes["qnumber"] = dr["QuizTableQuestionNumber"].ToString();
                        DeleteButton.Click += new System.EventHandler(DeleteQuestion);

                        questionDiv.Controls.Add(li);
                        deleteButtonDiv.Controls.Add(DeleteButton);
                        quizQuestionListBar.Controls.Add(questionDiv);
                        quizQuestionListBar.Controls.Add(deleteButtonDiv);
                    }
                }
            }
        }
Esempio n. 13
0
 public ActionResult <IEnumerable <QuestionDto> > Get([FromQuery(Name = "number")] int?number)
 {
     if (!number.HasValue)
     {
         number = 10;
     }
     using (QuizDBContext quizDbContext = new QuizDBContext())
     {
         List <Question>       questions       = quizDbContext.Question.ToList();
         List <QuestionAnswer> questionAnswers = quizDbContext.QuestionAnswer.ToList();
         List <Answer>         answers         = quizDbContext.Answer.ToList();
         foreach (QuestionAnswer questionAnswer in questionAnswers)
         {
             questionAnswer.Answer = answers.Find(answer => answer.Id == questionAnswer.AnswerId);
             questions.Find(question => question.Id == questionAnswer.QuestionId).QuestionAnswer.Add(questionAnswer);
         }
         return(new Randomizer().getRandomQuestions(quizDbContext.Question.ToList(), number.Value).Select(q => new QuestionDto(q)).ToList());
     }
 }
Esempio n. 14
0
        /// <summary>
        /// Click event when any question is clicked in EditMode from the sidebar of the QuizSetup.aspx page
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        protected void QuizSideBarLinkButton_Click(object sender, EventArgs e)
        {
            //Response.Redirect("testpage.aspx");
            LinkButton li = (LinkButton)sender;
            string     parameterTableRowID = li.Attributes["qnumber"].ToString();

            if (parameterTableRowID != "")
            {
                DataSet dataset = new DataSet();
                using (SqlConnection SqlConnection1 = new SqlConnection(QuizDBContext.QuizConnectionString()))
                {
                    try
                    {
                        DataTable      dataTable   = new DataTable();
                        SqlDataAdapter adapter     = new SqlDataAdapter();
                        string         QueryString = string.Format("SELECT * FROM {0} WHERE QuizTableQuestionNumber = @qnumber", tableName);
                        SqlCommand     Command     = new SqlCommand(QueryString, SqlConnection1);
                        Command.Parameters.AddWithValue("@qnumber", parameterTableRowID);
                        SqlConnection1.Open();
                        adapter.SelectCommand = Command;

                        adapter.Fill(dataset, tableName);
                        dataTable = dataset.Tables[tableName];
                        SqlConnection1.Close();

                        if (dataTable.Rows.Count > 0)
                        {
                            AddHTMLElements(false, dataTable);
                            Session["qnumber"] = parameterTableRowID;
                        }
                    }
                    catch (Exception error)
                    {
                        string errorString = error.ToString();
                    }
                }
            }
            else
            {
                Response.Redirect("QuizSetup.aspx");
            }
        }
        public ActionResult Post([FromBody] Category category)
        {
            if (category == null)
            {
                return(BadRequest("category is null"));
            }
            else if (string.IsNullOrEmpty(category.Name))
            {
                return(BadRequest("category name is null"));
            }


            using (QuizDBContext quizDbContext = new QuizDBContext())
            {
                category.Id = quizDbContext.Category.Max(q => q.Id) + 1;
                quizDbContext.Category.Add(category);

                quizDbContext.SaveChanges();
            }

            return(Ok());
        }
Esempio n. 16
0
        /// <summary>
        /// Deletes the Quiz and removes the list item from the QuizList table tableName=TableName
        /// </summary>
        /// <param name="TableName"></param>
        protected void DeleteTable(string TableName)
        {
            string ConnectionString = QuizDBContext.QuizConnectionString();

            if (TableName != "")
            {
                string RemoveQuizListQueryString = "DELETE FROM QuizList WHERE QuizID='" + quizid + "'";

                string DropQueryString = "IF OBJECT_ID('" + TableName + "', 'U') IS NOT NULL ";
                DropQueryString += "BEGIN ";
                DropQueryString += "DROP TABLE " + TableName;
                DropQueryString += " END";
                try
                {
                    NonQueryExecute(DropQueryString, ConnectionString, "DeleteTable");
                    NonQueryExecute(RemoveQuizListQueryString, ConnectionString, "DeleteTable");
                }
                catch
                {
                    string s = "";
                }
            }
        }
Esempio n. 17
0
        /// <summary>
        /// creates table with the specified table name in the Quiz Database and adds a entry into the QuizList Table
        /// </summary>
        /// <param name="TableName"></param>
        protected void CreateTable(string TableName)
        {
            string ConnectionString = QuizDBContext.QuizConnectionString();

            if (TableName != "")
            {
                string QuizListQueryString = "INSERT INTO QuizList VALUES (@QuizID, @QuizName, @QuizCreatedByUserID, @QuizCreatedOn, @QuizModifiedOn) ";
                string QuizNameQueryString = "CREATE TABLE " + TableName + "(QuizTableQuizID uniqueidentifier NOT NULL,QuizTableQuizName varchar(50) NOT NULL,QuizTableQuestionNumber int IDENTITY(1,1), QuizTableQuizQuestion text NOT NULL, QuizTableQuizAnswer1 text NULL, QuizTableQuizAnswer2 text NULL, QuizTableQuizAnswer3 text NULL,QuizTableQuizAnswer4 text NULL, QuizTableQuizAnswer5 text NULL, QuizTableQuizAnswer6 text NULL, QuizTableAnswer text NOT NULL, PRIMARY KEY (QuizTableQuestionNumber))";
                try
                {
                    NonQueryExecute(QuizListQueryString, ConnectionString, "CreateList");
                    NonQueryExecute(QuizNameQueryString, ConnectionString, "CreateTable");
                }
                catch (Exception e)
                {
                    testLabel.Text = e.ToString();
                }
            }
            else
            {
                testLabel.Text = "No Table selected";
            }
        }
Esempio n. 18
0
 public DashboardService(IServiceProvider serviceProvider)
 {
     _context = serviceProvider.GetService <QuizDBContext>();
 }
Esempio n. 19
0
 public QuestionRepo(QuizDBContext context) : base(context)
 {
     _context = context;
 }
 public QuizRepo(QuizDBContext context) : base(context)
 {
     this._context = context;
 }
Esempio n. 21
0
 public AuthorizationService(IServiceProvider serviceProvider)
 {
     _context = serviceProvider.GetService <QuizDBContext>();
 }
 public ChoiceRepo(QuizDBContext context) : base(context)
 {
     _context = context;
 }
Esempio n. 23
0
 //Constructor for add Results
 public qResults(Dictionary <string, string> results)
 {
     ctx          = new QuizDBContext();
     this.results = results;
 }
Esempio n. 24
0
 public QuestionController(QuizDBContext context)
 {
     _context = context;
 }
Esempio n. 25
0
 public Repository(IServiceProvider serviceProvider)
 {
     _context = serviceProvider.GetService <QuizDBContext>();
 }
Esempio n. 26
0
 public QuizController(QuizDBContext context)
 {
     _context = context;
 }
Esempio n. 27
0
 public DifficultyRepo(QuizDBContext context) : base(context)
 {
 }
Esempio n. 28
0
 public UserChoiceRepo(QuizDBContext context)
 {
     this._context = context;
 }
 public RoleRepo(QuizDBContext context) : base(context)
 {
     _context = context;
 }
 public UserQuizRepo(QuizDBContext context) : base(context)
 {
     _context = context;
 }