Esempio n. 1
0
        /// <summary>
        /// Set Question Type Validation like MaxChar,NoOfLine,MinValue , MaxValue etc.
        /// </summary>
        /// <param name="questionType"></param>
        /// <param name="lstQuestionProperty"></param>
        /// <param name="objQuestionTypeDetailModel"></param>
        /// <returns></returns>
        public QuestionTypeDetailModel SetQuestionTypeValidation(CommonUtils.QuestionType questionType, List <QuestionPropertyModel> lstQuestionProperty, QuestionTypeDetailModel objQuestionTypeDetailModel, string DropDownXML = null)
        {
            switch (questionType)
            {
            case CommonUtils.QuestionType.SingleLine:
                //if question type is single line than set MaxChar Property of SingleLineModel
                SingleLineModel objSingleLineModel = new SingleLineModel();
                foreach (QuestionPropertyModel objQuestionPropertyModel in lstQuestionProperty)
                {
                    if (objQuestionPropertyModel.PropertyText == CommonUtils.QuestionProperty.MAX_CHAR.ToString())
                    {
                        objSingleLineModel.MaxChar = Convert.ToInt32(objQuestionPropertyModel.PropertyValue);
                    }
                }
                objQuestionTypeDetailModel.SingleLineTextType = objSingleLineModel;
                break;

            case CommonUtils.QuestionType.DropDown:

                objQuestionTypeDetailModel.DropDownType = new SingleLineModel();
                objQuestionTypeDetailModel.DropDownType.DropDownValue = DropDownXML;
                break;

            case CommonUtils.QuestionType.MultiLine:
                //if question type is MultiLine than set NoOfLines Property of MultiLineModel
                MultiLineModel objMultiLineModel = new MultiLineModel();
                foreach (QuestionPropertyModel objQuestionPropertyModel in lstQuestionProperty)
                {
                    if (objQuestionPropertyModel.PropertyText == CommonUtils.QuestionProperty.NO_OF_LINES.ToString())
                    {
                        objMultiLineModel.NoOfLines = Convert.ToInt32(objQuestionPropertyModel.PropertyValue);
                    }
                }
                objQuestionTypeDetailModel.MultiLineTextType = objMultiLineModel;
                break;

            case CommonUtils.QuestionType.Number:
                //if question type is Number than set MinValue,MaxValue,NoOfDecimal Properties of Number
                NumberModel objNumberModel = new NumberModel();
                foreach (QuestionPropertyModel objQuestionPropertyModel in lstQuestionProperty)
                {
                    if (objQuestionPropertyModel.PropertyText == CommonUtils.QuestionProperty.MIN_VALUE.ToString())
                    {
                        objNumberModel.MinValue = Convert.ToInt32(objQuestionPropertyModel.PropertyValue);
                    }
                    else if (objQuestionPropertyModel.PropertyText == CommonUtils.QuestionProperty.MAX_VALUE.ToString())
                    {
                        objNumberModel.MaxValue = Convert.ToInt32(objQuestionPropertyModel.PropertyValue);
                    }
                    else if (objQuestionPropertyModel.PropertyText == CommonUtils.QuestionProperty.NO_OF_DECIMAL.ToString())
                    {
                        objNumberModel.NoOfDecimal = Convert.ToInt32(objQuestionPropertyModel.PropertyValue);
                    }
                }
                objQuestionTypeDetailModel.NumberType = objNumberModel;
                break;

            case CommonUtils.QuestionType.DateAndTime:
                //if question type is DateAndTime than set IsDateOnly,DefaultValueType (like None,Todaysdate,specificDate), DateDefaultValue(in case of Specific date) Properties of DateAndTimeModel
                DateAndTimeModel objDateAndTimeModel = new DateAndTimeModel();
                foreach (QuestionPropertyModel objQuestionPropertyModel in lstQuestionProperty)
                {
                    if (objQuestionPropertyModel.PropertyText == CommonUtils.QuestionProperty.ISDATEONLY.ToString())
                    {
                        objDateAndTimeModel.IsDateOnly = Convert.ToBoolean(objQuestionPropertyModel.PropertyValue);
                    }
                    else if (objQuestionPropertyModel.PropertyText == CommonUtils.QuestionProperty.DATETIME_DEFAULT_VALUE.ToString())
                    {
                        objDateAndTimeModel.DefaultValueType = objQuestionPropertyModel.PropertyValue;
                        objDateAndTimeModel.DateDefaultValue = objQuestionPropertyModel.DateDefaultValue;
                    }
                }
                objQuestionTypeDetailModel.DateAndTimeType = objDateAndTimeModel;
                break;
            }
            return(objQuestionTypeDetailModel);
        }
Esempio n. 2
0
        /// <summary>
        /// Fill Question Properties based on QuestionTypeDetail Model
        /// </summary>
        /// <param name="objQuestionTypeDetailModel"></param>
        /// <returns></returns>
        public List <QuestionPropertyModel> FillQuestionProperties(QuestionTypeDetailModel objQuestionTypeDetailModel)
        {
            List <QuestionPropertyModel> lstQuestionPropertyModel = new List <QuestionPropertyModel>();
            QuestionPropertyModel        objQuestionPropertyModel = new QuestionPropertyModel();

            try
            {
                if (objQuestionTypeDetailModel != null)
                {
                    //if SingleLineTextType Model is not null i.e. question is singleLineText than set Property MaxChar and Add in list lstQuestionPropertyModel
                    if (objQuestionTypeDetailModel.SingleLineTextType != null)
                    {
                        if (objQuestionTypeDetailModel.SingleLineTextType.MaxChar != null && objQuestionTypeDetailModel.SingleLineTextType.MaxChar > 0)
                        {
                            objQuestionPropertyModel.PropertyText  = CommonUtils.QuestionProperty.MAX_CHAR.ToString();
                            objQuestionPropertyModel.PropertyValue = objQuestionTypeDetailModel.SingleLineTextType.MaxChar.ToString();
                            lstQuestionPropertyModel.Add(objQuestionPropertyModel);
                        }
                    }
                    else if (objQuestionTypeDetailModel.MultiLineTextType != null)
                    {
                        //if MultiLineTextType Model is not null i.e. question  is MultiLineText than set Property No Of Lines and Add in list lstQuestionPropertyModel
                        if (objQuestionTypeDetailModel.MultiLineTextType.NoOfLines != null && objQuestionTypeDetailModel.MultiLineTextType.NoOfLines > 0)
                        {
                            objQuestionPropertyModel.PropertyText  = CommonUtils.QuestionProperty.NO_OF_LINES.ToString();
                            objQuestionPropertyModel.PropertyValue = objQuestionTypeDetailModel.MultiLineTextType.NoOfLines.ToString();
                            lstQuestionPropertyModel.Add(objQuestionPropertyModel);
                        }
                    }
                    else if (objQuestionTypeDetailModel.NumberType != null)
                    {
                        //if NumberType Model is not null i.e. question is Number type than set Property MinValue, MaxValue, NoOfDecimal and Add in list lstQuestionPropertyModel
                        if (objQuestionTypeDetailModel.NumberType.MinValue != null)
                        {
                            objQuestionPropertyModel.PropertyText  = CommonUtils.QuestionProperty.MIN_VALUE.ToString();
                            objQuestionPropertyModel.PropertyValue = objQuestionTypeDetailModel.NumberType.MinValue.ToString();
                            lstQuestionPropertyModel.Add(objQuestionPropertyModel);
                        }
                        if (objQuestionTypeDetailModel.NumberType.MaxValue != null)
                        {
                            objQuestionPropertyModel = new QuestionPropertyModel();
                            objQuestionPropertyModel.PropertyText  = CommonUtils.QuestionProperty.MAX_VALUE.ToString();
                            objQuestionPropertyModel.PropertyValue = objQuestionTypeDetailModel.NumberType.MaxValue.ToString();
                            lstQuestionPropertyModel.Add(objQuestionPropertyModel);
                        }
                        if (objQuestionTypeDetailModel.NumberType.NoOfDecimal != null)
                        {
                            objQuestionPropertyModel = new QuestionPropertyModel();
                            objQuestionPropertyModel.PropertyText  = CommonUtils.QuestionProperty.NO_OF_DECIMAL.ToString();
                            objQuestionPropertyModel.PropertyValue = objQuestionTypeDetailModel.NumberType.NoOfDecimal.ToString();
                            lstQuestionPropertyModel.Add(objQuestionPropertyModel);
                        }
                    }
                    else if (objQuestionTypeDetailModel.DateAndTimeType != null)
                    {
                        //if DateAndTimeType Model is not null i.e. question is DateAndTime type than set Property IsDateOnly, DefaultValue(in case of Specific date), DefaultValueType(None,Todaysdate,SpecificDate) and Add in list lstQuestionPropertyModel
                        if (objQuestionTypeDetailModel.DateAndTimeType.IsDateOnly != null)
                        {
                            objQuestionPropertyModel.PropertyText  = CommonUtils.QuestionProperty.ISDATEONLY.ToString();
                            objQuestionPropertyModel.PropertyValue = objQuestionTypeDetailModel.DateAndTimeType.IsDateOnly.ToString();
                            lstQuestionPropertyModel.Add(objQuestionPropertyModel);
                        }
                        if (objQuestionTypeDetailModel.DateAndTimeType.DefaultValueType != null)
                        {
                            objQuestionPropertyModel = new QuestionPropertyModel();
                            objQuestionPropertyModel.PropertyText     = CommonUtils.QuestionProperty.DATETIME_DEFAULT_VALUE.ToString();
                            objQuestionPropertyModel.PropertyValue    = objQuestionTypeDetailModel.DateAndTimeType.DefaultValueType.ToString();
                            objQuestionPropertyModel.DateDefaultValue = objQuestionTypeDetailModel.DateAndTimeType.DateDefaultValue;
                            lstQuestionPropertyModel.Add(objQuestionPropertyModel);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            //return list of question properties
            return(lstQuestionPropertyModel);
        }
Esempio n. 3
0
 /// <summary>
 /// Get Question Properties List  and  set in QuestionTypeDetailModel Model
 /// </summary>
 /// <param name="questionType"></param>
 /// <param name="lstQuestionProperty"></param>
 /// <param name="objQuestionTypeDetailModel"></param>
 /// <param name="lstQuestionOptions"></param>
 /// <returns></returns>
 public QuestionTypeDetailModel SetQuestionProperties(string questionType, List <QuestionPropertyModel> lstQuestionProperty, QuestionTypeDetailModel objQuestionTypeDetailModel, List <QuestionOptionsModel> lstQuestionOptions, string DropDownXML = null)
 {
     //If lstQuestionOptions is greater than 0 means question type is single select or multiselect
     if (lstQuestionOptions != null && lstQuestionOptions.Count > 0)
     {
         //if question type is single select than set QuestionOptions of singleSelect Model in QuestionTypeDetailModel Model and return QuestionTypeDetailModel
         if (questionType == CommonUtils.QuestionType.SingleSelect.ToString())
         {
             objQuestionTypeDetailModel.SingleSelect = new SingleSelectModel();
             objQuestionTypeDetailModel.SingleSelect.QuestionOptions = lstQuestionOptions;
             return(objQuestionTypeDetailModel);
         }
         else if (questionType == CommonUtils.QuestionType.MultiSelect.ToString())
         {
             //if question type is Multi select than set QuestionOptions of MultiSelect Model in QuestionTypeDetailModel Model and return QuestionTypeDetailModel
             objQuestionTypeDetailModel.MultiSelect = new MultiSelectModel();
             objQuestionTypeDetailModel.MultiSelect.QuestionOptions = lstQuestionOptions;
             return(objQuestionTypeDetailModel);
         }
     }
     //if question type is single Line than set properties of SingleLine Model QuestionTypeDetailModel Model and return QuestionTypeDetailModel
     if (questionType == CommonUtils.QuestionType.SingleLine.ToString())
     {
         return(SetQuestionTypeValidation(CommonUtils.QuestionType.SingleLine, lstQuestionProperty, objQuestionTypeDetailModel));
     }
     else if (questionType == CommonUtils.QuestionType.MultiLine.ToString())
     {
         //if question type is Multi Line than set properties of MultiLine Model QuestionTypeDetailModel Model and return QuestionTypeDetailModel
         return(SetQuestionTypeValidation(CommonUtils.QuestionType.MultiLine, lstQuestionProperty, objQuestionTypeDetailModel));
     }
     else if (questionType == CommonUtils.QuestionType.Number.ToString())
     {
         //if question type is Number than set properties of Number Model QuestionTypeDetailModel Model and return QuestionTypeDetailModel
         return(SetQuestionTypeValidation(CommonUtils.QuestionType.Number, lstQuestionProperty, objQuestionTypeDetailModel));
     }
     else if (questionType == CommonUtils.QuestionType.DropDown.ToString())
     {
         //if question type is Number than set properties of Number Model QuestionTypeDetailModel Model and return QuestionTypeDetailModel
         return(SetQuestionTypeValidation(CommonUtils.QuestionType.DropDown, lstQuestionProperty, objQuestionTypeDetailModel, DropDownXML));
     }
     else
     {
         //if question type is DateTime than set properties of DateTime Model QuestionTypeDetailModel Model and return QuestionTypeDetailModel
         return(SetQuestionTypeValidation(CommonUtils.QuestionType.DateAndTime, lstQuestionProperty, objQuestionTypeDetailModel));
     }
 }