/// <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()); }
//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; }
public string FormUrlForSkillSetQuestionToQuestionBank(Question questionItemToEdit, DropBoxLink dropBox) { return string.Format(_questionDocument.GetAssignmentUrl(dropBox,DocumentPath.Module.QuestionBank,AppConstants.Create), "", questionItemToEdit.GetNewGuidValue()); }