public IActionResult Fcm() { var model = new FcmForm { EnableFcm = bool.Parse(_settingsKeeper.GetSetting("EnableFcm").Value), FcmApiKey = _settingsKeeper.GetSetting("FcmApiKey").Value, FcmProjectId = _settingsKeeper.GetSetting("FcmProjectId").Value, FcmSenderId = ulong.Parse(_settingsKeeper.GetSetting("FcmSenderId").Value) }; return(View("FcmSettings", model)); }
public async Task <IActionResult> Fcm(FcmForm fcmForm) { if (fcmForm.EnableFcm) { if (ModelState.IsValid) { var tasks = new Task[6]; tasks[0] = Task.Run(async() => await _settingsKeeper.AddSettings("EnableFcm", fcmForm.EnableFcm.ToString())); tasks[1] = Task.Run(async() => await _settingsKeeper.AddSettings("FcmApiKey", fcmForm.FcmApiKey)); tasks[2] = Task.Run(async() => await _settingsKeeper.AddSettings("FcmProjectId", fcmForm.FcmProjectId)); tasks[3] = Task.Run(async() => await _settingsKeeper.AddSettings("FcmSenderId", fcmForm.FcmSenderId.ToString())); tasks[4] = Task.Run(async() => { using (var stream = System.IO.File.Create($"{Utils.CurrentDirectory.FullName}{Path.DirectorySeparatorChar}fcmkey.json")) { await fcmForm.FcmKeyFile.CopyToAsync(stream); } }); tasks[5] = Task.Run(async() => await Utils.BuildServiceWorker(fcmForm.FcmApiKey, fcmForm.FcmProjectId, fcmForm.FcmSenderId.ToString(), _webHostEnvironment)); TempData["Error"] = false; await Task.WhenAll(tasks); } else { TempData["Error"] = true; } } else { var tasks = new Task[4]; tasks[0] = Task.Run(async() => await _settingsKeeper.AddSettings("EnableFcm", fcmForm.EnableFcm.ToString())); tasks[1] = Task.Run(async() => await _settingsKeeper.AddSettings("FcmApiKey", fcmForm.FcmApiKey ?? string.Empty)); tasks[2] = Task.Run(async() => await _settingsKeeper.AddSettings("FcmProjectId", fcmForm.FcmProjectId ?? string.Empty)); tasks[3] = Task.Run(async() => await _settingsKeeper.AddSettings("FcmSenderId", fcmForm.FcmSenderId.ToString())); TempData["Error"] = false; await Task.WhenAll(tasks); } return(RedirectToAction("Fcm")); }