Пример #1
0
        public async Task <ServiceWrapper <GetCharacterDTO> > AddSkill(AddSkillDTO skill)
        {
            ServiceWrapper <GetCharacterDTO> response = new ServiceWrapper <GetCharacterDTO>();

            try{
                Character character = await _context.Characters.Include(w => w.Weapon)
                                      .Include(c => c.CharacterSkills).ThenInclude(cs => cs.Skill)
                                      .FirstOrDefaultAsync(c => c.Id == skill.CharacterId && c.User.id == GetUserId());

                if (character == null)
                {
                    response.DidSend = false;
                    response.Message = "Character not found.";
                    return(response);
                }

                Skill skillToAdd = await _context.Abilities.FirstOrDefaultAsync(s => s.Id == skill.SkillId);

                CharacterSkill CharSkill = new CharacterSkill {
                    Skill     = skillToAdd,
                    Character = character,
                };

                await _context.CharactersSkills.AddAsync(CharSkill);

                await _context.SaveChangesAsync();

                response.Data = _mapper.Map <GetCharacterDTO>(character);
            }catch (Exception ex) {
                response.DidSend = false;
                response.Message = ex.Message;
            }
            return(response);
        }
        public async Task <IActionResult> AddSkill([FromBody] AddSkillDTO skill)
        {
            var dbSkill = _mapper.Map <Skill>(skill);
            await _skillsServices.AddSkill(dbSkill);

            return(NoContent());
        }
        public async Task <ActionResult> AddSkills(AddSkillDTO addSkillDTO)
        {
            ServiceWrapper <GetCharacterDTO> response = await _skillService.AddSkill(addSkillDTO);

            // if(response.Data == null){

            //     return NotFound(response);
            // }
            return(Ok(response));
        }