Example #1
0
        public async Task <ActionResult> UpdateSettings(AdminUserSettingsUpdateModel model)
        {
            if (!ModelState.IsValid)
            {
                return(View("UpdateSettingsModal", model));
            }

            var result = await AdminUserWriter.UpdateSettings(User.Identity.GetUserId(), model);

            if (!ModelState.IsWriterResultValid(result))
            {
                return(View("UpdateSettingsModal", model));
            }

            //ChatHub.InvalidateUserCache(model.UserId);
            return(CloseModalSuccess(result.Message));
        }
        public async Task <IWriterResult> UpdateSettings(string adminUserId, AdminUserSettingsUpdateModel model)
        {
            using (var context = DataContextFactory.CreateContext())
            {
                var settings = await context.UserSettings.FirstOrDefaultNoLockAsync(x => x.Id == model.Id);

                if (settings == null)
                {
                    return(new WriterResult(false, $"User '{model.UserName}' not found"));
                }

                settings.HideZeroBalance     = model.HideZeroBalance;
                settings.ShowFavoriteBalance = model.ShowFavoriteBalance;
                settings.Theme = model.Theme;
                await context.SaveChangesWithAuditAsync(adminUserId);

                return(new WriterResult(true, "Successfully updated user settings."));
            }
        }