Ejemplo n.º 1
0
 /// <summary>
 /// to set and get dynamic url for questions
 /// </summary>
 /// <param name="questionObjFromUi"></param>
 /// <param name="dropBox"> </param>
 /// <param name="questionUrl"></param>
 /// <param name="isEditMode"></param>
 /// <param name="folderIdentifier"></param>
 /// <returns></returns>
 private string FormAndSetUrlForQuestion(Question questionObjFromUi, DropBoxLink dropBox, string questionUrl, bool isEditMode, string folderIdentifier)
 {
     if (isEditMode)
     {
         return questionUrl;
     }
     if (String.IsNullOrEmpty(questionUrl))
     {
         return string.Format(_questionDocument.GetAssignmentUrl(dropBox,DocumentPath.Module.QuestionBank,AppConstants.Create),  questionUrl, questionObjFromUi.GetNewGuidValue());
     }
     return string.Concat(questionUrl, '/', folderIdentifier, "/" + Respository.QuestionItems + "/", questionObjFromUi.GetNewGuidValue());
 }
Ejemplo n.º 2
0
        //public bool SaveSkillStructure(string uniqueIdentifier, Dictionary<string, Question> selectQuestionOrderList)
        //{
        //    _questionDocument.SaveOrUpdate(uniqueIdentifier, selectQuestionOrderList);
        //   return true;
        //}
        public bool SaveSkillStructure(string uniqueIdentifierUrl, List<DocumentProxy> documentProxyQuestionOrderList)
        {
            SkillSet skillSetToSave = new SkillSet {Questions = new Dictionary<string, Question>()};

            List<DocumentProxy> selectQuestionTemplateList = documentProxyQuestionOrderList.Where(qusTemp => qusTemp.IsQuestionFromTemplate).ToList();
                List<DocumentProxy> selectQuestionBankList = documentProxyQuestionOrderList.Where(qusTemp => !(qusTemp.IsQuestionFromTemplate)).ToList();
            foreach (DocumentProxy docProxyQuestionBank in selectQuestionBankList)
            {
                if (!AppCommon.CheckIfStringIsEmptyOrNull(docProxyQuestionBank.ParentReferenceGuid))
                {
                    Question questionFromSkillSet = _questionBankService.GetQuestion(docProxyQuestionBank.Url);
                    questionFromSkillSet.SequenceNumber = docProxyQuestionBank.OrderSequenceNumber;
                    questionFromSkillSet.CreatedBy = docProxyQuestionBank.CreatedBy;
                    questionFromSkillSet.CreatedTimeStamp = docProxyQuestionBank.CreatedTimeStamp;
                    skillSetToSave.Questions.Add(docProxyQuestionBank.UniqueIdentifier, questionFromSkillSet);
                }
                else
                {
                    Question question = _questionBankService.GetQuestion(docProxyQuestionBank.Url);
                    _questionBankService.CloneImagesForQuestion(question);
                    string newGuidQuestionBank = question.GetNewGuidValue();
                    question.Url = uniqueIdentifierUrl + "/Questions/" + newGuidQuestionBank;
                    question.ParentReferenceGuid = docProxyQuestionBank.Url;
                    question.CreatedBy = docProxyQuestionBank.CreatedBy;
                    question.CreatedTimeStamp = docProxyQuestionBank.CreatedTimeStamp;
                    skillSetToSave.Questions.Add(newGuidQuestionBank, question);
                }
            }
            foreach (DocumentProxy docProxyQuestionTemplate in selectQuestionTemplateList)
            {
                if (!AppCommon.CheckIfStringIsEmptyOrNull(docProxyQuestionTemplate.Url))
                {
                    //  ----------------- step 2 already saved question  --------------
                    Question docQusTempExist = _questionBankService.GetQuestion(docProxyQuestionTemplate.Url);
                    docQusTempExist.SequenceNumber = docProxyQuestionTemplate.OrderSequenceNumber;
                    docQusTempExist.CreatedBy = docProxyQuestionTemplate.CreatedBy;
                    docQusTempExist.CreatedTimeStamp = docProxyQuestionTemplate.CreatedTimeStamp;
                    docQusTempExist.IsAutoSave = docProxyQuestionTemplate.IsAutoSave;
                    docQusTempExist.IsActive = docProxyQuestionTemplate.IsActive;
                    string uniqueIdentifierAlreadySavedQuestionBank = (!String.IsNullOrEmpty(docProxyQuestionTemplate.Url) ? docProxyQuestionTemplate.Url.Split('/').Last() : String.Empty);
                    skillSetToSave.Questions.Add(uniqueIdentifierAlreadySavedQuestionBank, docQusTempExist);
                }
                else
                {
                    //  ----------------- step 2 new saved question  --------------
                    Question questionTemplate = new Question
                                                    {
                                                        QuestionText = docProxyQuestionTemplate.Text,
                                                        QuestionType = docProxyQuestionTemplate.TypeOfQuestion,
                                                        SequenceNumber = docProxyQuestionTemplate.OrderSequenceNumber,
                                                        IsQuestionFromTemplate =
                                                            docProxyQuestionTemplate.IsQuestionFromTemplate,
                                                        TemplateSequenceNumber =
                                                            docProxyQuestionTemplate.TemplateSequenceNumber,
                                                        CreatedBy = docProxyQuestionTemplate.CreatedBy,
                                                        CreatedTimeStamp = docProxyQuestionTemplate.CreatedTimeStamp
                                                    };
                    string newGuidQuestion = questionTemplate.GetNewGuidValue();
                    questionTemplate.Url = uniqueIdentifierUrl + "/Questions/" + newGuidQuestion;
                    skillSetToSave.Questions.Add(newGuidQuestion, questionTemplate);
                }
            }
            string identifierUrl = uniqueIdentifierUrl + "/Questions";
            _questionDocument.SaveOrUpdate(identifierUrl, skillSetToSave.Questions);
            return true;
        }
Ejemplo n.º 3
0
 public string FormUrlForSkillSetQuestionToQuestionBank(Question questionItemToEdit, DropBoxLink dropBox)
 {
     return string.Format(_questionDocument.GetAssignmentUrl(dropBox,DocumentPath.Module.QuestionBank,AppConstants.Create),  "", questionItemToEdit.GetNewGuidValue());
 }