public async Task <ActionResult> Create(SkillsFormViewModel viewModel) { if (!ModelState.IsValid) { return(View(viewModel)); } var elements = GetElements(); var skillCosts = GetSkillCosts(); SkillCost skillCost = _context.SkillCosts.FirstOrDefault(x => x.Id.ToString() == viewModel.SelectedCost); var costAmount = skillCost.Resource == "hp" ? skillCost.Amount + " %" + skillCost.Resource : (skillCost.Resource == "sp" ? skillCost.Amount + skillCost.Resource : skillCost.Amount); var skills = new Skills { SkillName = viewModel.SkillName, Effect = viewModel.Effect, Cost = _context.SkillCosts.FirstOrDefault(c => c.Id.ToString() == viewModel.SelectedCost), CostAmount = skillCost.Amount + skillCost.Resource, Power = viewModel.Power, Element = _context.PersonaElements.FirstOrDefault(e => e.Name.ToString() == viewModel.SelectedElement), ElementName = viewModel.SelectedElement }; _context.PersonaSkills.Add(skills); await _context.SaveChangesAsync(); return(RedirectToAction("Index")); }
public async Task <ActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } var skillsCost = GetSkillCosts(); var elements = GetElements(); var skills = await _context.PersonaSkills .Include(s => s.Cost) .Include(e => e.Element) .FirstOrDefaultAsync(s => s.Id == id); if (skills == null) { return(NotFound()); } var viewModel = new SkillsFormViewModel() { Id = skills.Id, SkillName = skills.SkillName, Effect = skills.Effect, Power = skills.Power, Cost = skillsCost, SelectedCost = skills.Cost.Id.ToString(), Elements = elements, SelectedElement = skills.Element.Id.ToString() }; //ViewData["CostId"] = new SelectList(_context.SkillCosts, "Id", "Amount", skills.CostId); //ViewData["ElementId"] = new SelectList(_context.PersonaElements, "Name", "Name", skills.ElementId); return(View(viewModel)); }
public ActionResult Create() { var viewModel = new SkillsFormViewModel { Elements = GetElements(), Cost = GetSkillCosts() }; return(View(viewModel)); }