コード例 #1
0
        public async Task <ServiceWrapper <GetCharacterDTO> > UpdateCharacter(UpdateCharacterDTO character)
        {
            ServiceWrapper <GetCharacterDTO> _wrapper = new ServiceWrapper <GetCharacterDTO>();

            try
            {
                Character updatedChar = await _context.Characters.Where(u => u.User.id == GetUserId()).FirstAsync(c => c.Id == character.Id);

                updatedChar.Name     = character.Name ?? updatedChar.Name;
                updatedChar.Health   = character.Health ?? updatedChar.Health;
                updatedChar.Magic    = character.Magic ?? updatedChar.Magic;
                updatedChar.Spirit   = character.Dexterity ?? updatedChar.Dexterity;
                updatedChar.Strength = character.Strength ?? updatedChar.Strength;
                updatedChar.Class    = character.Class ?? updatedChar.Class;
                _context.Characters.Update(updatedChar);
                await _context.SaveChangesAsync();

                _wrapper.Data = _mapper.Map <GetCharacterDTO>(await _context.Characters.Include(c => c.Weapon).FirstAsync(c => c.Id == updatedChar.Id));
            }
            catch (Exception ex)
            {
                _wrapper.DidSend = false;
                _wrapper.Message = ex.Message;
            }
            return(_wrapper);
        }
コード例 #2
0
        public async Task <ServiceResponse <GetCharacterDTO> > UpdateCharacter(UpdateCharacterDTO updateCharacterDTO)
        {
            ServiceResponse <GetCharacterDTO> response = new ServiceResponse <GetCharacterDTO>();

            try
            {
                Character ch = await _context.Characters.FirstOrDefaultAsync(c => c.ID == updateCharacterDTO.ID);

                ch.Name         = updateCharacterDTO.Name;
                ch.Strength     = updateCharacterDTO.Strength;
                ch.Intelligence = updateCharacterDTO.Intelligence;
                ch.HitPoint     = updateCharacterDTO.HitPoint;
                ch.Defense      = updateCharacterDTO.Defense;
                ch.Class        = updateCharacterDTO.Class;

                _context.Characters.Update(ch);
                await _context.SaveChangesAsync();

                response.Data = _mapper.Map <GetCharacterDTO>(ch);
            }
            catch (Exception e) {
                response.Message = "Not Found Character with ID: " + updateCharacterDTO.ID;
                response.Success = false;
            }

            return(response);
        }
コード例 #3
0
ファイル: CharacterService.cs プロジェクト: isnakolah/RPG
        public async Task <ServiceResponse <GetCharacterDTO> > UpdateCharacter(UpdateCharacterDTO updatedCharacter)
        {
            ServiceResponse <GetCharacterDTO> serviceResponce = new ServiceResponse <GetCharacterDTO>();

            try {
                Character character = characters.FirstOrDefault(c => c.Id == updatedCharacter.Id);

                if (character.Deleted == true)
                {
                    serviceResponce.Success = false;
                    serviceResponce.Message = "This character has been deleted";
                }
                else
                {
                    character.Name         = updatedCharacter.Name;
                    character.Class        = updatedCharacter.Class;
                    character.Defence      = updatedCharacter.Defence;
                    character.HitPoints    = updatedCharacter.HitPoints;
                    character.Intelligence = updatedCharacter.Intelligence;
                    character.Strength     = updatedCharacter.Strength;
                }


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

            return(serviceResponce);
        }
コード例 #4
0
        public async Task <ServiceResponse <GetCharacterDTO> > UpdateCharacter(UpdateCharacterDTO updatedChar)
        {
            ServiceResponse <GetCharacterDTO> serviceResponse = new ServiceResponse <GetCharacterDTO>();

            Character c = await _context.Characters
                          .Include(c => c.User)
                          .FirstOrDefaultAsync(c => c.Id == updatedChar.Id);

            if (c != null)
            {
                if (c.User.Id == GetUserId())
                {
                    c.Name               = updatedChar.Name;
                    c.Class              = updatedChar.Class;
                    c.Defense            = updatedChar.Defense;
                    c.HitPoints          = updatedChar.HitPoints;
                    c.Intelligence       = updatedChar.Intelligence;
                    c.Strength           = updatedChar.Strength;
                    serviceResponse.Data = _mapper.Map <GetCharacterDTO>(c);
                    _context.Characters.Update(c);
                    await _context.SaveChangesAsync();

                    return(serviceResponse);
                }
            }
            serviceResponse.Success = false;
            serviceResponse.Message = "Character not found";
            return(serviceResponse);
        }
コード例 #5
0
        public async Task <ServiceResponse <GetCharacterDTO> > UpdateCharacter(UpdateCharacterDTO updateCharacter)
        {
            ServiceResponse <GetCharacterDTO> serviceResponse = new ServiceResponse <GetCharacterDTO>();

            try
            {
                Character character = await _dataContext.Characters.FirstOrDefaultAsync(c => c.Id == updateCharacter.Id);

                character.Name         = updateCharacter.Name;
                character.Strength     = updateCharacter.Strength;
                character.Intelligence = updateCharacter.Intelligence;
                character.HitPoints    = updateCharacter.HitPoints;
                character.Defense      = updateCharacter.Defense;
                character.Class        = updateCharacter.Class;

                _dataContext.Characters.Update(character);
                await _dataContext.SaveChangesAsync();

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

            return(serviceResponse);
        }
コード例 #6
0
ファイル: CharacterService.cs プロジェクト: dsvictorh/rpg-api
        public async Task <ServiceResponse <GetCharacterDTO> > Update(UpdateCharacterDTO character)
        {
            var response = new ServiceResponse <GetCharacterDTO>();

            Character c = await context.Characters.FirstOrDefaultAsync(c => c.Id == character.Id && c.User.Id == GetUserID());

            if (c != null)
            {
                c.Name         = character.Name;
                c.Class        = character.Class;
                c.Defense      = character.Defense;
                c.HitPoint     = character.HitPoint;
                c.Intelligence = character.Intelligence;
                c.Strength     = character.Strength;

                context.Characters.Update(c);
                await context.SaveChangesAsync();

                response.Data = this.mapper.Map <GetCharacterDTO>(c);
            }
            else
            {
                response.Message = "Character not found";
                response.Success = false;
            }

            return(response);
        }
コード例 #7
0
        public async Task <IActionResult> UpdateCharacter(UpdateCharacterDTO character)
        {
            var serviceResponse = await _characterService.UpdateCharacter(character);

            if (serviceResponse.Data == null)
            {
                return(NotFound(serviceResponse));
            }
            return(Ok(serviceResponse));
        }
コード例 #8
0
        public async Task <IActionResult> UpdateCharacter(UpdateCharacterDTO updatedCharacter)
        {
            ServiceResponse <GetCharacterDTO> serviceResponse = await _characterService.UpdateCharacter(updatedCharacter);

            if (serviceResponse.Success)
            {
                return(Ok(serviceResponse));
            }
            return(NotFound(serviceResponse));
        }
コード例 #9
0
        public async Task <IActionResult> UpdateCharacter(UpdateCharacterDTO updatedChar)
        {
            var response = await this._service.UpdateCharacter(updatedChar);

            if (response.Success)
            {
                return(Ok(response));
            }
            return(NotFound(response));
        }
コード例 #10
0
        public async Task <IActionResult> UpdateCharacter(UpdateCharacterDTO updatedCharacter)
        {
            ServiceResponse <GetCharacterDTO> response = await _characterService.UpdateCharacter(updatedCharacter);

            if (response.Data == null)
            {
                return(NotFound(response));
            }
            return(Ok(response));
        }
コード例 #11
0
        public async Task <ActionResult> UpdateCharacter(UpdateCharacterDTO character, int id)
        {
            character.Id = id;
            ServiceWrapper <GetCharacterDTO> response = await _characterService.UpdateCharacter(character);

            if (response.Data == null)
            {
                return(NotFound(response));
            }
            return(Ok(response));
        }
コード例 #12
0
        public async Task <IActionResult> UpdateCharacter(UpdateCharacterDTO newCharacter)
        {
            ServiceResponse <GetCharacterDTO> response = await _characterService.UpdateCharacter(newCharacter);

            if (response.Data == null)
            {
                return(NotFound(response));
            }
            response.Message = "Character updated successfully!";
            return(Ok(response));
        }
コード例 #13
0
        public async Task <IActionResult> UpdateCharacter(UpdateCharacterDTO ch)
        {
            ServiceResponse <GetCharacterDTO> response = await _characterService.UpdateCharacter(ch);

            if (response.Success)
            {
                return(Ok(response));
            }

            return(NotFound(response));
        }
コード例 #14
0
        public async Task <ServiceResponse <GetCharacterDTO> > UpdateCharacter(UpdateCharacterDTO _updatedCharacter)
        {
            ServiceResponse <GetCharacterDTO> _serviceResponse = new ServiceResponse <GetCharacterDTO>();

            Character _character = _characters.FirstOrDefault(c => c.Id == _updatedCharacter.Id);

            _character.Name         = _updatedCharacter.Name;
            _character.Class        = _updatedCharacter.Class;
            _character.Defense      = _updatedCharacter.Defense;
            _character.HitPoints    = _updatedCharacter.HitPoints;
            _character.Intelligence = _updatedCharacter.Intelligence;
            _character.Strength     = _updatedCharacter.Strength;

            _serviceResponse.Data = this._mapper.Map <GetCharacterDTO>(_character);

            return(_serviceResponse);
        }
コード例 #15
0
        public async Task <ServiceResponse <GetCharacterDTO> > UpdateCharacter(UpdateCharacterDTO updateCharacterDTO)
        {
            ServiceResponse <GetCharacterDTO> serviceResponse = new ServiceResponse <GetCharacterDTO>();

            try
            {
                Character character = characters.FirstOrDefault(c => c.ID == updateCharacterDTO.ID);
                character.Name         = updateCharacterDTO.Name;
                character.Class        = updateCharacterDTO.Class;
                character.Defense      = updateCharacterDTO.Defense;
                character.HitPoints    = updateCharacterDTO.HitPoints;
                character.Intelligence = updateCharacterDTO.Intelligence;
                character.Strength     = updateCharacterDTO.Strength;
                serviceResponse.Data   = mMapper.Map <GetCharacterDTO>(character);
            }
            catch (Exception ex)
            {
                serviceResponse.Success = false;
                serviceResponse.Message = ex.Message;
            }
            return(await Task.Run(() => serviceResponse));
        }
コード例 #16
0
        public async Task <ServiceResponse <GetCharacterDTO> > UpdateCharacter(UpdateCharacterDTO updateCharacter)
        {
            ServiceResponse <GetCharacterDTO> serviceResponse = new ServiceResponse <GetCharacterDTO>();

            try
            {
                Character character = await _dataContext.Characters.Include(x => x.User).FirstOrDefaultAsync(x => x.Id == updateCharacter.Id);

                if (character != null && character.User.Id == GetUserId())
                {
                    character.Class        = updateCharacter.Class;
                    character.Defense      = updateCharacter.Defense;
                    character.HitPoints    = updateCharacter.HitPoints;
                    character.Intelligence = updateCharacter.Intelligence;
                    character.Name         = updateCharacter.Name;
                    character.Strenghts    = updateCharacter.Strenghts;
                    _dataContext.Characters.Update(character);
                    await _dataContext.SaveChangesAsync();

                    serviceResponse.Message = "Character Updated Successfully!";
                    serviceResponse.Data    = _mapper.Map <GetCharacterDTO>(character);
                }
                else
                {
                    serviceResponse.Success = false;
                    serviceResponse.Message = "Character not found!   ";
                }
            }
            catch (Exception ex)
            {
                serviceResponse.Success = false;
                serviceResponse.Message = ex.Message;
            }

            return(serviceResponse);
        }
コード例 #17
0
        public async Task <serviceResponse <GetCharacterDTO> > UpdateCharacter(UpdateCharacterDTO updateCharacter)
        {
            serviceResponse <GetCharacterDTO> serviceResponse = new serviceResponse <GetCharacterDTO>();

            try
            {
                Character character = await _context.Characters.Include(c => c.User).FirstOrDefaultAsync(c => c.Id == updateCharacter.Id);

                if (updateCharacter.Id == GetUserId())
                {
                    character.Name         = updateCharacter.Name;
                    character.Class        = updateCharacter.Class;
                    character.Defense      = updateCharacter.Defense;
                    character.HitPoints    = updateCharacter.HitPoints;
                    character.Intellegence = updateCharacter.Intellegence;
                    character.Strength     = updateCharacter.Strength;

                    _context.Characters.Update(character);
                    await _context.SaveChangesAsync();

                    serviceResponse.Data = _mapper.Map <GetCharacterDTO>(character);
                }
                else
                {
                    serviceResponse.Success = false;
                    serviceResponse.Message = "User not found";
                }
            }
            catch (Exception ex)
            {
                serviceResponse.Success = false;

                serviceResponse.Message = ex.Message;
            }
            return(serviceResponse);
        }
コード例 #18
0
 public async Task <IActionResult> UpdateCharacter(UpdateCharacterDTO _updatedCharacter)
 {
     return(Ok(await this._characterService.UpdateCharacter(_updatedCharacter)));
 }
コード例 #19
0
 public async Task <IActionResult> Update(UpdateCharacterDTO character)
 {
     return(Ok(await this.characterService.Update(character)));
 }