private async Task <bool> CommandAnswerToEoWAsync(IDialogContext context, Command command) { if (_currentUser == null) { await context.PostAsync("ユーザー登録されている人のみ使える機能です。"); return(false); } var usecase = new MainUsecase(_currentUser); var stateEntity = await usecase.GetCurrentUserStatus(); // 終業かを問い合わせ中なら、 // (y:終わった/n:終わってない/d:今日は徹夜)に応答する。 if ((stateEntity?.State ?? AskingState.None) == AskingState.AskingEoW) { // 聞かれた時刻で、終業時刻を更新 var eowDateTime = await usecase.PunchEoW(stateEntity); await context.PostAsync($"お疲れさまでした。{eowDateTime.ymd.FormatMd()} の" + $"終業時刻は {eowDateTime.hm.Format()} を記録しました。"); } else { await context.PostAsync($"今は仕事の終わりを聞いていません。終業時刻を記録するには タイムカードの編集 とタイプして下さい。"); } return(false); }
private async Task <bool> CommandAnswerToEoWWithTimeAsync(IDialogContext context, Command command) { if (_currentUser == null) { await context.PostAsync("ユーザー登録されている人のみ使える機能です。"); return(false); } var usecase = new MainUsecase(_currentUser); // 聞かれた時刻で、終業時刻を更新 var eowDateTime = await usecase.PunchEoW(command.Message); await context.PostAsync($"お疲れさまでした。{eowDateTime.ymd.FormatMd()} の" + $"終業時刻は {eowDateTime.hm.Format()} を記録しました。"); return(false); }