示例#1
0
        public async Task <ActionResult <DataWithVersion <UserSettingsForClient> > > UserSettingsForClient()
        {
            try
            {
                int userId = _tenantInfo.UserId();
                var user   = await _db.LocalUsers.FirstOrDefaultAsync(e => e.Id == userId);

                // prepare the result
                var forClient = new UserSettingsForClient
                {
                    UserId  = userId,
                    Name    = user.Name,
                    Name2   = user.Name2,
                    ImageId = user.ImageId,
                };

                var result = new DataWithVersion <UserSettingsForClient>
                {
                    Version = user.UserSettingsVersion.ToString(),
                    Data    = forClient
                };

                return(Ok(result));
            }
            catch (Exception ex)
            {
                _logger.LogError($"Error: {ex.Message} {ex.StackTrace}");
                return(BadRequest(ex.Message));
            }
        }
示例#2
0
        public async Task <ActionResult <DataWithVersion <UserSettingsForClient> > > UserSettingsForClient()
        {
            return(await ControllerUtilities.InvokeActionImpl(async() =>
            {
                var(version, user, customSettings) = await _appRepo.UserSettings__Load();

                // prepare the result
                var userSettingsForClient = new UserSettingsForClient
                {
                    UserId = user.Id,
                    Name = user.Name,
                    Name2 = user.Name2,
                    Name3 = user.Name3,
                    ImageId = user.ImageId,
                    PreferredLanguage = user.PreferredLanguage,
                    CustomSettings = customSettings.ToDictionary(e => e.Key, e => e.Value)
                };

                var result = new DataWithVersion <UserSettingsForClient>
                {
                    Version = version.ToString(),
                    Data = userSettingsForClient
                };

                return Ok(result);
            }, _logger));
        }