internal VLLibraryQuestion CreateLibraryQuestion(VLLibraryQuestion question, short textsLanguage = /*DefaultLanguage*/ -2) { if (question == null) { throw new ArgumentNullException("question"); } question.ValidateInstance(); #region SecurityLayer if (this.PrincipalType == Core.PrincipalType.SystemUser) { CheckPermissions(VLPermissions.ManageSystem, VLPermissions.Developer, VLPermissions.SystemService, VLPermissions.ManageBuidingBlocks); } else { throw new VLAccessDeniedException(); } #endregion /*Υπάρχει η κατηγορία?*/ var category = LibrariesDal.GetLibraryQuestionCategoryById(this.AccessTokenId, question.Category); if (category == null) { throw new VLException(SR.GetString(SR.There_is_no_item_with_id, "LibraryQuestionCategory", question.Category)); } return(LibrariesDal.CreateLibraryQuestion(this.AccessTokenId, question)); }
public VLLibraryColumn CreateLibraryQuestionColumn(VLLibraryQuestion question, string columnText) { if (question == null) { throw new ArgumentNullException("question"); } return(CreateLibraryQuestionColumn(question.QuestionId, columnText, question.TextsLanguage)); }
public Collection <VLLibraryColumn> GetLibraryQuestionColumns(VLLibraryQuestion question) { if (question == null) { throw new ArgumentNullException("question"); } return(GetLibraryQuestionColumns(question.QuestionId, question.TextsLanguage)); }
public VLLibraryOption CreateLibraryQuestionOption(VLLibraryQuestion question, string optionText, QuestionOptionType type = QuestionOptionType.Default) { if (question == null) { throw new ArgumentNullException("question"); } return(CreateLibraryQuestionOption(question.QuestionId, optionText, type, question.TextsLanguage)); }
public VLLibraryQuestion CreateLibraryQuestion(Int16 categoryId, QuestionType type, string questionText, short textsLanguage = /*DefaultLanguage*/ -2) { VLLibraryQuestion question = new VLLibraryQuestion(); question.Category = categoryId; question.QuestionType = type; question.QuestionText = questionText; return(CreateLibraryQuestion(question, textsLanguage)); }
internal static string GetString(string p1, string p2, VLLibraryQuestion libraryQuestion) { throw new NotImplementedException(); }
private void _Validatequestion(VLLibraryQuestion question) { if (question.IsRequired == false) { question.RequiredBehavior = null; question.RequiredMinLimit = null; question.RequiredMaxLimit = null; question.RequiredMessage = null; } else { if (string.IsNullOrWhiteSpace(question.RequiredMessage)) { throw new VLException("RequiredMessage cannot be null or an empty string!"); } } if (question.OptionalInputBox == false) { question.OtherFieldType = null; question.OtherFieldRows = null; question.OtherFieldChars = null; question.OtherFieldLabel = null; } else { if (string.IsNullOrWhiteSpace(question.OtherFieldLabel)) { throw new VLException("You must give a label for the OtherField!"); } if (question.OtherFieldType != OtherFieldType.SingleLine && question.OtherFieldType != OtherFieldType.MultipleLines) { throw new VLException("You must give a type for the OtherField!"); } } if (question.ValidationBehavior == ValidationMode.DoNotValidate) { question.ValidationField1 = null; question.ValidationField2 = null; question.ValidationField3 = null; question.RegularExpression = null; question.ValidationMessage = null; } else { if (question.ValidationBehavior == ValidationMode.TextOfSpecificLength || question.ValidationBehavior == ValidationMode.WholeNumber) { Int32 _between = 0, _and = 0; //Είναι απαραίτητο να υπάρχει ValidationMessage: if (string.IsNullOrWhiteSpace(question.ValidationMessage)) { throw new VLException("ValidationMessage cannot be null or an empty string!"); } //Πρέπει το ValidationField1 & ValidationField2 να είναι ακέραιοι αριθμοί και ValidationField1 <= ValidationField2: if (string.IsNullOrWhiteSpace(question.ValidationField1)) { throw new VLException("Validation setup error. First range value is wrong!"); } if (string.IsNullOrWhiteSpace(question.ValidationField2)) { throw new VLException("Validation setup error. Second range value is wrong!"); } try { _between = Convert.ToInt32(question.ValidationField1, CultureInfo.InvariantCulture); _and = Convert.ToInt32(question.ValidationField2, CultureInfo.InvariantCulture); } catch { throw new VLException("Validation setup error. Range values have wrong types!"); } if (_between > _and) { throw new VLException("Validation setup error. Range values are wrong!"); } } else if (question.ValidationBehavior == ValidationMode.DecimalNumber) { Double _between = 0, _and = 0; //Είναι απαραίτητο να υπάρχει ValidationMessage: if (string.IsNullOrWhiteSpace(question.ValidationMessage)) { throw new VLException("ValidationMessage cannot be null or an empty string!"); } //Πρέπει το ValidationField1 & ValidationField2 να είναι ακέραιοι αριθμοί και ValidationField1 <= ValidationField2: if (string.IsNullOrWhiteSpace(question.ValidationField1)) { throw new VLException("Validation setup error. First range value is wrong!"); } if (string.IsNullOrWhiteSpace(question.ValidationField2)) { throw new VLException("Validation setup error. Second range value is wrong!"); } try { _between = Convert.ToDouble(question.ValidationField1, CultureInfo.InvariantCulture); _and = Convert.ToDouble(question.ValidationField2, CultureInfo.InvariantCulture); } catch { throw new VLException("Validation setup error. Range values have wrong types!"); } if (_between > _and) { throw new VLException("Validation setup error. Range values are wrong!"); } } else if (question.ValidationBehavior == ValidationMode.Date1) { //Είναι απαραίτητο να υπάρχει ValidationMessage: if (string.IsNullOrWhiteSpace(question.ValidationMessage)) { question.ValidationMessage = "The specified date is invalid"; } } else if (question.ValidationBehavior == ValidationMode.Date2) { //Είναι απαραίτητο να υπάρχει ValidationMessage: if (string.IsNullOrWhiteSpace(question.ValidationMessage)) { question.ValidationMessage = "The specified date is invalid"; } } else if (question.ValidationBehavior == ValidationMode.Email) { //Είναι απαραίτητο να υπάρχει ValidationMessage: if (string.IsNullOrWhiteSpace(question.ValidationMessage)) { question.ValidationMessage = "Email address is invalid"; } } else if (question.ValidationBehavior == ValidationMode.RegularExpression) { //ΔΕΝ Είναι απαραίτητο να υπάρχει ValidationMessage: } } }
public VLLibraryQuestion UpdateLibraryQuestion(VLLibraryQuestion question) { #region input parameters validation if (question == null) { throw new ArgumentNullException("question"); } question.ValidateInstance(); #endregion #region SecurityLayer if (this.PrincipalType == Core.PrincipalType.SystemUser) { CheckPermissions(VLPermissions.ManageSystem, VLPermissions.Developer, VLPermissions.SystemService, VLPermissions.ManageBuidingBlocks); } else { throw new VLAccessDeniedException(); } #endregion //Υπάρχει η ερώτησή στο σύστημα: var existingItem = LibrariesDal.GetLibraryQuestionById(AccessTokenId, question.QuestionId, question.TextsLanguage); if (existingItem == null) { throw new VLException(SR.GetString(SR.There_is_no_item_with_id, "Question", question.QuestionId)); } //Δεν μπορούμε να αλλάξουμε τον τύπο της ερώτησης στο update: if (existingItem.QuestionType != question.QuestionType) { throw new VLException(string.Format("You cannot change the questionType of an existing question from {0} to {1}!", existingItem.QuestionType.ToString(), question.QuestionType.ToString())); } /*Ελέγχουμε την εγκυρότητα της αλλαγμένης ερώτησης, που πάμε να αποθηκεύσουμε:*/ _Validatequestion(question); //existingItem.Category = question.Category; //existingItem.QuestionType = question.QuestionType; existingItem.IsRequired = question.IsRequired; existingItem.RequiredBehavior = question.RequiredBehavior; existingItem.RequiredMinLimit = question.RequiredMinLimit; existingItem.RequiredMaxLimit = question.RequiredMaxLimit; //AttributeFlags existingItem.OptionalInputBox = question.OptionalInputBox; existingItem.RandomizeOptionsSequence = question.RandomizeOptionsSequence; existingItem.DoNotRandomizeLastOption = question.DoNotRandomizeLastOption; existingItem.RandomizeColumnSequence = question.RandomizeColumnSequence; existingItem.OneResponsePerColumn = question.OneResponsePerColumn; existingItem.AddResetLink = question.AddResetLink; existingItem.UseDateTimeControls = question.UseDateTimeControls; existingItem.ValidationBehavior = question.ValidationBehavior; existingItem.ValidationField1 = question.ValidationField1; existingItem.ValidationField2 = question.ValidationField2; existingItem.ValidationField3 = question.ValidationField3; existingItem.RegularExpression = question.RegularExpression; existingItem.RandomBehavior = question.RandomBehavior; existingItem.OtherFieldType = question.OtherFieldType; existingItem.OtherFieldRows = question.OtherFieldRows; existingItem.OtherFieldChars = question.OtherFieldChars; //OptionsSequence //ColumnsSequence existingItem.RangeStart = question.RangeStart; existingItem.RangeEnd = question.RangeEnd; //TextsLanguage existingItem.QuestionText = question.QuestionText; existingItem.Description = question.Description; existingItem.HelpText = question.HelpText; existingItem.FrontLabelText = question.FrontLabelText; existingItem.AfterLabelText = question.AfterLabelText; existingItem.InsideText = question.InsideText; existingItem.RequiredMessage = question.RequiredMessage; existingItem.ValidationMessage = question.ValidationMessage; existingItem.OtherFieldLabel = question.OtherFieldLabel; return(LibrariesDal.UpdateLibraryQuestion(AccessTokenId, existingItem)); }