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); } } }
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); } } }
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); } } }