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 <DevelopConsumeStaminaApiRequest> >(body).FunctionArgument; var stamina = await StaminaUtil.ConsumeAsync(context, request.consumeStamina); return(PlayFabSimpleJson.SerializeObject(new DevelopConsumeStaminaApiResponse() { stamina = stamina })); }catch (PMApiException e) { // レスポンスの作成 var response = new PMApiResponseBase() { errorCode = e.errorCode, message = e.message }; return(PlayFabSimpleJson.SerializeObject(response)); } }
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)); } }