private async Task ReplyWithNextMemberToChoose(Activity activity, ITurnContext context) { try { var lastRestaurantVisited = await _service.GetLastVisitedRestaurantAsync(); var members = await _service.GetAllMembersAsync(); var currentMember = Array.IndexOf(members, lastRestaurantVisited?.PickedBy ?? ""); var nextMember = members[(currentMember + 1) % members.Length]; var nextMonth = lastRestaurantVisited?.Date.AddMonths(1) ?? DateTime.Now.AddMonths(1); var replyMessage = string.Format(Messages.NextChooserFormattingMessage, nextMember, nextMonth.ToString("MMMM")); var reply = activity.CreateReply(replyMessage); await context.SendActivityAsync(reply); } catch { var reply = activity.CreateReply("I'm not sure who has the next pick. Try again later."); await context.SendActivityAsync(reply); } }
private async Task <ResourceResponse> ReplyWithNextMemberToChoose(Activity activity, ConnectorClient connector) { try { var lastPlaceVisited = await _service.GetLastVisitedLocationAsync(); var members = await _service.GetAllMembersAsync(); var currentMember = Array.IndexOf(members, lastPlaceVisited?.PickedBy ?? ""); var nextMember = members[(currentMember + 1) % members.Length]; var nextMonth = lastPlaceVisited?.Date.AddMonths(1) ?? DateTime.Now.AddMonths(1); var replyMessage = string.Format(Messages.NextChooserFormattingMessage, nextMember, nextMonth.ToString("MMMM")); var reply = activity.CreateReply(replyMessage); return(await connector.Conversations.ReplyToActivityAsync(reply)); } catch { var reply = activity.CreateReply("I am not sure who's next to pick. Try again later."); return(await connector.Conversations.ReplyToActivityAsync(reply)); } }