public Collection <VLLibraryQuestion> GetLibraryQuestions(Int16 categoryId, int pageIndex, int pageSize, ref int totalRows, string whereClause = null, string orderByClause = null, short textsLanguage = /*DefaultLanguage*/ -2) { #region SecurityLayer #endregion return(LibrariesDal.GetLibraryQuestions(this.AccessTokenId, categoryId, pageIndex, pageSize, ref totalRows, whereClause, orderByClause, textsLanguage)); }
public VLLibraryQuestionCategory GetLibraryQuestionCategoryById(Int16 categoryId, short textsLanguage = -2) { #region SecurityLayer #endregion return(LibrariesDal.GetLibraryQuestionCategoryById(this.AccessTokenId, categoryId, textsLanguage)); }
public void DeleteLibraryQuestion(Int32 questionId) { var existingItem = LibrariesDal.GetLibraryQuestionById(this.AccessTokenId, questionId); if (existingItem == null) { throw new VLException(SR.GetString(SR.There_is_no_item_with_id, "LibraryQuestion", questionId)); } #region SecurityLayer if (this.PrincipalType == Core.PrincipalType.SystemUser) { CheckPermissions(VLPermissions.ManageSystem, VLPermissions.Developer, VLPermissions.SystemService, VLPermissions.ManageBuidingBlocks); } else { throw new VLAccessDeniedException(); } #endregion //Δεν μπορούμε να διαγράψουμε την συγκεκριμένη ερώτηση εάν έχει ήδη χρησιμοποιηθεί: if (SurveysDal.GetQuestionsForLibraryQuestionCount(this.AccessTokenId, existingItem.QuestionId) > 0) { throw new VLException("You cannot delete this LibraryQuestion! It is been used by Survey Questions!"); } LibrariesDal.DeleteLibraryQuestion(this.AccessTokenId, questionId); }
public Collection <VLLibraryQuestionCategory> GetLibraryQuestionCategories(int pageIndex, int pageSize, ref int totalRows, string whereClause = null, string orderByClause = "order by Name", short textsLanguage = -2) { #region SecurityLayer #endregion return(LibrariesDal.GetLibraryQuestionCategories(this.AccessTokenId, pageIndex, pageSize, ref totalRows, whereClause, orderByClause, textsLanguage)); }
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 VLLibraryQuestion GetLibraryQuestionById(Int32 questionId, short textsLanguage = /*DefaultLanguage*/ -2) { #region SecurityLayer #endregion return(LibrariesDal.GetLibraryQuestionById(this.AccessTokenId, questionId, textsLanguage)); }
/// <summary> /// /// </summary> /// <param name="name"></param> /// <param name="textsLanguage"></param> /// <returns></returns> public VLLibraryQuestionCategory CreateLibraryQuestionCategory(string name, short textsLanguage = -2) { Utility.CheckParameter(ref name, true, true, false, 128, "Name"); #region SecurityLayer if (this.PrincipalType == Core.PrincipalType.SystemUser) { CheckPermissions(VLPermissions.ManageSystem, VLPermissions.Developer, VLPermissions.SystemService, VLPermissions.ManageBuidingBlocks); } else { throw new VLAccessDeniedException(); } #endregion /* * Ελέγχουμε εάν υπάρχει ήδη στην βάση αυτό το name, σε οποιαδήποτε γλώσσα: */ var existingItem = LibrariesDal.GetLibraryQuestionCategoryByName(this.AccessTokenId, name, textsLanguage); if (existingItem != null) { throw new VLException(SR.GetString(SR.Value_is_already_in_use, "Name", name)); } var category = new VLLibraryQuestionCategory(); category.Name = name; return(LibrariesDal.CreateLibraryQuestionCategory(this.AccessTokenId, category, textsLanguage)); }
public void DeleteLibraryQuestionCategory(Int16 categoryId) { var existingItem = LibrariesDal.GetLibraryQuestionCategoryById(this.AccessTokenId, categoryId); if (existingItem == null) { throw new VLException(SR.GetString(SR.There_is_no_item_with_id, "LibraryQuestionCategory", categoryId)); } //Can we delete the LibraryQuestinCategory? if (existingItem.IsBuiltIn) { throw new VLException(SR.GetString(SR.You_cannot_delete_builtin, "LibraryQuestionCategory")); } var _total = LibrariesDal.GetLibraryQuestionsCount(this.AccessTokenId, categoryId); if (_total == 1) { throw new VLException(string.Format("You cannot delete library category '{0}'. There is one question depending on it!", existingItem.Name)); } else if (_total > 1) { throw new VLException(string.Format("You cannot delete library category '{0}'. There are questions depending on it!", existingItem.Name)); } LibrariesDal.DeleteLibraryQuestionCategory(this.AccessTokenId, existingItem.CategoryId); }
public VLLibraryOption CreateLibraryQuestionOption(Int32 question, string optionText, QuestionOptionType type = QuestionOptionType.Default, short textsLanguage = /*DefaultLanguage*/ -2) { VLLibraryOption option = new VLLibraryOption(); option.Question = question; option.OptionText = optionText; option.OptionType = type; return(LibrariesDal.CreateLibraryOption(this.AccessTokenId, option, textsLanguage)); }
public VLLibraryColumn CreateLibraryQuestionColumn(Int32 question, string columnText, short textsLanguage = /*DefaultLanguage*/ -2) { VLLibraryColumn column = new VLLibraryColumn(); column.Question = question; column.ColumnText = columnText; return(LibrariesDal.CreateLibraryColumn(this.AccessTokenId, column, textsLanguage)); }
public VLLibraryOption UpdateLibraryQuestionOption(VLLibraryOption option) { if (option == null) { throw new ArgumentNullException("option"); } option.ValidateInstance(); //διαβάζουμε το option απο την βάση μας: var existingItem = LibrariesDal.GetLibraryOptionById(AccessTokenId, option.Question, option.OptionId, option.TextsLanguage); if (existingItem == null) { throw new VLException(SR.GetString(SR.There_is_no_item_with_id, "Option", option.OptionId)); } existingItem.OptionText = option.OptionText; return(LibrariesDal.UpdateLibraryOption(AccessTokenId, existingItem)); }
public VLLibraryColumn UpdateLibraryQuestionColumn(VLLibraryColumn column) { if (column == null) { throw new ArgumentNullException("column"); } column.ValidateInstance(); //διαβάζουμε το option απο την βάση μας: var existingItem = LibrariesDal.GetLibraryColumnById(AccessTokenId, column.Question, column.ColumnId, column.TextsLanguage); if (existingItem == null) { throw new VLException(SR.GetString(SR.There_is_no_item_with_id, "Column", column.ColumnId)); } existingItem.ColumnText = column.ColumnText; return(LibrariesDal.UpdateLibraryColumn(AccessTokenId, existingItem)); }
/// <summary> /// /// </summary> /// <param name="category"></param> /// <returns></returns> public VLLibraryQuestionCategory UpdateLibraryQuestionCategory(VLLibraryQuestionCategory category) { if (category == null) { throw new ArgumentNullException("category"); } category.ValidateInstance(); #region SecurityLayer if (this.PrincipalType == Core.PrincipalType.SystemUser) { CheckPermissions(VLPermissions.ManageSystem, VLPermissions.Developer, VLPermissions.SystemService, VLPermissions.ManageBuidingBlocks); } else { throw new VLAccessDeniedException(); } #endregion /*Το name κάθε κατηγορίας πρέπει να είναι μοναδικό*/ var existingItem = LibrariesDal.GetLibraryQuestionCategoryByName(this.AccessTokenId, category.Name, category.TextsLanguage); if (existingItem != null && existingItem.CategoryId != category.CategoryId) { throw new VLException(SR.GetString(SR.Value_is_already_in_use, "Name", category.Name)); } if (existingItem == null) { existingItem = LibrariesDal.GetLibraryQuestionCategoryById(AccessTokenId, category.CategoryId, category.TextsLanguage); } if (existingItem == null) { throw new VLException(SR.GetString(SR.There_is_no_item_with_id, "LibraryQuestionCategory", category.CategoryId)); } existingItem.AttributeFlags = category.AttributeFlags; existingItem.Name = category.Name; return(LibrariesDal.UpdateLibraryQuestionCategory(this.AccessTokenId, existingItem)); }
public void DeleteLibraryQuestionOption(Int32 question, byte option) { LibrariesDal.DeleteLibraryOption(this.AccessTokenId, question, option); }
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)); }
public VLLibraryOption GetLibraryQuestionOptionById(Int32 question, Byte option, short textsLanguage = /*DefaultLanguage*/ -2) { return(LibrariesDal.GetLibraryOptionById(AccessTokenId, question, option, textsLanguage)); }
public Collection <VLLibraryColumn> GetLibraryQuestionColumns(Int32 question, short textsLanguage = /*DefaultLanguage*/ -2) { return(LibrariesDal.GetLibraryColumns(this.AccessTokenId, question, textsLanguage)); }
public void DeleteLibraryQuestionColumn(Int32 question, byte columnId) { LibrariesDal.DeleteLibraryColumn(this.AccessTokenId, question, columnId); }
public VLLibraryColumn GetLibraryQuestionColumnById(Int32 question, byte columnId, short textsLanguage = /*DefaultLanguage*/ -2) { return(LibrariesDal.GetLibraryColumnById(AccessTokenId, question, columnId, textsLanguage)); }