public async Task SaveSettingAsync(SaveAccountSettingRequestDTO dto)
        {
            var mapper = new SettingMapper();

            var registryItemKey   = $"{mapper.UserSettingString(dto.UserName)}{dto.Key}";
            var registryItemValue = dto.Value.ToString();

            var existingRegistryItem = await _context.Registry.SingleOrDefaultAsync(x => x.Key == registryItemKey);

            if (existingRegistryItem != null)
            {
                existingRegistryItem.Value = registryItemValue;
            }
            else
            {
                var newRegistryItem = new RegistryItem
                {
                    Id    = Guid.NewGuid(),
                    Key   = registryItemKey,
                    Value = registryItemValue
                };

                _context.Registry.Add(newRegistryItem);
            }
        }
        public async Task <SettingMapper> GetSettingsAsync(string userName)
        {
            var mapper = new SettingMapper();

            var registryRows = await _context.Registry.AsNoTracking().Where(x => x.Key.StartsWith(mapper.UserSettingString(userName))).ToListAsync();

            mapper.Deserialize(registryRows);

            return(mapper);
        }
        public async Task <List <AccountSettingGroupResponseDTO> > GetSettingDTOsAsync(string userName)
        {
            var mapper = new SettingMapper();

            var registryRows = await _context.Registry.AsNoTracking().Where(x => x.Key.StartsWith(mapper.UserSettingString(userName))).ToListAsync();

            var response = mapper.ToDTOs(registryRows);

            return(response);
        }