public static Activity BuildResourceResponse(this NeuralResourceModel neuralResourceModel, ITurnContext turnContext) { Activity activity = turnContext.Activity.CreateReply(); activity.Attachments = new List <Attachment> { neuralResourceModel.GetResourceAttachment() }; return(activity); }
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); }
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); }