Esempio n. 1
0
        /// <summary>
        /// Get method for MCQSettings
        /// </summary>
        /// <returns></returns>
        public ActionResult MCQSettings()
        {
            PopulateCombo();
            MCQDTO   objMCQDTO           = null;
            MCQModel objMCQSettingsModel = new MCQModel();

            using (var objMCQSL = new MCQSL())
            {
                objMCQDTO = objMCQSL.GetMCQDetails(objLoginUserDetails.CompanyDBConnectionString, 0, "SELECT", out msg);
            }

            if (objMCQDTO != null)
            {
                ViewBag.MCQAllowCorrectAnswerDropDown = GetDropDownList(objMCQDTO.NoOfQuestionForDisplay);
                ViewBag.MCQ_ID = objMCQDTO.MCQS_ID;
                objMCQSettingsModel.MCQS_ID                           = objMCQDTO.MCQS_ID;
                objMCQSettingsModel.FirstTimeLogin                    = objMCQDTO.FirstTimeLogin;
                objMCQSettingsModel.IsSpecificPeriodWise              = objMCQDTO.IsSpecificPeriodWise;
                objMCQSettingsModel.FrequencyOfMCQ                    = objMCQDTO.FrequencyOfMCQ;
                objMCQSettingsModel.IsDatewise                        = objMCQDTO.IsDatewise;
                objMCQSettingsModel.FrequencyDate                     = objMCQDTO.FrequencyDate;
                objMCQSettingsModel.FrequencyDuration                 = objMCQDTO.FrequencyDuration;
                objMCQSettingsModel.BlockUserAfterDuration            = objMCQDTO.BlockUserAfterDuration;
                objMCQSettingsModel.NoOfQuestionForDisplay            = objMCQDTO.NoOfQuestionForDisplay;
                objMCQSettingsModel.AccessTOApplicationForWriteAnswer = Convert.ToString(objMCQDTO.AccessTOApplicationForWriteAnswer);
                objMCQSettingsModel.NoOfAttempts                      = objMCQDTO.NoOfAttempts;
                objMCQSettingsModel.BlockuserAfterExceedAtempts       = objMCQDTO.BlockuserAfterExceedAtempts;
                objMCQSettingsModel.UnblockForNextFrequency           = objMCQDTO.UnblockForNextFrequency;
            }
            else
            {
                ViewBag.MCQ_ID = 0;
            }
            return(View(objMCQSettingsModel));
        }
Esempio n. 2
0
        public ActionResult MCQQuestions(int acid = 0, int QuestionID = 0)
        {
            objLoginUserDetails = (LoginUserDetails)InsiderTrading.Common.Common.GetSessionValue((string)ConstEnum.SessionValue.UserDetails);
            MCQModel objMCQSettingsModel = new MCQModel();

            PopulateCombo();
            ViewBag.EditQuestion = 0;
            if (QuestionID != 0)
            {
                objMCQSettingsModel.QuestionID = QuestionID;
                ViewBag.EditQuestion           = 1;
                using (var objMCQSL = new MCQSL())
                {
                    objMCQ_QUESTION_DTO = objMCQSL.GetMCQQuestionDetails(objLoginUserDetails.CompanyDBConnectionString, QuestionID, "SELECT", out msg, objLoginUserDetails.LoggedInUserID);
                }

                objMCQSettingsModel.Question                     = objMCQ_QUESTION_DTO.Question;
                objMCQSettingsModel.Answer_Type                  = (objMCQ_QUESTION_DTO.AnswerTypes == 1) ? "Radio" : "CheckBox";
                objMCQSettingsModel.Option_number                = objMCQ_QUESTION_DTO.OptionNumbers;
                objMCQSettingsModel.QuestionsAnswer              = objMCQ_QUESTION_DTO.QuestionAnswer;
                objMCQSettingsModel.objQuestionsAnswerList       = new List <string>();
                objMCQSettingsModel.objCorrectAnswerList         = new List <string>();
                objMCQSettingsModel.objQuestionBankDetailsIDList = new List <int>();
                for (int i = 0; i < objMCQ_QUESTION_DTO.OptionNumbers; i++)
                {
                    objMCQSettingsModel.objQuestionsAnswerList.Add(objMCQ_QUESTION_DTO.QuestionAnswer.Split('~')[i].Split('.')[1]);
                    objMCQSettingsModel.objQuestionBankDetailsIDList.Add(Convert.ToInt32(objMCQ_QUESTION_DTO.QuestionAnswerWithID.Split('~')[i]));
                    string[] correctAns = objMCQ_QUESTION_DTO.CorrectAnswer.Split('~');
                    foreach (string Ans in correctAns)
                    {
                        if (Ans == objMCQ_QUESTION_DTO.QuestionAnswer.Split('~')[i].Split('.')[1])
                        {
                            objMCQSettingsModel.objCorrectAnswerList.Add(Ans);
                        }
                    }
                }
            }



            return(View(objMCQSettingsModel));
        }
Esempio n. 3
0
        //public ActionResult ShowTest(int acid)
        public ActionResult MCQ_User(int acid)
        {
            objLoginUserDetails = (LoginUserDetails)InsiderTrading.Common.Common.GetSessionValue((string)ConstEnum.SessionValue.UserDetails);
            MCQModel objMCQSettingsModel = new MCQModel();

            objMCQSettingsModel.objMCQQuestionModel       = new MCQQuestionModel();
            objMCQSettingsModel.objMCQUserValidationModel = new MCQUserValidationModel();
            MCQ_QUESTION_DTO        objMCQ_QUESTION_DTO     = new MCQ_QUESTION_DTO();
            List <MCQ_QUESTION_DTO> objMCQ_QUESTION_DTOList = new List <MCQ_QUESTION_DTO>();
            bool   MCQStatus  = false;
            MCQDTO objMCQ_DTO = new MCQDTO();

            objMCQ_DTO.UserInfoID      = objLoginUserDetails.LoggedInUserID;
            objMCQ_DTO.MCQPerioEndDate = null;
            using (var objMCQSL = new MCQSL())
            {
                objMCQ_QUESTION_DTOList = objMCQSL.GetMCQQuestionDetailsList(objLoginUserDetails.CompanyDBConnectionString, null, "SELECT_MCQ_QUESTIONS", out msg).ToList();
            }
            using (var objMCQSL = new MCQSL())
            {
                objMCQ_QUESTION_DTO = objMCQSL.GetMCQQuestionDetails(objLoginUserDetails.CompanyDBConnectionString, 0, "ValidateUserSettings", out msg, objLoginUserDetails.LoggedInUserID);
                objMCQSettingsModel.objMCQUserValidationModel.AttemptNos            = objMCQ_QUESTION_DTO.AttemptNo;
                objMCQSettingsModel.objMCQUserValidationModel.FrequencyOfMCQs       = objMCQ_QUESTION_DTO.FrequencyOfMCQs;
                objMCQSettingsModel.objMCQUserValidationModel.CorrectAnswer         = Convert.ToInt16(objMCQ_QUESTION_DTO.CorrectAnswer);
                objMCQSettingsModel.objMCQUserValidationModel.FalseAnswer           = objMCQ_QUESTION_DTO.FalseAnswer;
                objMCQSettingsModel.objMCQUserValidationModel.ResultDuringFrequency = objMCQ_QUESTION_DTO.ResultDuringFrequency.Trim();
                objMCQSettingsModel.objMCQUserValidationModel.TotalAttempts         = objMCQ_QUESTION_DTO.TotalAttempts;
                objMCQSettingsModel.objMCQUserValidationModel.UserMessage           = objMCQ_QUESTION_DTO.UserMessage;
                objMCQSettingsModel.objMCQUserValidationModel.AttemptMessage        = objMCQ_QUESTION_DTO.AttemptMessage;
                objMCQSettingsModel.objMCQUserValidationModel.IsBlocked             = objMCQ_QUESTION_DTO.IsBlocked;
                if (objMCQ_QUESTION_DTO.TotalAttempts < objMCQ_QUESTION_DTO.AttemptNo)
                {
                    if (objMCQ_QUESTION_DTO.BlockuserAfterExceedAtempts && objMCQ_QUESTION_DTO.IsBlocked)
                    {
                        ViewBag.UserMessage = objMCQ_QUESTION_DTO.BlockedUserMessage;
                    }
                    else
                    {
                        MCQStatus            = true;
                        objMCQ_DTO.MCQStatus = MCQStatus;
                        objMCQ_DTO           = objMCQSL.InsertUpdateMCQUserStatus(objLoginUserDetails.CompanyDBConnectionString, objMCQ_DTO);
                        return(RedirectToAction("Index", "InsiderDashboard", new { acid = Common.ConstEnum.UserActions.DASHBOARD_INSIDERUSER }));
                    }
                }
                else if (!objMCQ_QUESTION_DTO.BlockUserAfterDuration && !objMCQ_QUESTION_DTO.IsBlocked && !objMCQ_QUESTION_DTO.FirstTimeLogin && objMCQ_QUESTION_DTO.FrequencyOfMCQs == "False")
                {
                    MCQStatus            = true;
                    objMCQ_DTO.MCQStatus = MCQStatus;
                    objMCQ_DTO           = objMCQSL.InsertUpdateMCQUserStatus(objLoginUserDetails.CompanyDBConnectionString, objMCQ_DTO);
                    return(RedirectToAction("Index", "InsiderDashboard", new { acid = Common.ConstEnum.UserActions.DASHBOARD_INSIDERUSER }));
                }
                else if (!objMCQ_QUESTION_DTO.BlockuserAfterExceedAtempts && !objMCQ_QUESTION_DTO.IsBlocked && !objMCQ_QUESTION_DTO.FirstTimeLogin && objMCQ_QUESTION_DTO.FrequencyOfMCQs == "False")
                {
                    MCQStatus            = true;
                    objMCQ_DTO.MCQStatus = MCQStatus;
                    objMCQ_DTO           = objMCQSL.InsertUpdateMCQUserStatus(objLoginUserDetails.CompanyDBConnectionString, objMCQ_DTO);
                    return(RedirectToAction("Index", "InsiderDashboard", new { acid = Common.ConstEnum.UserActions.DASHBOARD_INSIDERUSER }));
                }
                else if (objMCQ_QUESTION_DTO.BlockUserAfterDuration && objMCQ_QUESTION_DTO.IsBlocked && objMCQ_QUESTION_DTO.FirstTimeLogin && objMCQ_QUESTION_DTO.FrequencyOfMCQs != "False")
                {
                    ViewBag.UserMessage = objMCQ_QUESTION_DTO.BlockedUserMessage;
                }
                else
                {
                    ViewBag.UserMessage = objMCQ_QUESTION_DTO.AttemptMessage + " " + objMCQ_QUESTION_DTO.UserMessage;
                }

                ViewBag.AttemptMessage = objMCQ_QUESTION_DTO.AttemptMessage;
                if (objMCQ_QUESTION_DTO.FrequencyOfMCQs == "False" && objMCQ_QUESTION_DTO.ResultDuringFrequency.Trim() != "522002")
                {
                    ViewBag.UserMessage = objMCQ_QUESTION_DTO.AttemptMessage + " " + objMCQ_QUESTION_DTO.BlockedUserMessage;
                }

                if (objMCQ_QUESTION_DTO.ResultDuringFrequency.Trim() == "522002")
                {
                    MCQStatus            = true;
                    objMCQ_DTO.MCQStatus = MCQStatus;
                    objMCQ_DTO           = objMCQSL.InsertUpdateMCQUserStatus(objLoginUserDetails.CompanyDBConnectionString, objMCQ_DTO);
                    return(RedirectToAction("Index", "InsiderDashboard", new { acid = Common.ConstEnum.UserActions.DASHBOARD_INSIDERUSER }));
                }
            }

            ViewBag.AttemptNo = objMCQ_QUESTION_DTO.AttemptNo;
            objMCQSettingsModel.objMCQModelList = new List <MCQModel>();

            for (int i = 0; i < objMCQ_QUESTION_DTOList.Count; i++)
            {
                MCQModel objMCQModel = new MCQModel();
                objMCQModel.Question    = objMCQ_QUESTION_DTOList[i].Question;
                objMCQModel.Answer_Type = Convert.ToString(objMCQ_QUESTION_DTOList[i].AnswerTypes);
                objMCQModel.objMCQQuestionModelAnswerList = new List <MCQQuestionModel>();

                string[] QuestionOptions = objMCQ_QUESTION_DTOList[i].QuestionAnswer.Split('~');

                foreach (string Ans in QuestionOptions)
                {
                    MCQQuestionModel objMCQQuestionModel = new MCQQuestionModel();
                    string[]         QuestionAnswer      = Ans.Split('.');

                    if (QuestionAnswer.Length > 1)
                    {
                        objMCQQuestionModel.QuestionID            = objMCQ_QUESTION_DTOList[i].QuestionID;
                        objMCQQuestionModel.QuestionBankDetailsID = Convert.ToInt32(QuestionAnswer[0]);
                        objMCQQuestionModel.QuestionsAnswer       = QuestionAnswer[1];

                        objMCQModel.objMCQQuestionModelAnswerList.Add(objMCQQuestionModel);
                    }
                }

                objMCQSettingsModel.objMCQModelList.Add(objMCQModel);
            }

            using (MCQSL objMCQSL = new MCQSL())
            {
                objMCQ_DTO.MCQStatus = MCQStatus;
                objMCQ_DTO           = objMCQSL.InsertUpdateMCQUserStatus(objLoginUserDetails.CompanyDBConnectionString, objMCQ_DTO);
            }

            return(View(objMCQSettingsModel));
        }
Esempio n. 4
0
        public ActionResult MCQQuestions(List <MCQQuestionModel> objMCQQuestionModel, MCQModel objMCQModel, int acid = 0, List <int> objOptionIDLIst = null, int formId = 0)
        {
            bool statusFlag        = true;
            bool EmptyRows         = false;
            bool IsAlphaNumeric    = false;
            bool IsSpcialCharacter = false;
            var  ErrorDictionary   = new Dictionary <string, string>();

            System.Text.RegularExpressions.Regex aLphaNumeric = new System.Text.RegularExpressions.Regex(@"^[a-zA-Z0-9_ ]*$");

            objLoginUserDetails = (LoginUserDetails)InsiderTrading.Common.Common.GetSessionValue((string)ConstEnum.SessionValue.UserDetails);

            int counter = 0;

            try
            {
                if (objMCQQuestionModel != null)
                {
                    foreach (var questionAnswer in objMCQQuestionModel.Skip(1))
                    {
                        if (counter != 0)
                        {
                            if (questionAnswer.QuestionsAnswer == null)
                            {
                                statusFlag = false;
                                if (ErrorDictionary.ContainsKey("Error"))
                                {
                                    break;
                                }
                                else
                                {
                                    ErrorDictionary.Add("Error", Common.Common.getResource("usr_msg_54150"));
                                    EmptyRows = true;
                                }
                            }
                        }

                        if (questionAnswer.QuestionsAnswer != null)
                        {
                            if (!aLphaNumeric.IsMatch(questionAnswer.QuestionsAnswer))
                            {
                                if (!IsAlphaNumeric)
                                {
                                    if (ErrorDictionary.ContainsKey("Error"))
                                    {
                                        ErrorDictionary["Error"] += "<li>" + Common.Common.getResource("usr_msg_54151") + "</li>";
                                    }
                                    else
                                    {
                                        ErrorDictionary.Add("Error", Common.Common.getResource("usr_msg_54151"));
                                        EmptyRows = true;
                                    }
                                    IsAlphaNumeric = true;
                                }
                            }
                        }

                        counter = counter + 1;
                    }

                    DataTable dt = ConvertListTODataTable(objMCQQuestionModel.GroupBy(i => i.QuestionsAnswer).Select(g => g.First()).ToList(), objOptionIDLIst);
                    DataRow[] rows;

                    rows = dt.Select("CorrectAnswer = 'True'");

                    if (dt.Rows.Count != objMCQModel.Option_number)
                    {
                        statusFlag = false;
                        if (!EmptyRows)
                        {
                            var anyDuplicate = objMCQQuestionModel.Where(x => x.QuestionsAnswer != null).GroupBy(x => x.QuestionsAnswer).Any(g => g.Count() > 1);
                            if (anyDuplicate)
                            {
                                if (ErrorDictionary.ContainsKey("Error"))
                                {
                                    ErrorDictionary["Error"] += "<li>" + Common.Common.getResource("usr_msg_54147") + "</li>";
                                }
                                else
                                {
                                    ErrorDictionary.Add("Error", Common.Common.getResource("usr_msg_54147"));
                                }
                            }
                        }
                    }
                    if (rows.Length == 0 && dt != null && dt.Rows.Count > 0)
                    {
                        statusFlag = false;
                        if (ErrorDictionary.ContainsKey("Error"))
                        {
                            ErrorDictionary["Error"] += "<li>" + Common.Common.getResource("usr_msg_54148") + "</li>";
                        }
                        else
                        {
                            ErrorDictionary.Add("Error", Common.Common.getResource("usr_msg_54148"));
                        }
                    }

                    if (string.IsNullOrEmpty(objMCQModel.Question))
                    {
                        statusFlag = false;
                        if (ErrorDictionary.ContainsKey("Error"))
                        {
                            ErrorDictionary["Error"] += "<li>" + Common.Common.getResource("usr_msg_54152") + "</li>";
                        }
                        else
                        {
                            ErrorDictionary.Add("Error", Common.Common.getResource("usr_msg_54152"));
                        }
                    }
                    if (objMCQModel.Answer_Type == null)
                    {
                        if (ErrorDictionary.ContainsKey("Error"))
                        {
                            ErrorDictionary["Error"] += "<li>" + Common.Common.getResource("usr_msg_54155") + "</li>";
                        }
                        else
                        {
                            ErrorDictionary.Add("Error", Common.Common.getResource("usr_msg_54155"));
                        }
                    }
                    if (objMCQModel.Option_number == 0)
                    {
                        if (ErrorDictionary.ContainsKey("Error"))
                        {
                            ErrorDictionary["Error"] += "<li>" + Common.Common.getResource("usr_msg_54156") + "</li>";
                        }
                        else
                        {
                            ErrorDictionary.Add("Error", Common.Common.getResource("usr_msg_54156"));
                        }
                    }
                    if (statusFlag)
                    {
                        if (objMCQModel.QuestionID != 0)
                        {
                            using (var objMCQSL = new MCQSL())
                            {
                                objMCQ_QUESTION_DTO = objMCQSL.GetMCQQuestionDetails(objLoginUserDetails.CompanyDBConnectionString, objMCQModel.QuestionID, "SELECT", out msg, objLoginUserDetails.LoggedInUserID);
                            }
                        }
                        if (objMCQ_QUESTION_DTO != null)
                        {
                            InsiderTrading.Common.Common.CopyObjectPropertyByNameAndActivity(objMCQModel, objMCQ_QUESTION_DTO);
                            objMCQModel.Flag = "UPDATE";
                        }
                        else
                        {
                            objMCQ_QUESTION_DTO = new MCQ_QUESTION_DTO();
                            objMCQModel.Flag    = "INSERT";
                        }
                        objMCQ_QUESTION_DTO.Question      = objMCQModel.Question;
                        objMCQ_QUESTION_DTO.AnswerTypes   = (objMCQModel.Answer_Type == "Radio") ? 1 : 2;
                        objMCQ_QUESTION_DTO.OptionNumbers = objMCQModel.Option_number;
                        objMCQ_QUESTION_DTO.UserinfoID    = objLoginUserDetails.LoggedInUserID;
                        using (var objMCQSL = new MCQSL())
                        {
                            objMCQ_QUESTION_DTO = objMCQSL.InsertUpdateMCQQuestionDetails(objLoginUserDetails.CompanyDBConnectionString, objMCQ_QUESTION_DTO, dt, objMCQModel.Flag);
                        }
                        statusFlag = true;
                        ErrorDictionary.Add("success", Common.Common.getResource("usr_msg_54106"));
                        // PopulateCombo();
                    }
                }
                else
                {
                    statusFlag = false;
                    if (objMCQModel.Answer_Type == null)
                    {
                        if (ErrorDictionary.ContainsKey("Error"))
                        {
                            ErrorDictionary["Error"] += "<li>" + Common.Common.getResource("usr_msg_54155") + "</li>";
                        }
                        else
                        {
                            ErrorDictionary.Add("Error", Common.Common.getResource("usr_msg_54155"));
                        }
                    }
                    if (objMCQModel.Option_number == 0)
                    {
                        if (ErrorDictionary.ContainsKey("Error"))
                        {
                            ErrorDictionary["Error"] += "<li>" + Common.Common.getResource("usr_msg_54156") + "</li>";
                        }
                        else
                        {
                            ErrorDictionary.Add("Error", Common.Common.getResource("usr_msg_54156"));
                        }
                    }
                    if (objMCQModel.Question == null)
                    {
                        if (ErrorDictionary.ContainsKey("Error"))
                        {
                            ErrorDictionary["Error"] += "<li>" + Common.Common.getResource("usr_msg_54152") + "</li>";
                        }
                        else
                        {
                            ErrorDictionary.Add("Error", Common.Common.getResource("usr_msg_54152"));
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                statusFlag = false;
                ErrorDictionary.Add("Error", Common.Common.getResource("usr_msg_54137"));
            }

            return(Json(new
            {
                status = statusFlag,
                Message = ErrorDictionary
            }, JsonRequestBehavior.AllowGet));
        }
Esempio n. 5
0
        public ActionResult MCQSettings(MCQModel objMCQSettingsModel)
        {
            try
            {
                bool isError = false;
                ModelState.Remove("KEY");
                ModelState.Add("KEY", new ModelState());
                ModelState.Clear();

                if (objMCQSettingsModel.AccessTOApplicationForWriteAnswer == "undefined")
                {
                    isError = true;
                    ModelState.AddModelError("Error", Common.Common.getResource("usr_lbl_54081") + " field is required");
                }
                else
                {
                    objMCQSettingsModel.AccessTOApplicationForWriteAnswer = Request["hdnAccessTOApplicationForWriteAnswer"];
                }
                objMCQSettingsModel.MCQS_ID = Convert.ToInt32(Request["MCQS_ID"]);
                objLoginUserDetails         = (LoginUserDetails)InsiderTrading.Common.Common.GetSessionValue((string)ConstEnum.SessionValue.UserDetails);
                MCQDTO objMCQDTO = null;
                using (var objMCQSL = new MCQSL())
                {
                    objMCQDTO = objMCQSL.GetMCQDetails(objLoginUserDetails.CompanyDBConnectionString, objMCQSettingsModel.MCQS_ID, "SELECT", out msg);
                }

                if (objMCQDTO != null)
                {
                    InsiderTrading.Common.Common.CopyObjectPropertyByNameAndActivity(objMCQSettingsModel, objMCQDTO);
                    objMCQSettingsModel.Flag = "UPDATE";
                }
                else
                {
                    objMCQDTO = new MCQDTO();
                    objMCQSettingsModel.Flag = "INSERT";
                }
                if (!objMCQSettingsModel.FirstTimeLogin && (objMCQSettingsModel.FrequencyDate == null && objMCQSettingsModel.FrequencyOfMCQ == null && !(objMCQSettingsModel.IsSpecificPeriodWise) && !(objMCQSettingsModel.IsDatewise)))
                {
                    isError = true;
                    ModelState.AddModelError("Error", Common.Common.getResource("usr_msg_54158"));
                }


                if (objMCQSettingsModel.FrequencyDate != null && !objMCQSettingsModel.IsDatewise)
                {
                    isError = true;
                    ModelState.AddModelError("Error", Common.Common.getResource("usr_msg_54142"));
                }
                if (objMCQSettingsModel.FrequencyDate == null && objMCQSettingsModel.IsDatewise)
                {
                    isError = true;
                    ModelState.AddModelError("Error", Common.Common.getResource("usr_msg_54146"));
                }

                if (objMCQSettingsModel.FrequencyOfMCQ != null && !objMCQSettingsModel.IsSpecificPeriodWise)
                {
                    isError = true;
                    ModelState.AddModelError("Error", Common.Common.getResource("usr_msg_54143"));
                }
                if (objMCQSettingsModel.FrequencyOfMCQ == null && objMCQSettingsModel.IsSpecificPeriodWise)
                {
                    isError = true;
                    ModelState.AddModelError("Error", Common.Common.getResource("usr_msg_54145"));
                }

                if (isError)
                {
                    PopulateCombo();
                    ViewBag.MCQAllowCorrectAnswerDropDown = GetDropDownList(objMCQSettingsModel.NoOfQuestionForDisplay);
                    ViewBag.MCQ_ID = 0;
                    return(View(objMCQSettingsModel));
                }
                objMCQDTO.FirstTimeLogin                    = objMCQSettingsModel.FirstTimeLogin;
                objMCQDTO.IsSpecificPeriodWise              = (objMCQSettingsModel.IsSpecificPeriodWise) ? objMCQSettingsModel.IsSpecificPeriodWise : false;
                objMCQDTO.FrequencyOfMCQ                    = (objMCQSettingsModel.IsSpecificPeriodWise) ? objMCQSettingsModel.FrequencyOfMCQ : 0;
                objMCQDTO.IsDatewise                        = (objMCQSettingsModel.IsDatewise) ? objMCQSettingsModel.IsDatewise : false;
                objMCQDTO.FrequencyDate                     = (objMCQSettingsModel.IsDatewise) ? objMCQSettingsModel.FrequencyDate : null;
                objMCQDTO.FrequencyDuration                 = objMCQSettingsModel.FrequencyDuration;
                objMCQDTO.BlockUserAfterDuration            = objMCQSettingsModel.BlockUserAfterDuration;
                objMCQDTO.NoOfQuestionForDisplay            = objMCQSettingsModel.NoOfQuestionForDisplay;
                objMCQDTO.AccessTOApplicationForWriteAnswer = Convert.ToInt32(objMCQSettingsModel.AccessTOApplicationForWriteAnswer);
                objMCQDTO.NoOfAttempts                      = Convert.ToInt32(objMCQSettingsModel.NoOfAttempts);
                objMCQDTO.BlockuserAfterExceedAtempts       = objMCQSettingsModel.BlockuserAfterExceedAtempts;
                objMCQDTO.UnblockForNextFrequency           = objMCQSettingsModel.UnblockForNextFrequency;
                objMCQDTO.CreatedBy = objLoginUserDetails.LoggedInUserID;
                objMCQDTO.UpdatedBy = objLoginUserDetails.LoggedInUserID;

                using (var objMCQSL = new MCQSL())
                {
                    objMCQDTO = objMCQSL.InsertUpdateMCQDetails(objLoginUserDetails.CompanyDBConnectionString, objMCQDTO, objMCQSettingsModel.Flag);
                }



                PopulateCombo();
                ViewBag.MCQAllowCorrectAnswerDropDown = GetDropDownList(objMCQSettingsModel.NoOfQuestionForDisplay);
                ViewBag.MCQ_ID = objMCQSettingsModel.MCQS_ID;
            }
            catch (Exception ex)
            {
            }
            return(RedirectToAction("MCQSettings").Success(HttpUtility.UrlEncode(InsiderTrading.Common.Common.getResource("usr_msg_54094"))));
        }
        /*public static async void Email(string htmlString, string email, string subject, MemoryStream ms = null)
         * {
         *  try
         *  {
         *      MailMessage message = new MailMessage();
         *      SmtpClient smtp = new SmtpClient();
         *      message.From = new MailAddress("*****@*****.**");
         *      message.To.Add(new MailAddress(email));
         *      message.Subject = subject;
         *      message.IsBodyHtml = true; //to make message body as html
         *      message.Body = htmlString;
         *      if (ms != null)
         *      {
         *          ms.Position = 0;
         *          message.Attachments.Add(new System.Net.Mail.Attachment(ms, "Test.pdf", "application/pdf"));
         *      }
         *      smtp.Port = 587;
         *      smtp.Host = "smtp.gmail.com"; //for gmail host
         *      smtp.EnableSsl = true;
         *      smtp.UseDefaultCredentials = false;
         *      smtp.Credentials = new NetworkCredential("*****@*****.**", "testpassword123!");
         *      smtp.DeliveryMethod = SmtpDeliveryMethod.Network;
         *      await smtp.SendMailAsync(message);
         *  }
         *  catch (Exception) { }
         * }*/

        private async Task <AllModel> GetQuestionList(string examID, bool hideSolution = true)
        {
            cosmosClient = new CosmosClient(EndpointUri, PrimaryKey);
            Qdatabase    = await CreateDatabaseAsync(QdatabaseId);

            Qcontainer = await CreateContainerAsync(Qdatabase, QcontainerId, "id");

            QueryDefinition        query     = new QueryDefinition("select * from questions where questions.examid=\"" + examID + "\"");
            FeedIterator <dynamic> resultSet = Qcontainer.GetItemQueryIterator <dynamic>(
                query,
                requestOptions: new QueryRequestOptions()
            {
                MaxItemCount = 10
            });

            List <dynamic> questions = new List <dynamic>();

            while (resultSet.HasMoreResults)
            {
                FeedResponse <dynamic> response = await resultSet.ReadNextAsync();

                if (response.Diagnostics != null)
                {
                    Console.WriteLine($" Diagnostics {response.Diagnostics.ToString()}");
                }

                foreach (var item in response)
                {
                    if (hideSolution)
                    {
                        item.Solutions = null;
                    }
                    questions.Add(item);
                }
            }

            //questions.ElementAt(0).type;
            AllModel questionModel = new AllModel();

            foreach (var item in questions)
            {
                switch ((string)item.qtype)
                {
                case "mcq":
                {
                    MCQModel q = JsonConvert.DeserializeObject <MCQModel>(JsonConvert.SerializeObject(item));
                    questionModel.McqType.Add(q);
                    break;
                }

                case "arrange":
                {
                    ArrangeModel q = JsonConvert.DeserializeObject <ArrangeModel>(JsonConvert.SerializeObject(item));
                    questionModel.ArrangeType.Add(q);
                    break;
                }

                case "dnd":
                {
                    DnDModel q = JsonConvert.DeserializeObject <DnDModel>(JsonConvert.SerializeObject(item));
                    questionModel.DnDType.Add(q);
                    break;
                }

                case "select":
                {
                    SelectModel q = JsonConvert.DeserializeObject <SelectModel>(JsonConvert.SerializeObject(item));
                    questionModel.SelectType.Add(q);
                    break;
                }

                case "tabular":
                {
                    TabularModel q = JsonConvert.DeserializeObject <TabularModel>(JsonConvert.SerializeObject(item));
                    questionModel.TabularType.Add(q);
                    break;
                }

                default: break;
                }
            }

            return(questionModel);
        }
        /*[Authorize]*/
        public async Task <string> AddQuestion([FromForm] string type, [FromForm] string info)
        {
            cosmosClient = new CosmosClient(EndpointUri, PrimaryKey);
            Qdatabase    = await CreateDatabaseAsync(QdatabaseId);

            Qcontainer = await CreateContainerAsync(Qdatabase, QcontainerId, "id");

            string response;

            switch (type)
            {
            case "mcq":
            {
                MCQModel questionDetails = JsonConvert.DeserializeObject <MCQModel>(info);
                questionDetails.Id = Guid.NewGuid().ToString();
                response           = await AddHelper(questionDetails);

                break;
            }

            case "arrange":
            {
                ArrangeModel questionDetails = JsonConvert.DeserializeObject <ArrangeModel>(info);
                questionDetails.Id = Guid.NewGuid().ToString();
                response           = await AddHelper(questionDetails);

                break;
            }

            case "dnd":
            {
                DnDModel questionDetails = JsonConvert.DeserializeObject <DnDModel>(info);
                questionDetails.Id = Guid.NewGuid().ToString();
                response           = await AddHelper(questionDetails);

                break;
            }

            case "select":
            {
                SelectModel questionDetails = JsonConvert.DeserializeObject <SelectModel>(info);
                questionDetails.Id = Guid.NewGuid().ToString();
                response           = await AddHelper(questionDetails);

                break;
            }

            case "tabular":
            {
                TabularModel questionDetails = JsonConvert.DeserializeObject <TabularModel>(info);
                questionDetails.Id = Guid.NewGuid().ToString();
                response           = await AddHelper(questionDetails);

                break;
            }

            default:
            {
                response = "Unable to add type.";
                break;
            }
            }
            return(response);
        }