public static async Task <dynamic> Run( [HttpTrigger(AuthorizationLevel.Anonymous, "get", "post", Route = null)] HttpRequest req, ILogger log) { try{ string body = await req.ReadAsStringAsync(); var context = JsonConvert.DeserializeObject <FunctionExecutionContext <dynamic> >(body); var request = JsonConvert.DeserializeObject <FunctionExecutionContext <LoginApiRequest> >(body).FunctionArgument; // 初ログイン時処理 var userData = await DataProcessor.GetUserDataAsync(context); if (userData.lastLoginDateTime == default(DateTime)) { await DataProcessor.UpdateUserDataAsync(context, new Dictionary <UserDataKey, object>(){ { UserDataKey.rank, 1 }, }); } // ログイン日時の更新 var now = DateTimeUtil.Now(); await DataProcessor.UpdateUserDataAsync(context, new Dictionary <UserDataKey, object>(){ { UserDataKey.lastLoginDateTime, now } }); // スタミナの更新 await StaminaUtil.SetStamina(context); var response = new LoginApiResponse() { }; return(PlayFabSimpleJson.SerializeObject(response)); }catch (PMApiException e) { // レスポンスの作成 var response = new PMApiResponseBase() { errorCode = e.errorCode, message = e.message }; return(PlayFabSimpleJson.SerializeObject(response)); } }
public void RunUpdater() { _instance?.Invoke((MethodInvoker) delegate { _instance.btnPlay.Enabled = false; }); LoginApiResponse resp = GetLoginAPIResponse(_instance?.txtUser.Text, _instance?.txtPass.Text); if (resp == null) { Log.Info("API response was null."); return; } Log.Info("Response Status info:"); Log.Info("Status: " + resp.status); Log.Info("Reason: " + resp.reason); Log.Info("Additi: " + resp.additional); switch (resp.status) { case "true": { _instance?.Invoke((MethodInvoker) delegate { _instance.lblInfo.ForeColor = Color.Green; _instance.lblInfo.Text = resp.reason; }); UpdateFilesAndPlay(); break; } case "false": { _instance?.Invoke((MethodInvoker) delegate { _instance.lblInfo.ForeColor = Color.Red; _instance.lblInfo.Text = resp.reason; _instance.btnPlay.Enabled = true; }); break; } case "critical": { _instance?.Invoke((MethodInvoker) delegate { _instance.lblInfo.ForeColor = Color.Red; _instance.lblInfo.Text = resp.additional; _instance.btnPlay.Enabled = true; }); break; } case "info": { _instance?.Invoke((MethodInvoker) delegate { _instance.lblInfo.ForeColor = Color.Orange; _instance.lblInfo.Text = resp.reason; _instance.btnPlay.Enabled = true; }); break; } default: { _instance.BeginInvoke((MethodInvoker) delegate { MessageBox.Show(_instance, "There was an error logging you in!", "Oops!"); _instance.lblInfo.ForeColor = Color.Red; _instance.lblInfo.Text = "Error"; }); break; } } _instance?.Invoke((MethodInvoker) delegate { _instance.lblInfo.Visible = true; _instance.ActiveControl = null; }); }