protected void AddBtn_Click(object sender, EventArgs e) { Action action = new Action { name = actionNameTxt.Text, type = "", rating = 0, range = "" }; List <Action> actionsList = new List <Action> { }; actionsList.Add(action); SpecialAbility specialAbility = new SpecialAbility { name = specNameTxt.Text, description = "" }; List <SpecialAbility> specialAbilityList = new List <SpecialAbility> { }; specialAbilityList.Add(specialAbility); Models model = new Models { name = nameTxt.Text, faction = factionTxt.Text, rank = int.Parse(rankTxt.Text), _base = int.Parse(baseTxt.Text), size = int.Parse(sizeTxt.Text), deploymentZone = depZoneTxt.Text, traits = new string[] { "" }, types = new string[] { "" }, defenseChart = new string[] { "" }, mobility = 0, willpower = 0, resiliance = 0, wounds = 0, actions = actionsList, specialAbilities = specialAbilityList, imageUrl = "" }; jsonList.Add(model); File.WriteAllText(newPath, JsonConvert.SerializeObject(jsonList)); Response.Redirect("Default.aspx"); }
/// <summary> /// Read all the validated input and transforms the data entered by the user into a model to be put on the list. /// </summary> /// <returns>The built model.</returns> private Mini BuildModelFromInputs() { // Action fields. Models.Action action = new Models.Action(); action.Name = ModelActionNameTextBox.Text; action.Type = ModelActionTypeTextBox.Text; action.Rating = uint.Parse(ModelActionRatingTextBox.Text); action.Range = ModelActionRangeTextBox.Text; if (!string.IsNullOrWhiteSpace(ModelActionDescriptionTextBox.Text)) { action.Description = ModelActionDescriptionTextBox.Text; } // Special Ability fields. SpecialAbility specialAbility = null; if (!string.IsNullOrWhiteSpace(ModelSpecialAbilityNameTextBox.Text)) { specialAbility = new SpecialAbility(); specialAbility.Name = ModelSpecialAbilityNameTextBox.Text; if (!string.IsNullOrWhiteSpace(ModelSpecialAbilityDescriptionTextBox.Text)) { specialAbility.Description = ModelSpecialAbilityDescriptionTextBox.Text; } } // Mini fields. Mini mini = new Mini(); mini.Name = ModelNameTextBox.Text; mini.Faction = ModelFactionTextBox.Text; mini.Rank = uint.Parse(ModelRankTextBox.Text); mini.Base = uint.Parse(ModelBaseTextBox.Text); mini.Size = uint.Parse(ModelSizeTextBox.Text); mini.DeploymentZone = ModelDeploymentZoneTextBox.Text; mini.Mobility = uint.Parse(ModelMobilityTextBox.Text); mini.Willpower = uint.Parse(ModelWillPowerTextBox.Text); mini.Resiliance = uint.Parse(ModelResilianceTextBox.Text); mini.Wounds = uint.Parse(ModelWoundsTextBox.Text); mini.Types = new List <string>(ModelTypesTextBox.Text.Split(Mini.SEPARATOR)); mini.DefenseChart = new List <string>(ModelDefenceChartTextBox.Text.Split(Mini.SEPARATOR)); mini.ImageUrl = ModelImageUrlTextBox.Text; mini.Actions = new List <Models.Action> { action }; if (null != specialAbility) { mini.SpecialAbilities = new List <SpecialAbility> { specialAbility }; } if (!string.IsNullOrWhiteSpace(ModelTraitsTextBox.Text)) { mini.Traits = new List <string>(ModelTraitsTextBox.Text.Split(Mini.SEPARATOR)); } return(mini); }