public async Task <ActionResult> EditDefaultSettings(bool isFirstTimeUser = false) { return(View(DefaultSettingsModel.GetModel(await GetUserForDefaultSettings(), isFirstTimeUser))); }
public async Task <ActionResult> EditDefaultSettings(DefaultSettingsModel model) { var user = await _userManager.GetUserAsync(User); if (ModelState.IsValid) { if (user != null) { await _userService.LogDefaultSettingsUpdateAsync(user.Id, impersonatorUpdatedById : User.TryGetImpersonatorId()); UpdateDefaultSetting(user, DefaultSettingsType.Region, model.RegionId?.ToSwedishString()); UpdateDefaultSetting(user, DefaultSettingsType.CustomerUnit, model.CustomerUnitId?.ToSwedishString()); UpdateDefaultSetting(user, DefaultSettingsType.InterpreterLocationPrimary, ((int?)model.RankedInterpreterLocationFirst)?.ToSwedishString()); UpdateDefaultSetting(user, DefaultSettingsType.InterpreterLocationSecondary, ((int?)model.RankedInterpreterLocationSecond)?.ToSwedishString()); UpdateDefaultSetting(user, DefaultSettingsType.InterpreterLocationThird, ((int?)model.RankedInterpreterLocationThird)?.ToSwedishString()); UpdateDefaultSetting(user, DefaultSettingsType.OnSiteStreet, model.OnSiteLocationStreet); UpdateDefaultSetting(user, DefaultSettingsType.OnSiteCity, model.OnSiteLocationCity); UpdateDefaultSetting(user, DefaultSettingsType.OffSiteDesignatedLocationStreet, model.OffSiteDesignatedLocationStreet); UpdateDefaultSetting(user, DefaultSettingsType.OffSiteDesignatedLocationCity, model.OffSiteDesignatedLocationCity); UpdateDefaultSetting(user, DefaultSettingsType.OffSitePhoneContactInformation, model.OffSitePhoneContactInformation); UpdateDefaultSetting(user, DefaultSettingsType.OffSiteVideoContactInformation, model.OffSiteVideoContactInformation); UpdateDefaultSetting(user, DefaultSettingsType.AllowExceedingTravelCost, ((int?)model.AllowExceedingTravelCost)?.ToSwedishString()); UpdateDefaultSetting(user, DefaultSettingsType.InvoiceReference, model.InvoiceReference); UpdateDefaultSetting(user, DefaultSettingsType.CreatorIsInterpreterUser, model.CreatorIsInterpreterUser.HasValue ? model.CreatorIsInterpreterUser.ToString() : null); List <UserDefaultSettingOrderRequirement> updatedOrderRequirements = new List <UserDefaultSettingOrderRequirement>(); if (model.OrderRequirements != null) { // add all extra requirements foreach (var req in model.OrderRequirements) { UserDefaultSettingOrderRequirement requirement = new UserDefaultSettingOrderRequirement { UserDefaultSettingOrderRequirementId = req.UserDefaultSettingOrderRequirementId ?? 0, RequirementType = req.RequirementType.Value, IsRequired = true, Description = req.RequirementDescription }; updatedOrderRequirements.Add(requirement); } } if (model.OrderDesiredRequirements != null) { // add all extra desired requirements foreach (var req in model.OrderDesiredRequirements) { UserDefaultSettingOrderRequirement requirement = new UserDefaultSettingOrderRequirement { UserDefaultSettingOrderRequirementId = req.UserDefaultSettingOrderRequirementId ?? 0, RequirementType = req.DesiredRequirementType.Value, IsRequired = false, Description = req.DesiredRequirementDescription }; updatedOrderRequirements.Add(requirement); } } UpdateDefaultSettingOrderRequirement(user, updatedOrderRequirements); await _dbContext.SaveChangesAsync(); return(model.IsFirstTimeUser ? RedirectToAction(nameof(Index), "Home", new { message = "Bokningsinställningar sparade. Du kan nu börja använda tjänsten!" }) : RedirectToAction(nameof(ViewDefaultSettings), new { message = "Ändringar sparade" })); } return(Forbid()); } return(View(model)); }
public async Task UpdateDefaultPriceSettingsAsync([FromBody] DefaultSettingsModel defaultSettings) { await _settingsService.UpdateDefaultSettingsAsync(Mapper.Map <DefaultSetting>(defaultSettings)); }