Ejemplo n.º 1
0
        private async Task <OwnerSettingsViewModel> GetOwnerSettingsViewModel(string ownerId)
        {
            if (string.IsNullOrEmpty(ownerId))
            {
                return(null);
            }
            try
            {
                var os = await _ownerSettingsStore.GetOwnerSettingsAsync(ownerId);

                var osvm = new OwnerSettingsViewModel(os);
                return(osvm);
            }
            catch (OwnerSettingsNotFoundException)
            {
                Log.Debug("No owner settings found for owner '{0}'", ownerId);
                return(new OwnerSettingsViewModel {
                    OwnerId = ownerId
                });
            }
            catch (Exception e)
            {
                Log.Error(e, "Error retrieving owner settings with owner id '{0}'", ownerId);
                throw;
            }
        }
Ejemplo n.º 2
0
        public async Task <IActionResult> Settings(string ownerId, OwnerSettingsViewModel settingsViewModel)
        {
            if (ModelState.IsValid)
            {
                try
                {
                    settingsViewModel.LastModified   = DateTime.UtcNow;
                    settingsViewModel.LastModifiedBy = User.Identity.Name;
                    if (!ownerId.Equals(User.Identity.Name))
                    {
                        settingsViewModel.OwnerIsOrg = true;
                    }
                    var ownerSettings = settingsViewModel.AsOwnerSettings();
                    await _ownerSettingsStore.CreateOrUpdateOwnerSettingsAsync(ownerSettings);

                    ViewBag.StatusMessage  = GetSettingsStatusMessage(ManageMessageId.ChangeSettingSuccess);
                    TempData["ModelState"] = null;
                }
                catch (Exception e)
                {
                    ViewBag.StatusMessage = GetSettingsStatusMessage(ManageMessageId.Error);
                    Log.Error(e, "Error updating owner settings for '{0}'", ownerId);
                    throw;
                }
            }
            else
            {
                // pass errors to the ViewComponent
                ViewBag.StatusMessage  = GetSettingsStatusMessage(ManageMessageId.ValidationError);
                TempData["ModelState"] = ModelState;
                TempData["ViewModel"]  = settingsViewModel;
            }

            this.DashboardViewModel.Area = "settings";
            DashboardViewModel.Title     = string.Format("{0} Settings", DashboardViewModel.SelectedOwnerId);
            return(View("Settings", this.DashboardViewModel));
        }