public async Task <ServiceResponse <GetCharacterDto> > UpdateCharacter(UpdateCharacterDto character)
        {
            var serviceResponse = new ServiceResponse <GetCharacterDto>();

            try
            {
                var newCharacter = characters.FirstOrDefault(c => c.Id == character.Id && c.User.Id == GetUserId());

                foreach (var prop in newCharacter.GetType().GetProperties())
                {
                    prop.SetValue(newCharacter, character.GetType().GetProperty(prop.Name)?.GetValue(character));
                }

                var returnValue = _mapper.Map <GetCharacterDto>(newCharacter);

                serviceResponse.Data = returnValue;
            }
            catch (Exception e)
            {
                serviceResponse.Message = e.Message;
                serviceResponse.Success = false;
            }

            return(serviceResponse);
        }
        public async Task <ServiceResponse <GetCharacterDto> > UpdateCharacter(UpdateCharacterDto character)
        {
            var serviceResponse = new ServiceResponse <GetCharacterDto>();

            try
            {
                var newCharacter = await _context.Characters.FirstOrDefaultAsync(c => c.Id == character.Id && c.User.Id == GetUserId());

                if (newCharacter != null)
                {
                    foreach (var prop in newCharacter.GetType().GetProperties())
                    {
                        prop.SetValue(newCharacter, character.GetType().GetProperty(prop.Name)?.GetValue(character));
                    }

                    await _context.SaveChangesAsync();

                    var returnValue = _mapper.Map <GetCharacterDto>(newCharacter);
                    serviceResponse.Data = returnValue;
                }
                else
                {
                    serviceResponse.Message = "no such character";
                    serviceResponse.Success = false;
                }
            }
            catch (Exception e)
            {
                serviceResponse.Message = e.Message;
                serviceResponse.Success = false;
            }

            return(serviceResponse);
        }