Example #1
0
        static public string serialize_questions(List <Question> questions)
        {
            string Result = questions.Count.ToString() + "~";

            for (int i = 0; i < questions.Count; i++)
            {
                if (questions.ElementAt(i) is Text_Question)
                {
                    Result += Serializable_Questions.serialize_TextQuestion((Text_Question)questions.ElementAt(i));
                }
                //else if(questions.ElementAt(i) is DropDown)
                //{
                //    Result += Serializable_Questions.serialize_DropDown((DropDown)questions.ElementAt(i));
                //}
                else if (questions.ElementAt(i) is Slider_Question)
                {
                    Result += Serializable_Questions.serialize_Slider((Slider_Question)questions.ElementAt(i));
                }
                else if (questions.ElementAt(i) is Multible)
                {
                    Result += Serializable_Questions.serialize_MultiChoice((Multible)questions.ElementAt(i));
                }
            }
            return(Result);
        }
Example #2
0
        static public ObservableCollection <Survey> deserialize(string Content)
        {
            ObservableCollection <Survey> surveys = new ObservableCollection <Survey>();
            List <Question> questions             = new List <Question>();
            int             iter          = 0;
            char            i             = Content[iter];
            string          count_surveys = "";

            while (i != '~')
            {
                count_surveys += i.ToString();
                iter++;
                i = Content[iter];
            }
            int Count_Surveys = Int32.Parse(count_surveys);

            for (int j = 0; j < Count_Surveys; j++)
            {
                string count_questions = "";
                string id = "";
                questions = new List <Question>();
                iter++;
                i = Content[iter];
                while (i != '~')
                {
                    id += i.ToString();
                    iter++;
                    i = Content[iter];
                }
                iter++;
                i = Content[iter];
                while (i != '~')
                {
                    count_questions += i.ToString();
                    iter++;
                    i = Content[iter];
                }
                int Count_Questions = Int32.Parse(count_questions);
                for (int k = 0; k < Count_Questions; k++)
                {
                    iter++;
                    i = Content[iter];
                    string typequestion = "";
                    while (i != '~')
                    {
                        typequestion += i.ToString();
                        iter++;
                        i = Content[iter];
                    }
                    if (typequestion.Contains("Text"))
                    {
                        KeyValuePair <Text_Question, int> Pair = Serializable_Questions.deserialize_Text_Question(Content, iter);
                        questions.Add(Pair.Key);
                        iter = Pair.Value;
                    }
                    else if (typequestion.Contains("Multible") || typequestion.Contains("MultiChoice") || typequestion.Contains("DropDown"))
                    {
                        KeyValuePair <Multible, int> Pair = Serializable_Questions.deserialize_MultibleChoice(Content, iter, typequestion);
                        questions.Add(Pair.Key);
                        iter = Pair.Value;
                    }
                    //else if (typequestion.Contains("DropDown"))
                    //{
                    //    KeyValuePair<DropDown, int> Pair = Serializable_Questions.deserialize_DropDown(Content, iter);
                    //    questions.Add(Pair.Key);
                    //    iter = Pair.Value;
                    //}
                    else if (typequestion.Contains("Slider"))
                    {
                        KeyValuePair <Slider_Question, int> Pair = Serializable_Questions.deserialize_Slider(Content, iter);
                        questions.Add(Pair.Key);
                        iter = Pair.Value;
                    }
                    //else if (typequestion.Contains("TextDescription"))
                    //{
                    //    Question question = new Question(TypeQuestion.TextDescription, Int32.Parse(id));
                    //    questions.Add(question);
                    //}
                }

                iter++;
                i = Content[iter];
                string user         = "";
                string title        = "";
                string description  = "";
                string date_publish = "";
                string number_of    = "";
                string type         = "";
                while (i != '~')
                {
                    user += i.ToString();
                    iter++;
                    i = Content[iter];
                }
                iter++;
                i = Content[iter];
                while (i != '~')
                {
                    title += i.ToString();
                    iter++;
                    i = Content[iter];
                }
                iter++;
                i = Content[iter];
                while (i != '~')
                {
                    description += i.ToString();
                    iter++;
                    i = Content[iter];
                }
                iter++;
                i = Content[iter];
                while (i != '~')
                {
                    number_of += i.ToString();
                    iter++;
                    i = Content[iter];
                }
                iter++;
                i = Content[iter];
                while (i != '~')
                {
                    type += i.ToString();
                    iter++;
                    i = Content[iter];
                }
                iter++;
                i = Content[iter];
                while (i != '~')
                {
                    date_publish += i.ToString();
                    iter++;
                    i = Content[iter];
                }
                Survey survey = new Survey(questions, user, title, description, date_publish);
                survey.Id = Int32.Parse(id);
                survey.Number_of_Participants = Int32.Parse(number_of);
                TypeSurvey _type = TypeSurvey.Education;
                if (type.Equals("Sport"))
                {
                    _type = TypeSurvey.Sport;
                }
                else if (type.Equals("Marketing"))
                {
                    _type = TypeSurvey.Marketing;
                }
                else if (type.Equals("Other"))
                {
                    _type = TypeSurvey.Other;
                }
                survey.type_Property = _type;
                surveys.Add(survey);
            }
            return(surveys);
        }