public static async Task AddTask(string name, string code, string userName, ILogger log) { log.LogInformation($"start adding task process"); var payload = new IncomingWebhookPayload { }; if (string.IsNullOrEmpty(name) || string.IsNullOrEmpty(code) || string.IsNullOrEmpty(userName)) { payload.Text = $"タスク挿入に失敗しました. name={name}, code={code}, userName={userName}"; await SendIncomingWebhook(payload); } var task = new OutlookTask { PartitionKey = userName, RowKey = code, Name = name, IsCurrentTask = false }; var result = await TableHelper.InsertTask(task); payload.Text = result ? $"タスク挿入に成功しました. task={JsonConvert.SerializeObject(task)}" : $"タスク挿入に失敗しました. task={JsonConvert.SerializeObject(task)}"; await SendIncomingWebhook(payload); }
private static async Task SendIncomingWebhook(IncomingWebhookPayload payload) { HttpRequestMessage req = new HttpRequestMessage(HttpMethod.Post, incomingWebhookUrl); req.Content = new StringContent(JsonConvert.SerializeObject(payload), Encoding.UTF8, "application/json"); await httpClient.SendAsync(req); }
public static async Task ConfirmTask(string userName, ILogger log) { log.LogInformation($"start confirming task process"); var payload = new IncomingWebhookPayload { }; if (string.IsNullOrEmpty(userName)) { payload.Text = $"現在のタスク取得に失敗しました。 userName={userName}"; await SendIncomingWebhook(payload); } var result = await TableHelper.GetUserCurrentTasks(userName); if (result == null || result.Count <= 0) { payload.Text = "現在のタスクが存在しません."; } else { var firstTaskJson = JsonConvert.SerializeObject(result[0]); payload.Text = $"現在のタスク: {firstTaskJson} "; } await SendIncomingWebhook(payload); }
public static async Task ListTasks(string userName, ILogger log) { log.LogInformation($"start listing task process"); var payload = new IncomingWebhookPayload { }; if (string.IsNullOrEmpty(userName)) { payload.Text = $"一覧取得に失敗しました。 userName={userName}"; await SendIncomingWebhook(payload); } var result = await TableHelper.GetAllUserTasks(userName); if (result == null || result.Count <= 0) { payload.Text = "一覧するタスクが存在しません."; } else { var tasksStr = ""; foreach (var t in result) { tasksStr += $"Name={t.Name} Code={t.RowKey} \n"; } payload.Text = "Tasks: \n " + tasksStr; } await SendIncomingWebhook(payload); }
public static async Task SetTask(string userName, string code, ILogger log) { log.LogInformation($"start setting task process"); var payload = new IncomingWebhookPayload { }; if (string.IsNullOrEmpty(userName) || string.IsNullOrEmpty(code)) { payload.Text = $"現在のタスク設定に失敗しました。 userName={userName} code={code}"; await SendIncomingWebhook(payload); } var result = await TableHelper.UpdateUserCurrentTask(userName, code); payload.Text = result == null ? $"現在のタスク設定に失敗しました." : $"現在のタスク設定に成功しました. task={JsonConvert.SerializeObject(result)}"; await SendIncomingWebhook(payload); }