public async Task <ActionResult> Post([FromForm] string payload)
 {
     return(JsonConvert.DeserializeObject <InteractionPayload>(payload) switch
     {
         BlockActionsPayload blocks => await SendResult(blocks),
         _ => new OkObjectResult("Unsupported - sorry!")
     });
 public async Task <ActionResult> Post([FromForm] string payload)
 {
     return(JsonConvert.DeserializeObject <InteractionPayload>(payload) switch
     {
         ViewSubmissionPayload submission => await SendApprovalRequest(submission),
         GlobalShortcutPayload shortcut => await GenerateModal(shortcut),
         BlockActionsPayload blocks => await SendResult(blocks),
         _ => new OkObjectResult("Unsupported - sorry!")
     });
        private async Task CloseVoteAsync(BlockActionsPayload p, string username)
        {
            var pokerHand   = pokerHandRepository.GetPokerHand(p.Message.Timestamp.ToString());
            var setOfGroups = new List <UserGroupWithUsers>();

            foreach (var g in pokerHand.UserGroups)
            {
                setOfGroups.Add(new UserGroupWithUsers()
                {
                    UserIds         = g.UserIds,
                    UserGroupHandle = g.UserGroupHandle
                });
            }

            var message =
                MessageHelpers.GetMessageWithVotesClosed(p.Message.Blocks, setOfGroups, pokerHand.Votes,
                                                         username);
            await message.Send(p.ResponseUrl);

            pokerHandRepository.DeleteHand(p.Message.Timestamp.ToString());
        }
Esempio n. 4
0
 public SlackAction(PayloadAction action, BlockActionsPayload payload)
 {
     Action  = action;
     Payload = payload;
 }