public async Task <IActionResult> Create(HourPointConfigurationsModel hourPointConfigurationsModel) { try { TimeNotesUser identityUser = await _userManager.GetUserAsync(User); HourPointConfigurations hourPointConfigurations = new HourPointConfigurations(hourPointConfigurationsModel.WorkDays, hourPointConfigurationsModel.BankOfHours, hourPointConfigurationsModel.OfficeHour, hourPointConfigurationsModel.LunchTime, hourPointConfigurationsModel.StartWorkTime, hourPointConfigurationsModel.ToleranceTime, Guid.Parse(identityUser.Id), hourPointConfigurationsModel.HourValue); _hourPointConfigurationsRepository.AddHourPointConfiguration(hourPointConfigurations); await _hourPointConfigurationsRepository.Commit(); await EnsurePasscode(hourPointConfigurationsModel, identityUser); return(RedirectToAction(nameof(Index))); } catch { return(View()); } }
private async Task EnsurePasscode(HourPointConfigurationsModel hourPointConfigurationsModel, TimeNotesUser identityUser) { if (hourPointConfigurationsModel.UseAlexaSupport && string.IsNullOrWhiteSpace(identityUser.AlexaUserId)) { string passcode = await GetPasscode(); await _cache.SetAsync(passcode, identityUser.Id); TempData["passcode"] = passcode; } }
public async Task <IActionResult> Edit(HourPointConfigurationsModel hourPointConfigurationsModel) { if (!ModelState.IsValid) { return(BadRequest(ModelState.Values)); } HourPointConfigurations hourPointConfigurations = await _hourPointConfigurationsRepository.GetHourPointConfigurationsById(hourPointConfigurationsModel.Id); hourPointConfigurations.ChangeWorkDays(hourPointConfigurationsModel.WorkDays); hourPointConfigurations.ChangeLunchTime(hourPointConfigurationsModel.LunchTime); hourPointConfigurations.ChangeOfficeHour(hourPointConfigurationsModel.OfficeHour); hourPointConfigurations.ChangeStartWorkTime(hourPointConfigurationsModel.StartWorkTime); hourPointConfigurations.ChangeToleranceTime(hourPointConfigurationsModel.ToleranceTime); hourPointConfigurations.ChangeBankOfHours(hourPointConfigurationsModel.BankOfHours); hourPointConfigurations.ChangeHourValue(hourPointConfigurationsModel.HourValue); TimeNotesUser identityUser = await _userManager.GetUserAsync(User); if (hourPointConfigurationsModel.UseAlexaSupport && !hourPointConfigurations.UseAlexaSupport) { hourPointConfigurations.ActiveAlexaSupport(); await EnsurePasscode(hourPointConfigurationsModel, identityUser); } else { hourPointConfigurations.DisableAlexaSupport(); identityUser.UnassingAlexaFromUser(); await _userManager.UpdateAsync(identityUser); } _hourPointConfigurationsRepository.UpdateHourPointConfiguration(hourPointConfigurations); await _hourPointConfigurationsRepository.Commit(); return(RedirectToAction(nameof(Index))); }