Exemple #1
0
        private async Task <Fr8DataDTO> GetConfiguredActivityWithChannelSelected(string selectedChannel = null)
        {
            selectedChannel = selectedChannel ?? string.Empty;
            var configureUrl   = GetTerminalConfigureUrl();
            var requestDataDTO = HealthMonitor_FixtureData.Monitor_Channel_v1_InitialConfiguration_Fr8DataDTO();
            var activityDTO    = await HttpPostAsync <Fr8DataDTO, ActivityDTO>(configureUrl, requestDataDTO);

            requestDataDTO.ActivityDTO = activityDTO;
            activityDTO.AuthToken      = HealthMonitor_FixtureData.Slack_AuthToken();
            AddPayloadCrate(
                requestDataDTO,
                new EventReportCM()
            {
                EventPayload = new CrateStorage()
                {
                    Fr8.Infrastructure.Data.Crates.Crate.FromContent(
                        "EventReport",
                        new StandardPayloadDataCM(HealthMonitor_FixtureData.SlackEventFields()
                                                  )
                        )
                }
            }
                );
            using (var storage = Crate.GetUpdatableStorage(activityDTO))
            {
                selectedChannel = selectedChannel.StartsWith("#") ? selectedChannel : $"#{selectedChannel}";
                storage.UpdateControls <Monitor_Channel_v1.ActivityUi>(x =>
                {
                    if (string.IsNullOrEmpty(selectedChannel))
                    {
                        x.AllChannelsOption.Selected     = true;
                        x.SpecificChannelOption.Selected = false;
                    }
                    else
                    {
                        x.AllChannelsOption.Selected     = false;
                        x.SpecificChannelOption.Selected = true;
                        var channelListItem       = x.ChannelList.ListItems.FirstOrDefault(y => y.Key == selectedChannel);
                        x.ChannelList.selectedKey = channelListItem?.Key;
                        x.ChannelList.Value       = channelListItem?.Value;
                    }
                });
            }
            return(requestDataDTO);
        }