Пример #1
0
        public static Activity BuildResourceResponse(this NeuralResourceModel neuralResourceModel, ITurnContext turnContext)
        {
            Activity activity = turnContext.Activity.CreateReply();

            activity.Attachments = new List <Attachment> {
                neuralResourceModel.GetResourceAttachment()
            };
            return(activity);
        }
Пример #2
0
        private TreeNode AddNewNode(NeuralResourceModel node)
        {
            var name     = $"{node.Name} ({(string.IsNullOrWhiteSpace(node.Location) ? 0 : 1)}:{(node.IsLocal ? 'L' : 'R')})";
            var treeNode = treeViewNeuralresources.Nodes.Add(node._id, name);

            treeNode.Tag      = node;
            treeNode.ImageKey = node.Type.GetEnumValueName();
            return(treeNode);
        }
        public static string GetAttachmentType(this NeuralResourceModel resource)
        {
            string result = null;

            switch (resource?.Type)
            {
            case ResourceType.DocumentPDF:
                result = DocumentPDF;
                break;

            case ResourceType.Text:
                result = Text;
                break;

            case ResourceType.ImagePNG:
                result = ImagePNG;
                break;

            case ResourceType.ImageJPG:
                result = ImageJPG;
                break;

            case ResourceType.ImageGIF:
                result = ImageGIF;
                break;

            case ResourceType.Video:
                result = Video;
                break;

            case ResourceType.Audio:
                result = Audio;
                break;

            case ResourceType.Script:
                result = Script;
                break;

            case ResourceType.Json:
                result = Json;
                break;

            default:
                break;
            }
            return(result);
        }
Пример #4
0
        private static Attachment GetResourceAttachment(this NeuralResourceModel res)
        {
            Attachment attachment = null;
            string     curDir     = Environment.CurrentDirectory;

            if (res.IsLocal)
            {
                res.Location = Path.Combine(curDir, "resources", res.Location);
            }
            var resTitle = res.ApplyFormat(res.Title);

            switch (res.Type)
            {
            case ResourceType.ImagePNG:
            case ResourceType.ImageJPG:
            case ResourceType.ImageGIF:
            {
                attachment = new HeroCard
                {
                    Title  = resTitle,
                    Images = new List <CardImage> {
                        new CardImage {
                            Url = res.Location
                        }
                    }
                }.ToAttachment();
            }
            break;

            case ResourceType.Audio:
            {
                var audioCard = new AudioCard(media: new[] { new MediaUrl(res.Location) });
                audioCard.Title = resTitle;
                attachment      = audioCard.ToAttachment();
            }
            break;

            case ResourceType.Script:
            case ResourceType.DocumentPDF:
            case ResourceType.Text:
            case ResourceType.WebsiteUrl:
            case ResourceType.Json:
            {
                attachment = new HeroCard
                {
                    Title   = resTitle,
                    Buttons = new List <CardAction> {
                        new CardAction(ActionTypes.OpenUrl, title: $"Open {Enum.GetName(res.Type.GetType(), res.Type)}", value: res.Location)
                    }
                }.ToAttachment();
            }
            break;

            case ResourceType.Video:
            {
                var videoCard = new VideoCard(media: new[] { new MediaUrl(res.Location) });
                videoCard.Title = resTitle;
                attachment      = videoCard.ToAttachment();
            }
            break;

            default:
                break;
            }

            return(attachment);
        }