public ActionResult CreateQuiz(HttpPostedFileBase uploadFile)
        {
            string s = Request.Params["level_id"];
            string filePath;
            if (uploadFile.ContentLength > 0)
            {
                filePath = Path.Combine(HttpContext.Server.MapPath("../Uploads"),
                                               Path.GetFileName(uploadFile.FileName));
                uploadFile.SaveAs(filePath);
                //return View();
                string prjdir = (System.IO.Path.GetDirectoryName(System.Reflection.Assembly.GetExecutingAssembly().CodeBase));
                prjdir = prjdir.Substring(6, prjdir.LastIndexOf('\\') - (1 + prjdir.Length - prjdir.LastIndexOf('\\')));
                string Excel_conn_string = "Provider=Microsoft.Jet.OleDb.4.0; data source=" + filePath + "; Extended Properties=Excel 8.0;";
                string row_conn_string = "SELECT * FROM [abc$]";
                OleDbConnection Excel_conn = new OleDbConnection(Excel_conn_string);
                OleDbCommand row_cmd = new OleDbCommand(row_conn_string, Excel_conn);
                try
                {
                    Quiz new_quiz = new Quiz();
                    new_quiz.isonline = bool.Parse(Request.Params["isonline"]);
                    new_quiz.level_id = int.Parse(Request.Params["level_id"]);
                    DocumentorDB.Quizs.InsertOnSubmit(new_quiz);
                    DocumentorDB.SubmitChanges();
                    Excel_conn.Open();
                    OleDbDataReader row = row_cmd.ExecuteReader();
                    while (row.Read())
                    {
                        int no_of_cols = row.FieldCount;
                        Question new_question = new Question();
                        new_question.question_content = row.GetValue(0).ToString();
                        int question_type = int.Parse(row.GetValue(2).ToString());
                        new_question.question_type_id = question_type;
                        DocumentorDB.Questions.InsertOnSubmit(new_question);
                        DocumentorDB.SubmitChanges();
                        QuizQuestion new_quiz_question = new QuizQuestion();
                        new_quiz_question.quiz_id = new_quiz.id;
                        new_quiz_question.question_id = new_question.id;
                        DocumentorDB.QuizQuestions.InsertOnSubmit(new_quiz_question);
                        DocumentorDB.SubmitChanges();
                        int no_of_options = 0;
                        if (question_type == 1)
                            no_of_options = 4;
                        else if (question_type == 3)
                            no_of_options = 2;
                        if (question_type == 1 || question_type == 3)
                        {
                            string all_options = "ABCD";
                            bool[] correct_options = { false, false, false, false };
                            int offset = 3;
                            for (int i = 0; i < no_of_options; i++)
                            {
                                AnswerChoice new_answer_choice = new AnswerChoice();
                                new_answer_choice.answer_content = row.GetValue(i + offset).ToString();
                                new_answer_choice.correct = all_options.ElementAt(i).ToString().Equals(row.GetValue(7).ToString());
                                new_answer_choice.question_id = new_question.id;
                                DocumentorDB.AnswerChoices.InsertOnSubmit(new_answer_choice);
                            }
                            DocumentorDB.SubmitChanges();
                        }
                        else if (question_type == 2)
                        {
                            AnswerChoice new_answer_choice = new AnswerChoice();
                            new_answer_choice.answer_content = row.GetValue(8).ToString();
                            new_answer_choice.correct = true;
                            new_answer_choice.question_id = new_question.id;
                            DocumentorDB.AnswerChoices.InsertOnSubmit(new_answer_choice);
                            DocumentorDB.SubmitChanges();
                        }
                    }
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
                finally
                {
                    Excel_conn.Dispose();
                }
            }
            try
            {
                // TODO: Add insert logic here

                return RedirectToAction("Index");
            }
            catch
            {
                return View();
            }
        }
 partial void DeleteQuestion(Question instance);
 partial void UpdateQuestion(Question instance);
 partial void InsertQuestion(Question instance);
		private void detach_Questions(Question entity)
		{
			this.SendPropertyChanging();
			entity.QuestionType = null;
		}
		private void attach_Questions(Question entity)
		{
			this.SendPropertyChanging();
			entity.QuestionType = this;
		}