コード例 #1
0
        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));
        }
コード例 #2
0
        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"));
        }