Пример #1
0
        public async Task <ServiceResponse <GetCharacterDto> > AddCharacterSkill(AddCharacterSKillDto newCharacterSkill)
        {
            ServiceResponse <GetCharacterDto> response = new ServiceResponse <GetCharacterDto> ();

            try
            {
                Character character = await _context.Characters
                                      .Include(f => f.Weapon)
                                      .Include(f => f.CharacterSkills).ThenInclude(cs => cs.Skill)
                                      .FirstOrDefaultAsync(f => f.Id == newCharacterSkill.CharacterId &&
                                                           f.User.Id == int.Parse(_httpContextAccessor.HttpContext.User.FindFirstValue(ClaimTypes.NameIdentifier)));

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

                Skill skill = await _context.Skills.FirstOrDefaultAsync(s => s.Id == newCharacterSkill.SkillId);

                if (skill == null)
                {
                    response.Success = false;
                    response.Message = "Skill not found";
                    return(response);
                }

                CharacterSkill characterSkill = new CharacterSkill
                {
                    Character = character,
                    Skill     = skill
                };

                await _context.CharacterSkills.AddAsync(characterSkill);

                await _context.SaveChangesAsync();

                response.Data = _mapper.Map <GetCharacterDto> (character);
            }
            catch (Exception ex)
            {
                response.Success = false;
                response.Message = ex.Message;
            }

            return(response);
        }
Пример #2
0
 public async Task <IActionResult> AddCharacterSkill(AddCharacterSKillDto newCharacterSkill)
 {
     return(Ok(await _characterSkillService.AddCharacterSkill(newCharacterSkill)));
 }