Esempio n. 1
0
        public async Task <IActionResult> Edit(int?id)
        {
            var skills = await GetSkills();

            var elements = await GetElements();

            var persona         = _context.Personas.FirstOrDefault(p => p.Id == id);
            var currentSkillsId = persona.Skills.Select(c => c.Id).ToList();
            var viewModel       = new PersonaFormViewModels
            {
                Id             = persona.Id,
                Name           = persona.Name,
                Arcana         = persona.Arcana,
                Level          = persona.Level,
                Description    = persona.Description,
                ResistList     = elements,
                WeakList       = elements,
                SkillsList     = skills,
                SelectSkillsId = currentSkillsId
            };

            if (id == null)
            {
                return(NotFound());
            }

            return(View(viewModel));
        }
Esempio n. 2
0
        public async Task <IActionResult> Edit(PersonaFormViewModels viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View("Edit", viewModel));
            }
            var skills   = _context.PersonaSkills.Include(s => s.Element).Include(c => c.Cost).ToList();
            var elements = _context.PersonaElements.ToList();
            var persona  = await _context.Personas.FirstOrDefaultAsync(p => p.Id == viewModel.Id);

            if (persona != null)
            {
                persona.Name           = viewModel.Name;
                persona.Level          = viewModel.Level;
                persona.Arcana         = viewModel.Arcana;
                persona.Stats          = viewModel.Stats;
                persona.Description    = viewModel.Description;
                persona.ResistElements = elements.Where(e => viewModel.ResistElementsId.Contains(e.Id)).Select(e => e).ToList();
                persona.WeakElements   = elements.Where(e => viewModel.WeakElementsId.Contains(e.Id)).Select(e => e).ToList();
                persona.Skills         = skills.Where(s => viewModel.SelectSkillsId.Contains(s.Id)).Select(s => s).ToList();
            }
            await _context.SaveChangesAsync();

            return(RedirectToAction("Index", "Persona"));
        }
Esempio n. 3
0
        public async Task <ActionResult> Create(PersonaFormViewModels viewModel)
        {
            if (!ModelState.IsValid)
            {
                return(View("Create", viewModel));
            }
            var skills   = _context.PersonaSkills.Include(s => s.Element).Include(c => c.Cost).ToList();
            var elements = _context.PersonaElements.ToList();
            var persona  = new Persona
            {
                Name           = viewModel.Name,
                Level          = viewModel.Level,
                Arcana         = viewModel.Arcana,
                Description    = viewModel.Description,
                Stats          = viewModel.Stats,
                ResistElements = elements.Where(e => viewModel.ResistElementsId.Contains(e.Id)).Select(x => x).ToList(),
                WeakElements   = elements.Where(e => viewModel.WeakElementsId.Contains(e.Id)).Select(x => x).ToList(),
                Skills         = skills.Where(s => viewModel.SelectSkillsId.Contains(s.Id)).Select(x => x).ToList()
            };

            _context.Personas.Add(persona);
            await _context.SaveChangesAsync();

            return(RedirectToAction("Index"));
        }
Esempio n. 4
0
        public async Task <IActionResult> Create()
        {
            var viewModel = new PersonaFormViewModels
            {
                SelectSkillsId   = new List <int>(),
                SkillsList       = await GetSkills(),
                ResistElementsId = new List <int>(),
                ResistList       = await GetElements(),
                WeakElementsId   = new List <int>(),
                WeakList         = await GetElements()
            };

            try
            {
                this.ViewBag.SkillsList = this.GetSkills();
                this.ViewBag.ResistList = this.GetElements();
            }
            catch (Exception ex)
            {
                Console.Write(ex.Message);
            }
            return(View("Create", viewModel));
        }