public static MultipleChoiceOptionDTO MapFrom(this MultipleChoiceOption entity) { if (entity == null) { throw new Exception(ExceptionMessages.EntityNotFound); } return(new MultipleChoiceOptionDTO { OptionDescription = entity.Option }); }
public static T ToEnum <T>(this MultipleChoiceOption multipleChoiceOption) where T : struct, Enum { if (!Enum.TryParse(Capitalize(multipleChoiceOption.Codename), out T parsedEnum)) { //If simple capitalization failed, try ignoring case. Enum.TryParse(multipleChoiceOption.Codename, true, out parsedEnum); } Enum.TryParse(multipleChoiceOption.Codename, true, out parsedEnum); return(parsedEnum); }
private static List <MultipleChoiceOption> CreateObjectFromListMultipleChoiceOption(List <Dictionary <string, string> > options) { List <MultipleChoiceOption> newList = new List <MultipleChoiceOption>(); foreach (var item in options) { if (item.Count > 0) { var newMultipleChoiceOption = new MultipleChoiceOption(); newMultipleChoiceOption.Id = Guid.Parse(item["Id"]); newMultipleChoiceOption.Option = item["Option"]; newMultipleChoiceOption.MultipleChoiceQuestionId = Guid.Parse(item["MultipleChoiceQuestionId"]); newList.Add(newMultipleChoiceOption); } } return(newList); }
/// <summary> /// Adds another option to the vote /// </summary> /// <param name="input">A Open Text input, that is converted into a option</param> public void AddOption(OpenTextInput input) { lock (ThreadLock) { MultipleChoiceOption option = new MultipleChoiceOption { Archive = new List <MultipleChoiceVote>(), Votes = new List <MultipleChoiceVote>(), Description = input.Description, UserID = input.UserID //Title = input.Title, }; Options.Add(option); } EventStream(); }
public Questionnaire GetStoreModel() { // create store model questionnaire var questionnaire = new Questionnaire { Category = _questionnairePostViewModel.Category, Version = _questionnairePostViewModel.Version, Questions = new Collection <Question>(), QuestionRules = new Collection <QuestionRule>() }; // create stopre model questions and questionrules foreach (var viewModelQuestion in _questionnairePostViewModel.Questions) { var question = new Question { QuestionTemplate = new Collection <Template>(), Name = viewModelQuestion.Key, Type = viewModelQuestion.Type, Version = viewModelQuestion.Version }; var questionRule = new QuestionRule { ExpressionModel = new Collection <ExpressionModel>(), Name = viewModelQuestion.Key, HideQuestion = viewModelQuestion.HideExpression }; if (viewModelQuestion.ExpressionProperties != null) { foreach (var(key, value) in viewModelQuestion.ExpressionProperties) { var expressionModel = new ExpressionModel { Key = key, Expression = value }; questionRule.ExpressionModel.Add(expressionModel); } } var globalTemplate = viewModelQuestion.TemplateOptions; foreach (var translation in globalTemplate.Translations) { // check if question is required questionRule.Required = globalTemplate.Required; // Add all templateswith different languages to the template var questionTemplate = new Template { Description = translation.Description, InputType = globalTemplate.Type, Label = translation.Label, Language = translation.Language, Placeholder = translation.Placeholder, Validations = new Collection <Validation>() }; if (translation.Validation.Messages != null) { foreach (var(key, value) in translation.Validation.Messages) { var expressionModel = new Validation() { Type = key, Message = value }; questionTemplate.Validations.Add(expressionModel); } } if (translation.MultipleChoiceOptions != null) { questionTemplate.SelectAllOption = translation.SelectAllOption; questionTemplate.AllowedToSelectMultipleOptions = globalTemplate.Multiple; questionTemplate.Options = new Collection <MultipleChoiceOption>(); foreach (var option in translation.MultipleChoiceOptions) { var multipleChoiceOption = new MultipleChoiceOption { Value = option.Value, Label = option.Label }; questionTemplate.Options.Add(multipleChoiceOption); } question.QuestionTemplate.Add(questionTemplate); } else { question.QuestionTemplate.Add(questionTemplate); } } questionnaire.Questions.Add(question); questionnaire.QuestionRules.Add(questionRule); } return(questionnaire); }