示例#1
0
        private static void AppendPersonHiearchy(SurveyMetadata root)
        {
            var personMetadata = new Hierarchy
            {
                Ident  = "person",
                Parent = new ParentDetails {
                    Level = "hhold", LinkVar = "hnumber", Ordered = true
                },
                Metadata = { Name = "PR9012-PERSON", Title = "Regional Travel Survey<br/>Persons" }
            };


            //hnumber
            personMetadata.Metadata.Variables.Add(new Variable
            {
                Ident  = "1",
                Type   = Variable.VariableType.Quantity.ToString(),
                Name   = "hnumber",
                Label  = new Label("Household"),
                Values = new VariableValues
                {
                    Range = new ValueRange {
                        From = "000001", To = "999999"
                    }
                }
            });

            //pnumber
            personMetadata.Metadata.Variables.Add(new Variable
            {
                Ident  = "2",
                Type   = Variable.VariableType.Quantity.ToString(),
                Name   = "pnumber",
                Label  = new Label("Person"),
                Use    = "Serial",
                Values = new VariableValues
                {
                    Range = new ValueRange {
                        From = "000001", To = "999999"
                    }
                }
            });

            //Gender
            personMetadata.Metadata.Variables.Add(new Variable
            {
                Ident  = "3",
                Type   = Variable.VariableType.Single.ToString(),
                Name   = "pgender",
                Label  = new Label("Gender"),
                Values = new VariableValues
                {
                    Values = new List <Value>
                    {
                        new Value {
                            Code = "1", Text = "Male"
                        },
                        new Value {
                            Code = "2", Text = "Female"
                        }
                    }
                }
            });

            //Age
            personMetadata.Metadata.Variables.Add(new Variable
            {
                Ident  = "4",
                Type   = Variable.VariableType.Single.ToString(),
                Name   = "page",
                Label  = new Label("Age"),
                Values = new VariableValues
                {
                    Values = new List <Value>
                    {
                        new Value {
                            Code = "1", Text = "Under 21"
                        },
                        new Value {
                            Code = "2", Text = "21 to 45"
                        },
                        new Value {
                            Code = "3", Text = "46 to 65"
                        },
                        new Value {
                            Code = "4", Text = "Over 65"
                        }
                    }
                }
            });

            root.Hierarchies.Add(personMetadata);
        }
示例#2
0
        public static SurveyMetadata ReadMetadata()
        {
            var metadata = new SurveyMetadata {
                Name = "PR9012-HOUSEHOLD", Title = "Regional Travel Survey<br/>Households", InterviewCount = 3
            };

            //hnumber
            metadata.Variables.Add(new Variable
            {
                Ident  = "1",
                Type   = Variable.VariableType.Quantity.ToString(),
                Name   = "hnumber",
                Label  = new Label("Household"),
                Use    = "serial",
                Values = new VariableValues
                {
                    Range = new ValueRange {
                        From = "000001", To = "999999"
                    }
                }
            });

            //House type
            metadata.Variables.Add(new Variable
            {
                Ident  = "2",
                Type   = Variable.VariableType.Single.ToString(),
                Name   = "htype",
                Label  = new Label("House type"),
                Values = new VariableValues
                {
                    Values = new List <Value>
                    {
                        new Value {
                            Code = "1", Text = "Flat or Maisonette"
                        },
                        new Value {
                            Code = "2", Text = "Terraced House"
                        },
                        new Value {
                            Code = "3", Text = "Semi-detached House"
                        },
                        new Value {
                            Code = "4", Text = "Detached House"
                        }
                    }
                }
            });

            //House location
            metadata.Variables.Add(new Variable
            {
                Ident  = "3",
                Type   = Variable.VariableType.Single.ToString(),
                Name   = "hlocation",
                Label  = new Label("House location"),
                Values = new VariableValues
                {
                    Values = new List <Value>
                    {
                        new Value {
                            Code = "1", Text = "North"
                        },
                        new Value {
                            Code = "2", Text = "South"
                        },
                        new Value {
                            Code = "3", Text = "East"
                        },
                        new Value {
                            Code = "4", Text = "West"
                        }
                    }
                }
            });

            AppendPersonHiearchy(metadata);
            AppendTripHiearchy(metadata);

            return(metadata);
        }
示例#3
0
        public static SurveyMetadata ReadMetadata()
        {
            var metadata = new SurveyMetadata {
                Name = "SP5201-1", Title = "Historic House Exit Survey<br/>First Wave", InterviewCount = 3
            };

            //Respondent ID
            metadata.Variables.Add(new Variable
            {
                Ident  = "1",
                Type   = Variable.VariableType.Quantity.ToString(),
                Name   = "RESPONDENT_ID",
                Label  = new Label("Respondent ID"),
                Use    = "serial",
                Values = new VariableValues
                {
                    Range = new ValueRange {
                        From = "000001", To = "999999"
                    }
                }
            });


            //Q1.a
            metadata.Variables.Add(new Variable
            {
                Ident  = "2",
                Type   = Variable.VariableType.Date.ToString(),
                Name   = "Q1.a",
                Label  = new Label("Date of visit"),
                Values = new VariableValues
                {
                    Range = new ValueRange {
                        From = "20160101", To = "20161231"
                    }
                }
            });

            //Q1.b
            metadata.Variables.Add(new Variable
            {
                Ident = "3",
                Type  = Variable.VariableType.Time.ToString(),
                Name  = "Q1.b",
                Label = new Label("Time of visit"),
                //implicit range from="000000" to="235959"
            });

            //Q2
            metadata.Variables.Add(new Variable
            {
                Ident = "4",
                Type  = Variable.VariableType.Single.ToString(),
                Name  = "Q2",
                Label = new Label("Frequency of visit",
                                  new AltLabel {
                    Mode = "Interview", Text = "Have you visited here before?"
                },
                                  new AltLabel {
                    Mode = "Analysis", Text = "Visited before"
                }),
                Values = new VariableValues
                {
                    Values = new List <Value>
                    {
                        new Value {
                            Code = "0", Text = "No, this is the first visit"
                        },
                        new Value {
                            Code = "1", Text = "I visited before within the year"
                        },
                        new Value {
                            Code = "2", Text = "I visited before that"
                        }
                    }
                }
            });


            //Q3
            metadata.Variables.Add(new Variable
            {
                Ident  = "5",
                Type   = Variable.VariableType.Multiple.ToString(),
                Name   = "Q3",
                Label  = new Label("Attractions visited"),
                Values = new VariableValues
                {
                    Values = new List <Value>
                    {
                        new Value {
                            Code = "1", Text = "Sherwood Forest"
                        },
                        new Value {
                            Code = "2", Text = "Nottingham Castle"
                        },
                        new Value {
                            Code = "3", Text = "\"Friar Tuck\"; Restaurant"
                        },
                        new Value {
                            Code = "4", Text = "\"Maid Marion\" Cafe"
                        },
                        new Value {
                            Code = "5", Text = "Mining museum"
                        },
                        new Value {
                            Code = "9", Text = "Other"
                        },
                    }
                }
            });

            //Q3.a
            metadata.Variables.Add(new Variable
            {
                Ident = "6",
                Type  = Variable.VariableType.Character.ToString(),
                Name  = "Q3.a",
                Label = new Label("Other attractions visited")
            });


            //Q4
            metadata.Variables.Add(new Variable
            {
                Ident  = "7",
                Type   = Variable.VariableType.Single.ToString(),
                Name   = "Q4",
                Label  = new Label("Overall impression"),
                Values = new VariableValues
                {
                    Values = new List <Value>
                    {
                        new Value {
                            Code = "1", Score = 2, Text = "Very Good"
                        },
                        new Value {
                            Code = "2", Score = 1, Text = "Good"
                        },
                        new Value {
                            Code = "3", Score = 0, Text = "OK"
                        },
                        new Value {
                            Code = "4", Score = -1, Text = "Poor"
                        },
                        new Value {
                            Code = "5", Score = -2, Text = "Very poor"
                        },
                        new Value {
                            Code = "9", Text = "DK/NS"
                        },
                    }
                }
            });


            //Q5
            metadata.Variables.Add(new Variable
            {
                Ident  = "8",
                Type   = Variable.VariableType.Multiple.ToString(),
                Name   = "Q5",
                Label  = new Label("Two favourite attractions visited"),
                Values = new VariableValues
                {
                    Values = new List <Value>
                    {
                        new Value {
                            Code = "1", Text = "Sherwood Forest"
                        },
                        new Value {
                            Code = "2", Text = "Nottingham Castle"
                        },
                        new Value {
                            Code = "3", Text = "\"Friar Tuck\"; Restaurant"
                        },
                        new Value {
                            Code = "4", Text = "\"Maid Marion\" Cafe"
                        },
                        new Value {
                            Code = "5", Text = "Mining museum"
                        },
                        new Value {
                            Code = "9", Text = "Other"
                        },
                    }
                }
            });


            //Q6
            metadata.Variables.Add(new Variable
            {
                Ident  = "9",
                Type   = Variable.VariableType.Quantity.ToString(),
                Name   = "Q6",
                Label  = new Label("Miles travelled"),
                Values = new VariableValues
                {
                    Range = new ValueRange {
                        From = "1", To = "499"
                    },
                    Values = new List <Value>
                    {
                        new Value {
                            Code = "500", Text = "500 or more"
                        },
                        new Value {
                            Code = "999", Text = "Not stated"
                        }
                    }
                }
            });


            //Q7
            metadata.Variables.Add(new Variable
            {
                Ident = "10",
                Type  = Variable.VariableType.Logical.ToString(),
                Name  = "Q7",
                Label = new Label("Would come again")
            });


            //Q8
            metadata.Variables.Add(new Variable
            {
                Ident  = "11",
                Type   = Variable.VariableType.Single.ToString(),
                Name   = "Q8",
                Label  = new Label("When is that most likely to be"),
                Filter = "Q7",
                Values = new VariableValues
                {
                    Values = new List <Value>
                    {
                        new Value {
                            Code = "A", Text = "Within 3 months"
                        },
                        new Value {
                            Code = "B", Text = "Between 3 months and 1 year"
                        },
                        new Value {
                            Code = "C", Text = "More than 1 years time"
                        },
                    }
                }
            });

            //WT
            metadata.Variables.Add(new Variable
            {
                Ident  = "999999",
                Type   = Variable.VariableType.Quantity.ToString(),
                Name   = "WT",
                Label  = new Label("Record weight"),
                Use    = "weight",
                Values = new VariableValues
                {
                    Range = new ValueRange {
                        From = "0.0000", To = "99.9999"
                    }
                }
            });

            return(metadata);
        }
示例#4
0
        private static void AppendTripHiearchy(SurveyMetadata root)
        {
            var tripMetadata = new Hierarchy {
                Ident = "trip", Parent = new ParentDetails {
                    Level = "person", LinkVar = "pnumber", Ordered = true
                }
            };

            tripMetadata.Metadata.Name  = "PR9012-TRIP";
            tripMetadata.Metadata.Title = "Regional Travel Survey<br/>Trips";

            //pnumber
            tripMetadata.Metadata.Variables.Add(new Variable
            {
                Ident  = "1",
                Type   = Variable.VariableType.Quantity.ToString(),
                Name   = "pnumber",
                Label  = new Label("Person"),
                Values = new VariableValues
                {
                    Range = new ValueRange {
                        From = "000001", To = "99999919"
                    }
                }
            });

            //tpurpose
            tripMetadata.Metadata.Variables.Add(new Variable
            {
                Ident  = "2",
                Type   = Variable.VariableType.Single.ToString(),
                Name   = "tpurpose",
                Label  = new Label("Trip purpose"),
                Values = new VariableValues
                {
                    Values = new List <Value>
                    {
                        new Value {
                            Code = "1", Text = "Social, domestic, pleasure"
                        },
                        new Value {
                            Code = "2", Text = "To or from place of work"
                        },
                        new Value {
                            Code = "3", Text = "Business"
                        }
                    }
                }
            });

            //tmode
            tripMetadata.Metadata.Variables.Add(new Variable
            {
                Ident  = "3",
                Type   = Variable.VariableType.Single.ToString(),
                Name   = "tmode",
                Label  = new Label("Modes of travel"),
                Values = new VariableValues
                {
                    Values = new List <Value>
                    {
                        new Value {
                            Code = "1", Text = "Car or van driver"
                        },
                        new Value {
                            Code = "2", Text = "Car or van passenger"
                        },
                        new Value {
                            Code = "3", Text = "Bus"
                        },
                        new Value {
                            Code = "4", Text = "Train"
                        },
                        new Value {
                            Code = "5", Text = "Cycle"
                        },
                        new Value {
                            Code = "6", Text = "Other"
                        }
                    }
                }
            });

            root.Hierarchies.Add(tripMetadata);
        }
示例#5
0
        public static SurveyMetadata ReadMetadata()
        {
            var metadata = new SurveyMetadata
            {
                Name           = "SP5201-1",
                Title          = "Historic House Exit Survey<br/>First Wave",
                InterviewCount = 3,
                Languages      = new List <Language>
                {
                    new Language {
                        Ident = "FR", Name = "French"
                    },
                    new Language {
                        Ident = "EN", Name = "English"
                    }
                }
            };

            //Available languages

            //Respondent ID
            metadata.Variables.Add(new Variable
            {
                Ident          = "1",
                Type           = Enums.VariableType.Quantity,
                Name           = "RESPONDENT_ID",
                Label          = new Label("Respondent ID"),
                Use            = Enums.UseType.Serial,
                VariableValues = new VariableValues
                {
                    Range = new ValueRange {
                        From = "000001", To = "999999"
                    }
                }
            });


            //Q1.a
            metadata.Variables.Add(new Variable
            {
                Ident          = "2",
                Type           = Enums.VariableType.Date,
                Name           = "Q1.a",
                Label          = new Label("Date of visit"),
                VariableValues = new VariableValues
                {
                    Range = new ValueRange {
                        From = "20160101", To = "20161231"
                    }
                }
            });

            //Q1.b
            metadata.Variables.Add(new Variable
            {
                Ident = "3",
                Type  = Enums.VariableType.Time,
                Name  = "Q1.b",
                Label = new Label("Time of visit"),
                //implicit range from="000000" to="235959"
            });

            //Q2
            metadata.Variables.Add(new Variable
            {
                Ident = "4",
                Type  = Enums.VariableType.Single,
                Name  = "Q2",
                Label = new Label("Frequency of visit",
                                  new AltLabel {
                    Mode = Enums.AltLabelMode.Interview, Text = "Have you visited here before?", LangIdent = "EN"
                },
                                  new AltLabel {
                    Mode = Enums.AltLabelMode.Analysis, Text = "Visited before", LangIdent = "EN"
                },
                                  new AltLabel {
                    Mode = Enums.AltLabelMode.Interview, Text = "Avez-vous déjà visité ici?", LangIdent = "FR"
                },
                                  new AltLabel {
                    Mode = Enums.AltLabelMode.Analysis, Text = "Visité avant", LangIdent = "FR"
                }),
                VariableValues = new VariableValues
                {
                    Values = new List <Value>
                    {
                        new Value {
                            Ident = "0", Code = "0", Label = new Label
                            {
                                Text      = "No, this is the first visit",
                                AltLabels = new List <AltLabel>
                                {
                                    new AltLabel {
                                        LangIdent = "FR", Mode = Enums.AltLabelMode.Interview, Text = "Non, c'est la première visite"
                                    }
                                }
                            }
                        },
                        new Value {
                            Ident = "1", Code = "1", Label = new Label
                            {
                                Text      = "I visited before within the year",
                                AltLabels = new List <AltLabel>
                                {
                                    new AltLabel {
                                        LangIdent = "FR", Mode = Enums.AltLabelMode.Interview, Text = "J'ai visité avant dans l'année"
                                    }
                                }
                            }
                        },
                        new Value {
                            Ident = "2", Code = "2", Label = new Label
                            {
                                Text      = "I visited before that",
                                AltLabels = new List <AltLabel>
                                {
                                    new AltLabel {
                                        LangIdent = "FR", Mode = Enums.AltLabelMode.Interview, Text = "J'ai visité avant ça"
                                    }
                                }
                            }
                        }
                    }
                }
            });


            //Q3
            metadata.Variables.Add(new Variable
            {
                Ident          = "5",
                Type           = Enums.VariableType.Multiple,
                MaxResponses   = 8,
                Name           = "Q3",
                Label          = new Label("Attractions visited"),
                VariableValues = new VariableValues
                {
                    Values = new List <Value>
                    {
                        new Value {
                            Ident = "1", Code = "1", Label = new Label {
                                Text = "Sherwood Forest"
                            }
                        },
                        new Value {
                            Ident = "2", Code = "2", Label = new Label {
                                Text = "Nottingham Castle"
                            }
                        },
                        new Value {
                            Ident = "3", Code = "3", Label = new Label {
                                Text = "\"Friar Tuck\"; Restaurant"
                            }
                        },
                        new Value {
                            Ident = "4", Code = "4", Label = new Label {
                                Text = "\"Maid Marion\" Cafe"
                            }
                        },
                        new Value {
                            Ident = "5", Code = "5", Label = new Label {
                                Text = "Mining museum"
                            }
                        },
                        new Value {
                            Ident = "9", Code = "9", Label = new Label {
                                Text = "Other"
                            }
                        },
                        new Value {
                            Ident = "10", Code = "10", Label = new Label {
                                Text = "Other"
                            }
                        },
                        new Value {
                            Ident = "11", Code = "11", Label = new Label {
                                Text = "Other"
                            }
                        }
                    }
                },
                //Q3.a
                Questions = new List <Variable>
                {
                    new Variable
                    {
                        Ident        = "6",
                        Type         = Enums.VariableType.Character,
                        ParentType   = Enums.ParentType.OtherSpecify,
                        MaxResponses = 3,
                        Name         = "Q3.a",
                        Label        = new Label("Other attractions visited")
                    }
                }
            });



            //Q4
            metadata.Variables.Add(new Variable
            {
                Ident          = "7",
                Type           = Enums.VariableType.Single,
                Name           = "Q4",
                Label          = new Label("Overall impression"),
                VariableValues = new VariableValues
                {
                    Values = new List <Value>
                    {
                        new Value {
                            Ident = "1", Code = "1", Score = 2, Label = new Label  {
                                Text = "Very Good"
                            }
                        },
                        new Value {
                            Ident = "2", Code = "2", Score = 1, Label = new Label  {
                                Text = "Good"
                            }
                        },
                        new Value {
                            Ident = "3", Code = "3", Score = 0, Label = new Label  {
                                Text = "OK"
                            }
                        },
                        new Value {
                            Ident = "4", Code = "4", Score = -1, Label = new Label {
                                Text = "Poor"
                            }
                        },
                        new Value {
                            Ident = "5", Code = "5", Score = -2, Label = new Label {
                                Text = "Very poor"
                            }
                        },
                        new Value {
                            Ident = "6", Code = "9", Label = new Label {
                                Text = "DK/NS"
                            }
                        }
                    }
                }
            });


            //Q5
            metadata.Variables.Add(new Variable
            {
                Ident          = "8",
                Type           = Enums.VariableType.Multiple,
                MaxResponses   = 2,
                Name           = "Q5",
                Label          = new Label("Two favourite attractions visited"),
                VariableValues = new VariableValues
                {
                    Values = new List <Value>
                    {
                        new Value {
                            Ident = "1", Code = "1", Label = new Label {
                                Text = "Sherwood Forest"
                            }
                        },
                        new Value {
                            Ident = "2", Code = "2", Label = new Label {
                                Text = "Nottingham Castle"
                            }
                        },
                        new Value {
                            Ident = "3", Code = "3", Label = new Label {
                                Text = "\"Friar Tuck\"; Restaurant"
                            }
                        },
                        new Value {
                            Ident = "4", Code = "4", Label = new Label {
                                Text = "\"Maid Marion\" Cafe"
                            }
                        },
                        new Value {
                            Ident = "5", Code = "5", Label = new Label {
                                Text = "Mining museum"
                            }
                        },
                        new Value {
                            Ident = "9", Code = "9", Label = new Label {
                                Text = "Other"
                            }
                        },
                        new Value {
                            Ident = "10", Code = "10", Label = new Label {
                                Text = "Other"
                            }
                        },
                        new Value {
                            Ident = "11", Code = "11", Label = new Label {
                                Text = "Other"
                            }
                        }
                    }
                }
            });


            //Q6
            metadata.Variables.Add(new Variable
            {
                Ident          = "9",
                Type           = Enums.VariableType.Quantity,
                Name           = "Q6",
                Label          = new Label("Miles travelled"),
                VariableValues = new VariableValues
                {
                    Range = new ValueRange {
                        From = "1", To = "499"
                    },
                    Values = new List <Value>
                    {
                        new Value {
                            Ident = "500", Code = "500", Label = new Label {
                                Text = "500 or more"
                            }
                        },
                        new Value {
                            Ident = "999", Code = "999", Label = new Label {
                                Text = "Not stated"
                            }
                        }
                    }
                }
            });


            //Q7
            metadata.Variables.Add(new Variable
            {
                Ident = "10",
                Type  = Enums.VariableType.Logical,
                Name  = "Q7",
                Label = new Label("Would come again")
            });


            //Q8
            metadata.Variables.Add(new Variable
            {
                Ident = "11",
                Type  = Enums.VariableType.Single,
                Name  = "Q8",
                Label = new Label("When is that most likely to be"),
                //Filter = "Q7",
                VariableValues = new VariableValues
                {
                    Values = new List <Value>
                    {
                        new Value {
                            Ident = "A", Code = "A", Label = new Label  {
                                Text = "Within 3 months"
                            }
                        },
                        new Value {
                            Ident = "B", Code = "B", Label = new Label {
                                Text = "Between 3 months and 1 year"
                            }
                        },
                        new Value {
                            Ident = "C", Code = "C", Label = new Label {
                                Text = "More than 1 years time"
                            }
                        },
                    }
                }
            });


            //Q9 - Grid
            metadata.Variables.Add(new Variable
            {
                Ident          = "12",
                Type           = Enums.VariableType.Single,
                Name           = "Q9",
                Label          = new Label("Grid"),
                VariableValues = new VariableValues
                {
                    Values = new List <Value>
                    {
                        new Value {
                            Ident = "1", Code = "1", Label = new Label {
                                Text = "Sherwood Forest"
                            }
                        },
                        new Value {
                            Ident = "2", Code = "2", Label = new Label {
                                Text = "Nottingham Castle"
                            }
                        },
                        new Value {
                            Ident = "3", Code = "3", Label = new Label {
                                Text = "\"Friar Tuck\"; Restaurant"
                            }
                        },
                        new Value {
                            Ident = "4", Code = "4", Label = new Label {
                                Text = "\"Maid Marion\" Cafe"
                            }
                        },
                        new Value {
                            Ident = "5", Code = "5", Label = new Label {
                                Text = "Mining museum"
                            }
                        },
                        new Value {
                            Ident = "9", Code = "9", Label = new Label {
                                Text = "Other"
                            }
                        },
                        new Value {
                            Ident = "10", Code = "10", Label = new Label {
                                Text = "Other"
                            }
                        },
                        new Value {
                            Ident = "11", Code = "11", Label = new Label {
                                Text = "Other"
                            }
                        }
                    }
                },

                Questions = new List <Variable>
                {
                    //Q10
                    new Variable
                    {
                        Ident      = "13",
                        Type       = Enums.VariableType.Single,
                        ParentType = Enums.ParentType.Grid,
                        Name       = "Q10",
                        Label      = new Label("Overall Favourite")
                    },
                    //Q11
                    new Variable
                    {
                        Ident          = "14",
                        Type           = Enums.VariableType.Single,
                        ParentType     = Enums.ParentType.Grid,
                        Name           = "Q11",
                        Label          = new Label("Value for Money"),
                        VariableValues = new VariableValues
                        {
                            Values = new List <Value>
                            {
                                new Value {
                                    Ident = "1", Code = "1", Label = new Label {
                                        Text = "Very Good"
                                    }, Score = 2
                                },
                                new Value {
                                    Ident = "2", Code = "2", Label = new Label {
                                        Text = "Good"
                                    }, Score = 1
                                },
                                new Value {
                                    Ident = "3", Code = "3", Label = new Label {
                                        Text = "Average"
                                    }, Score = 0
                                },
                                new Value {
                                    Ident = "4", Code = "4", Label = new Label {
                                        Text = "Poor"
                                    }, Score = -1
                                },
                                new Value {
                                    Ident = "5", Code = "5", Label = new Label {
                                        Text = "Very Poor"
                                    }, Score = -2
                                }
                            }
                        }
                    },
                    //Q12
                    new Variable
                    {
                        Ident        = "15",
                        Type         = Enums.VariableType.Multiple,
                        ParentType   = Enums.ParentType.Grid,
                        MaxResponses = 9,
                        Name         = "Q12",
                        Label        = new Label("Fun")
                    },
                    //Q13
                    new Variable
                    {
                        Ident        = "16",
                        Type         = Enums.VariableType.Multiple,
                        ParentType   = Enums.ParentType.Grid,
                        MaxResponses = 9,
                        Name         = "Q13",
                        Label        = new Label("Educational")
                    },
                    //Q14
                    new Variable
                    {
                        Ident        = "17",
                        Type         = Enums.VariableType.Multiple,
                        ParentType   = Enums.ParentType.Grid,
                        MaxResponses = 9,
                        Name         = "Q14",
                        Label        = new Label("Boring")
                    },
                    //Q15
                    new Variable
                    {
                        Ident        = "18",
                        Type         = Enums.VariableType.Multiple,
                        ParentType   = Enums.ParentType.Grid,
                        MaxResponses = 9,
                        Name         = "Q15",
                        Label        = new Label("Long Queues")
                    }
                }
            });

            //Q16 - Loop
            metadata.Variables.Add(new Variable
            {
                Ident          = "19",
                Type           = Enums.VariableType.Loop,
                Name           = "Q16",
                Label          = new Label("Loop"),
                VariableValues = new VariableValues
                {
                    Values = new List <Value>
                    {
                        new Value {
                            Ident = "1", Code = "1", Label = new Label {
                                Text = "Sherwood Forest"
                            }
                        },
                        new Value {
                            Ident = "2", Code = "2", Label = new Label {
                                Text = "Nottingham Castle"
                            }
                        },
                        new Value {
                            Ident = "3", Code = "3", Label = new Label {
                                Text = "\"Friar Tuck\"; Restaurant"
                            }
                        },
                        new Value {
                            Ident = "4", Code = "4", Label = new Label {
                                Text = "\"Maid Marion\" Cafe"
                            }
                        },
                        new Value {
                            Ident = "5", Code = "5", Label = new Label {
                                Text = "Mining museum"
                            }
                        },
                        new Value {
                            Ident = "9", Code = "9", Label = new Label {
                                Text = "Other"
                            }
                        },
                        new Value {
                            Ident = "10", Code = "10", Label = new Label {
                                Text = "Other"
                            }
                        },
                        new Value {
                            Ident = "11", Code = "11", Label = new Label {
                                Text = "Other"
                            }
                        }
                    }
                },
                Questions = new List <Variable>
                {
                    //Q17
                    new Variable
                    {
                        Ident      = "20",
                        Type       = Enums.VariableType.Character,
                        ParentType = Enums.ParentType.Loop,
                        Name       = "Q17",
                        Label      = new Label("Why was [Attraction] one of your favourites?")
                    },

                    //Q18
                    new Variable
                    {
                        Ident          = "21",
                        Type           = Enums.VariableType.Single,
                        ParentType     = Enums.ParentType.Loop,
                        Name           = "Q18",
                        Label          = new Label("Q18 How likely are you to come back to see [Attraction] again?"),
                        VariableValues = new VariableValues
                        {
                            Values = new List <Value>
                            {
                                new Value {
                                    Ident = "1", Code = "1", Label = new Label {
                                        Text = "Very Likely"
                                    }, Score = 2
                                },
                                new Value {
                                    Ident = "2", Code = "2", Label = new Label {
                                        Text = "Likely"
                                    }, Score = 1
                                },
                                new Value {
                                    Ident = "3", Code = "3", Label = new Label {
                                        Text = "Neither"
                                    }, Score = 0
                                },
                                new Value {
                                    Ident = "4", Code = "4", Label = new Label {
                                        Text = "Unlikely"
                                    }, Score = -1
                                },
                                new Value {
                                    Ident = "5", Code = "5", Label = new Label {
                                        Text = "Very Unlikely"
                                    }, Score = -2
                                }
                            }
                        }
                    }
                }
            });


            //Language
            metadata.Variables.Add(new Variable
            {
                Ident          = "22",
                Type           = Enums.VariableType.Single,
                Use            = Enums.UseType.Language,
                Name           = "Language",
                Label          = new Label("Language"),
                VariableValues = new VariableValues
                {
                    Values = new List <Value>
                    {
                        new Value {
                            Ident = "FR", Code = "FR", Label = new Label {
                                Text = "French"
                            }
                        },
                        new Value {
                            Ident = "EN", Code = "EN", Label = new Label {
                                Text = "English"
                            }
                        }
                    }
                }
            });


            //WT
            metadata.Variables.Add(new Variable
            {
                Ident          = "999999",
                Type           = Enums.VariableType.Quantity,
                Name           = "WT",
                Label          = new Label("Record weight"),
                Use            = Enums.UseType.Weight,
                VariableValues = new VariableValues
                {
                    Range = new ValueRange {
                        From = "0.0000", To = "99.9999"
                    }
                }
            });

            return(metadata);
        }