Ejemplo n.º 1
0
        void Assign(ChoiceForTextQuestion choice, ChoiceResource choiceResource)
        {
            choice.Id = choiceResource.Id;

            if (choiceResource.Text != null)
            {
                choice.Text = choiceResource.Text;
            }

            if (choiceResource.DiffUpperCase != null)
            {
                choice.DiffUpperCase = choiceResource.DiffUpperCase;
            }

            if (choiceResource.UseRegex != null)
            {
                choice.UseRegex = choiceResource.UseRegex;
            }

            if ((choiceResource.OpensMapPositions != null) && choice.OpensMapPositions == null)
            {
                choice.OpensMapPositions = new List <MapPosition>();

                foreach (MapPositionResource mapPositionResource in choiceResource.OpensMapPositions)
                {
                    MapPosition newPosition = Convert(mapPositionResource);
                    choice.OpensMapPositions.Add(newPosition);
                    if (newPosition.ChoicesThatOpenThis == null)
                    {
                        newPosition.ChoicesThatOpenThis = new List <Choice>();
                    }
                    newPosition.ChoicesThatOpenThis.Add(choice);
                }
            }
        }
Ejemplo n.º 2
0
        public Choice Convert(ChoiceResource choiceResource)
        {
            var existingChoice = CreatedChoices.Where(obj => obj.Id == choiceResource.Id).FirstOrDefault();

            if (existingChoice != null)
            {
                if (existingChoice is ChoiceForChoiceQuestion)
                {
                    Assign(existingChoice as ChoiceForChoiceQuestion, choiceResource);
                }
                else if (existingChoice is ChoiceForTextQuestion)
                {
                    Assign(existingChoice as ChoiceForTextQuestion, choiceResource);
                }
                else if (existingChoice is DefaultChoice)
                {
                    Assign(existingChoice as DefaultChoice, choiceResource);
                }
                return(existingChoice);
            }
            else
            {
                if (choiceResource.DiffUpperCase != null)
                {
                    var newChoice = new ChoiceForTextQuestion();
                    CreatedChoices.Add(newChoice);
                    Assign(newChoice, choiceResource);
                    return(newChoice);
                }
                else if (choiceResource.Text != null)
                {
                    var newChoice = new ChoiceForChoiceQuestion();
                    CreatedChoices.Add(newChoice);
                    Assign(newChoice, choiceResource);
                    return(newChoice);
                }
                else
                {
                    var newChoice = new DefaultChoice();
                    CreatedChoices.Add(newChoice);
                    Assign(newChoice, choiceResource);
                    return(newChoice);
                }
            }
        }
Ejemplo n.º 3
0
        void Assign(DefaultChoice choice, ChoiceResource choiceResource)
        {
            choice.Id = choiceResource.Id;

            if ((choiceResource.OpensMapPositions != null) && choice.OpensMapPositions == null)
            {
                choice.OpensMapPositions = new List <MapPosition>();

                foreach (MapPositionResource mapPositionResource in choiceResource.OpensMapPositions)
                {
                    MapPosition newPosition = Convert(mapPositionResource);
                    choice.OpensMapPositions.Add(newPosition);
                    if (newPosition.ChoicesThatOpenThis == null)
                    {
                        newPosition.ChoicesThatOpenThis = new List <Choice>();
                    }
                    newPosition.ChoicesThatOpenThis.Add(choice);
                }
            }
        }