protected Attachment ToAdaptiveCardForTaskAddedFlow( List <TaskItem> todos, string taskContent, int allTasksCount, string listType) { var response = ResponseManager.GetResponseTemplate(AddToDoResponses.AfterTaskAdded); var toDoCard = new AdaptiveCard(); toDoCard.Speak = ResponseManager.Format(response.Reply.Speak, new StringDictionary() { { "taskContent", taskContent }, { "listType", listType } }); var body = new List <AdaptiveElement>(); response = ResponseManager.GetResponseTemplate(ToDoSharedResponses.CardSummaryMessage); var showText = ResponseManager.Format(response.Reply.Text, new StringDictionary() { { "taskCount", allTasksCount.ToString() }, { "listType", listType } }); var textBlock = new AdaptiveTextBlock { Text = showText, }; body.Add(textBlock); var container = new AdaptiveContainer(); foreach (var todo in todos) { var columnSet = new AdaptiveColumnSet(); var icon = new AdaptiveImage { UrlString = todo.IsCompleted ? IconImageSource.CheckIconSource : IconImageSource.UncheckIconSource }; var iconColumn = new AdaptiveColumn { Width = "auto" }; iconColumn.Items.Add(icon); columnSet.Columns.Add(iconColumn); var content = new AdaptiveTextBlock(todo.Topic); var contentColumn = new AdaptiveColumn(); iconColumn.Width = "auto"; contentColumn.Items.Add(content); columnSet.Columns.Add(contentColumn); container.Items.Add(columnSet); } body.Add(container); toDoCard.Body = body; var attachment = new Attachment() { ContentType = AdaptiveCard.ContentType, Content = toDoCard, }; return(attachment); }
protected Attachment ToAdaptiveCardForReadMore( List <TaskItem> todos, int startIndexOfTasksToBeRead, int toBeReadTasksCount, int allTasksCount, string listType) { var toDoCard = new AdaptiveCard(); var response = new ResponseTemplate(); if (toBeReadTasksCount == 1) { response = ResponseManager.GetResponseTemplate(ShowToDoResponses.NextOneTask); toDoCard.Speak = response.Reply.Speak + " "; } else if (toBeReadTasksCount == 2) { response = ResponseManager.GetResponseTemplate(ShowToDoResponses.NextTwoTasks); toDoCard.Speak += response.Reply.Speak + " "; } else { response = ResponseManager.GetResponseTemplate(ShowToDoResponses.NextThreeOrMoreTask); toDoCard.Speak += ResponseManager.Format(response.Reply.Speak, new StringDictionary() { { "taskCount", toBeReadTasksCount.ToString() } }) + " "; } var body = new List <AdaptiveElement>(); response = ResponseManager.GetResponseTemplate(ToDoSharedResponses.CardSummaryMessage); var showText = ResponseManager.Format(response.Reply.Text, new StringDictionary() { { "taskCount", allTasksCount.ToString() }, { "listType", listType } }); var textBlock = new AdaptiveTextBlock { Text = showText, }; body.Add(textBlock); var container = new AdaptiveContainer(); int index = 0; foreach (var todo in todos) { var columnSet = new AdaptiveColumnSet(); var icon = new AdaptiveImage { UrlString = todo.IsCompleted ? IconImageSource.CheckIconSource : IconImageSource.UncheckIconSource }; var iconColumn = new AdaptiveColumn { Width = "auto" }; iconColumn.Items.Add(icon); columnSet.Columns.Add(iconColumn); var content = new AdaptiveTextBlock(todo.Topic); var contentColumn = new AdaptiveColumn(); iconColumn.Width = "auto"; contentColumn.Items.Add(content); columnSet.Columns.Add(contentColumn); container.Items.Add(columnSet); if (index >= startIndexOfTasksToBeRead && index < startIndexOfTasksToBeRead + toBeReadTasksCount) { if (toBeReadTasksCount == 1) { toDoCard.Speak += todo.Topic + ". "; } else if (index == startIndexOfTasksToBeRead + toBeReadTasksCount - 2) { toDoCard.Speak += todo.Topic; } else if (index == startIndexOfTasksToBeRead + toBeReadTasksCount - 1) { toDoCard.Speak += string.Format(ToDoStrings.And, todo.Topic); } else { toDoCard.Speak += todo.Topic + ", "; } } index++; } body.Add(container); toDoCard.Body = body; var attachment = new Attachment() { ContentType = AdaptiveCard.ContentType, Content = toDoCard, }; return(attachment); }
protected Attachment ToAdaptiveCardForPreviousPage( List <TaskItem> todos, int readSize, int allTasksCount, string listType) { var response = ResponseManager.GetResponseTemplate(ShowToDoResponses.ShowPreviousTasks); var toDoCard = new AdaptiveCard(); toDoCard.Speak = ResponseManager.Format(response.Reply.Speak, new StringDictionary()) + " "; var body = new List <AdaptiveElement>(); response = ResponseManager.GetResponseTemplate(ToDoSharedResponses.CardSummaryMessage); var showText = ResponseManager.Format(response.Reply.Text, new StringDictionary() { { "taskCount", allTasksCount.ToString() }, { "listType", listType } }); var textBlock = new AdaptiveTextBlock { Text = showText, }; body.Add(textBlock); var container = new AdaptiveContainer(); readSize = Math.Min(readSize, todos.Count); var index = 0; foreach (var todo in todos) { var columnSet = new AdaptiveColumnSet(); var icon = new AdaptiveImage { UrlString = todo.IsCompleted ? IconImageSource.CheckIconSource : IconImageSource.UncheckIconSource }; var iconColumn = new AdaptiveColumn { Width = "auto" }; iconColumn.Items.Add(icon); columnSet.Columns.Add(iconColumn); var content = new AdaptiveTextBlock(todo.Topic); var contentColumn = new AdaptiveColumn(); iconColumn.Width = "auto"; contentColumn.Items.Add(content); columnSet.Columns.Add(contentColumn); container.Items.Add(columnSet); if (index < readSize) { if (readSize == 1) { toDoCard.Speak += todo.Topic + ". "; } else if (index == readSize - 2) { toDoCard.Speak += todo.Topic; } else if (index == readSize - 1) { toDoCard.Speak += string.Format(ToDoStrings.And, todo.Topic); } else { toDoCard.Speak += todo.Topic + ", "; } } index++; } body.Add(container); toDoCard.Body = body; var attachment = new Attachment() { ContentType = AdaptiveCard.ContentType, Content = toDoCard, }; return(attachment); }
private static AdaptiveCard HolidayListAdaptiveCardMoreDynamic(List <string> date, List <string> description) { var card = new AdaptiveCard(new AdaptiveSchemaVersion(1, 0)); List <AdaptiveColumn> columns = new List <AdaptiveColumn>(); AdaptiveColumn column = AdaptiveCardHelper.AddAdaptiveColumn(); AdaptiveColumn column1 = AdaptiveCardHelper.AddAdaptiveColumn(); AdaptiveColumn column2 = AdaptiveCardHelper.AddAdaptiveColumn(); AdaptiveCardHelper.AddTextBlockWithColumn(column, "Sr.No", AdaptiveTextWeight.Bolder, AdaptiveTextSize.Large, AdaptiveTextColor.Accent); AdaptiveCardHelper.AddTextBlockWithColumn(column1, "Date", AdaptiveTextWeight.Bolder, AdaptiveTextSize.Large, AdaptiveTextColor.Good); AdaptiveCardHelper.AddTextBlockWithColumn(column2, "Description", AdaptiveTextWeight.Bolder, AdaptiveTextSize.Large, AdaptiveTextColor.Dark); for (int i = 0; i < date.Count; i++) { AdaptiveCardHelper.AddItemToAdaptiveColumn(column, AdaptiveCardHelper.AddTextBlock((i + 1).ToString())); AdaptiveCardHelper.AddItemToAdaptiveColumn(column1, AdaptiveCardHelper.AddTextBlock((date[i]).ToString())); AdaptiveCardHelper.AddItemToAdaptiveColumn(column2, AdaptiveCardHelper.AddTextBlock((description[i]).ToString())); } var columnSet = new AdaptiveColumnSet(); columnSet.Columns.Add(column); columnSet.Columns.Add(column1); columnSet.Columns.Add(column2); AdaptiveContainer container = AdaptiveCardHelper.AddAdaptiveContainer(columnSet); card.Body.Add(container); return(card); ////++++++++++++++++++++++++++++++++++++++++++++ ///https://stackoverflow.com/questions/11632816/can-i-count-properties-before-i-create-an-object-in-the-constructor /////https://stackoverflow.com/questions/27335689/creating-objects-within-a-loop ///https://social.msdn.microsoft.com/Forums/SECURITY/en-US/d7e26819-2731-402a-90a5-b512cb11eca5/how-do-i-create-a-loop-that-creates-multiple-objects-of-a-class?forum=csharpgeneral //var card = new AdaptiveCard(new AdaptiveSchemaVersion(1, 0)); //List<AdaptiveColumn> columns = new List<AdaptiveColumn>(); ////AdaptiveColumn column = AdaptiveCardHelper.AddAdaptiveColumn(); ////AdaptiveColumn column1 = AdaptiveCardHelper.AddAdaptiveColumn(); ////AdaptiveColumn column2 = AdaptiveCardHelper.AddAdaptiveColumn(); //for (int i = 0; i < 2; i++) //{ // columns.Add(new AdaptiveColumn()); //} //AdaptiveCardHelper.AddTextBlockWithColumn(columns[0], "Sr.No", AdaptiveTextWeight.Bolder, AdaptiveTextSize.Large, AdaptiveTextColor.Accent); //AdaptiveCardHelper.AddTextBlockWithColumn(columns[1], "Date", AdaptiveTextWeight.Bolder, AdaptiveTextSize.Large, AdaptiveTextColor.Good); //AdaptiveCardHelper.AddTextBlockWithColumn(columns[2], "Description", AdaptiveTextWeight.Bolder, AdaptiveTextSize.Large, AdaptiveTextColor.Dark); //for (int i = 0; i < date.Count; i++) //{ // //for (int i1 = 0; i1 < 2; i1++) // //{ // // AdaptiveCardHelper.AddItemToAdaptiveColumn(columns[i1], AdaptiveCardHelper.AddTextBlock((i + 1).ToString())); // // AdaptiveCardHelper.AddItemToAdaptiveColumn(columns[i1+1], AdaptiveCardHelper.AddTextBlock((date[i]).ToString())); // // AdaptiveCardHelper.AddItemToAdaptiveColumn(columns[i1+2], AdaptiveCardHelper.AddTextBlock((description[i]).ToString())); // //} // AdaptiveCardHelper.AddItemToAdaptiveColumn(columns[0], AdaptiveCardHelper.AddTextBlock((i + 1).ToString())); // AdaptiveCardHelper.AddItemToAdaptiveColumn(columns[1], AdaptiveCardHelper.AddTextBlock((date[i]).ToString())); // AdaptiveCardHelper.AddItemToAdaptiveColumn(columns[2], AdaptiveCardHelper.AddTextBlock((description[i]).ToString())); //} //var columnSet = new AdaptiveColumnSet(); //columnSet.Columns.Add(columns[0]); //columnSet.Columns.Add(columns[1]); //columnSet.Columns.Add(columns[2]); //AdaptiveContainer container = AdaptiveCardHelper.AddAdaptiveContainer(columnSet); //card.Body.Add(container); //return card; }
public static AdaptiveCard CreateAdaptiveCard_WithDynamicContent() { List <string> city = new List <string>() { "Delhi", "Bangalore", "Mumbai" }; List <string> date = new List <string>() { "1-Jan", "26-Jan", "15-Aug" }; List <string> des = new List <string>() { "New Year", "Republic Day", "Independence Day" }; List <string> date1 = new List <string>() { "1-Jan", "26-Jan", "15-Aug", "25-Dec" }; List <string> des1 = new List <string>() { "New Year", "Republic Day", "Independence Day", "Christmas Day" }; List <string> date2 = new List <string>() { "1-Jan", "25-Dec" }; List <string> des2 = new List <string>() { "New Year", "Christmas Day" }; List <AdaptiveCard> cards = new List <AdaptiveCard>(); cards.Add(HolidayListAdaptiveCard(date, des)); cards.Add(HolidayListAdaptiveCard(date1, des1)); cards.Add(HolidayListAdaptiveCard(date2, des2)); var mainCard = new AdaptiveCard(new AdaptiveSchemaVersion(1, 0)); var column3 = new AdaptiveColumn(); column3.Items.Add(new AdaptiveTextBlock() { Text = "Holiday City", Weight = AdaptiveTextWeight.Bolder }); var columnSet1 = new AdaptiveColumnSet(); columnSet1.Columns.Add(column3); var container1 = new AdaptiveContainer(); container1.Style = AdaptiveContainerStyle.Emphasis; container1.Items.Add(columnSet1); mainCard.Body.Add(container1); List <AdaptiveShowCardAction> adaptiveShowCardActions = new List <AdaptiveShowCardAction>(); for (int i = 0; i < city.Count; i++) { //mainCard.Actions.Add(new AdaptiveShowCardAction() { Title = city[i], Card = cards[i] }); //mainCard.Actions.Add(new AdaptiveSubmitAction() {Title="Submit",Data= "Submit" }); mainCard.Actions.Add(new AdaptiveSubmitAction() { Title = "Submit", Data = "Submit" }); //{ \"Type\": \"GetPPTNo\" } //mainCard.Actions.Add(new AdaptiveOpenUrlAction() { Title = "OpenUrl", Url = new Uri("https://adaptivecards.io/explorer/Action.OpenUrl.html") }); } var attachment = new Attachment { ContentType = AdaptiveCard.ContentType, Content = mainCard }; return(mainCard); //var reply = MessageFactory.Attachment(attachment); //await stepContext.Context.SendActivityAsync(reply); //return new DialogTurnResult(DialogTurnStatus.Waiting); }
private AdaptiveCard SetCard() { AdaptiveCard _card = new AdaptiveCard("1.0"); var _container = new AdaptiveContainer(); var colum = new AdaptiveColumnSet(); var _columnImage = new AdaptiveColumn() { Width = AdaptiveColumnWidth.Auto }; _columnImage.Items.Add(new AdaptiveImage() { Url = new Uri("http://localhost:3978/img/bot-avatar_.png"), Size = AdaptiveImageSize.Small, Style = AdaptiveImageStyle.Person, AltText = "Bootty" }); var _columnContent = new AdaptiveColumn() { Width = AdaptiveColumnWidth.Stretch }; _columnContent.Items.Add(new AdaptiveTextBlock() { Text = "Booty", Size = AdaptiveTextSize.Medium, Weight = AdaptiveTextWeight.Default, Color = AdaptiveTextColor.Default, Wrap = true, Spacing = AdaptiveSpacing.Default }); _columnContent.Items.Add(new AdaptiveTextBlock() { Text = DateTime.Now.ToString(), Size = AdaptiveTextSize.Small, Color = AdaptiveTextColor.Default, Wrap = true, IsSubtle = true, Spacing = AdaptiveSpacing.None }); var _textMessage = new AdaptiveTextBlock() { Text = this.Title, Size = AdaptiveTextSize.Medium, Color = AdaptiveTextColor.Default, Weight = AdaptiveTextWeight.Bolder, Wrap = true, IsSubtle = false }; var _textMessage2 = new AdaptiveTextBlock() { Text = this.Description, Size = AdaptiveTextSize.Small, Color = AdaptiveTextColor.Default, Weight = AdaptiveTextWeight.Default, Wrap = true, IsSubtle = false }; colum.Columns.Add(_columnImage); colum.Columns.Add(_columnContent); _container.Items.Add(colum); _card.Body.Add(_container); _card.Body.Add(_textMessage); _card.Body.Add(_textMessage2); _card.Actions.AddRange(this.GetAdaptiveActions()); return(_card); }
public void ColumnSet() { AdaptiveColumn column1 = new AdaptiveColumn { Bleed = true, Height = HeightType.Stretch, Id = "ColumnId", IsVisible = false, Width = "50px", Separator = true, Spacing = Spacing.Small, Style = ContainerStyle.Emphasis, VerticalContentAlignment = VerticalContentAlignment.Bottom, }; ValidateBaseElementProperties(column1, "ColumnId", false, true, Spacing.Small, HeightType.Stretch); Assert.IsTrue(column1.Bleed); Assert.AreEqual("50px", column1.Width); Assert.AreEqual <uint>(50, column1.PixelWidth); Assert.AreEqual(ContainerStyle.Emphasis, column1.Style); Assert.AreEqual(VerticalContentAlignment.Bottom, column1.VerticalContentAlignment); column1.SelectAction = new AdaptiveSubmitAction { Title = "Select Action" }; Assert.IsNotNull(column1.SelectAction); Assert.AreEqual("Select Action", column1.SelectAction.Title); AdaptiveTextBlock textBlock = new AdaptiveTextBlock { Text = "This is a text block" }; column1.Items.Add(textBlock); AdaptiveTextBlock textBlock2 = new AdaptiveTextBlock { Text = "This is another text block" }; column1.Items.Add(textBlock2); Assert.AreEqual("This is a text block", (column1.Items[0] as AdaptiveTextBlock).Text); Assert.AreEqual("This is another text block", (column1.Items[1] as AdaptiveTextBlock).Text); AdaptiveColumn column2 = new AdaptiveColumn { Id = "Column2Id" }; AdaptiveTextBlock textBlock3 = new AdaptiveTextBlock { Text = "This is a text block" }; column2.Items.Add(textBlock3); AdaptiveColumnSet columnSet = new AdaptiveColumnSet { Bleed = true, Height = HeightType.Stretch, Id = "ColumnSetId", IsVisible = false, Separator = true, Spacing = Spacing.Small, Style = ContainerStyle.Emphasis, }; Assert.IsTrue(columnSet.Bleed); ValidateBaseElementProperties(columnSet, "ColumnSetId", false, true, Spacing.Small, HeightType.Stretch); columnSet.Columns.Add(column1); columnSet.Columns.Add(column2); Assert.AreEqual("ColumnId", columnSet.Columns[0].Id); Assert.AreEqual("Column2Id", columnSet.Columns[1].Id); var jsonString = columnSet.ToJson().ToString(); Assert.AreEqual("{\"bleed\":true,\"columns\":[{\"bleed\":true,\"height\":\"Stretch\",\"id\":\"ColumnId\",\"isVisible\":false,\"items\":[{\"text\":\"This is a text block\",\"type\":\"TextBlock\"},{\"text\":\"This is another text block\",\"type\":\"TextBlock\"}],\"selectAction\":{\"title\":\"Select Action\",\"type\":\"Action.Submit\"},\"separator\":true,\"spacing\":\"small\",\"style\":\"Emphasis\",\"type\":\"Column\",\"verticalContentAlignment\":\"Bottom\",\"width\":\"50px\"},{\"id\":\"Column2Id\",\"items\":[{\"text\":\"This is a text block\",\"type\":\"TextBlock\"}],\"type\":\"Column\",\"width\":\"auto\"}],\"height\":\"Stretch\",\"id\":\"ColumnSetId\",\"isVisible\":false,\"separator\":true,\"spacing\":\"small\",\"style\":\"Emphasis\",\"type\":\"ColumnSet\"}", jsonString); }
protected Attachment ToAdaptiveCardForPreviousPage( List <TaskItem> todos, int toBeReadTasksCount) { var toDoCard = new AdaptiveCard(); var speakText = Format(ShowToDoResponses.ShowPreviousToDoTasks.Reply.Speak, new StringDictionary() { }) + Format(ShowToDoResponses.FirstToDoTasks.Reply.Speak, new StringDictionary() { { "taskCount", toBeReadTasksCount.ToString() } }); toDoCard.Speak = speakText; var body = new List <AdaptiveElement>(); var showText = Format(ShowToDoResponses.ShowPreviousToDoTasks.Reply.Text, new StringDictionary() { }); var textBlock = new AdaptiveTextBlock { Text = showText, }; body.Add(textBlock); var container = new AdaptiveContainer(); var index = 0; foreach (var todo in todos) { var columnSet = new AdaptiveColumnSet(); var icon = new AdaptiveImage(); icon.UrlString = todo.IsCompleted ? IconImageSource.CheckIconSource : IconImageSource.UncheckIconSource; var iconColumn = new AdaptiveColumn(); iconColumn.Width = "auto"; iconColumn.Items.Add(icon); columnSet.Columns.Add(iconColumn); var content = new AdaptiveTextBlock(todo.Topic); var contentColumn = new AdaptiveColumn(); iconColumn.Width = "auto"; contentColumn.Items.Add(content); columnSet.Columns.Add(contentColumn); container.Items.Add(columnSet); if (index < toBeReadTasksCount) { toDoCard.Speak += (++index) + " " + todo.Topic + " "; } } body.Add(container); toDoCard.Body = body; var attachment = new Attachment() { ContentType = AdaptiveCard.ContentType, Content = toDoCard, }; return(attachment); }
private AdaptiveCard SetCard() { AdaptiveCard _card = new AdaptiveCard("1.0"); var _container = new AdaptiveContainer(); var colum = new AdaptiveColumnSet(); var _columnImage = new AdaptiveColumn() { Width = AdaptiveColumnWidth.Auto }; _columnImage.Items.Add(new AdaptiveImage() { Url = new Uri(this.UrlImage), Size = AdaptiveImageSize.Small, Style = AdaptiveImageStyle.Person, AltText = "Bootty" }); var _columnContent = new AdaptiveColumn() { Width = AdaptiveColumnWidth.Stretch }; _columnContent.Items.Add(new AdaptiveTextBlock() { Text = "Booty", Size = AdaptiveTextSize.Medium, Weight = AdaptiveTextWeight.Default, Color = AdaptiveTextColor.Default, Wrap = true, Spacing = AdaptiveSpacing.Default }); _columnContent.Items.Add(new AdaptiveTextBlock() { Text = DateTime.Now.ToString(), Size = AdaptiveTextSize.Small, Color = AdaptiveTextColor.Default, Wrap = true, IsSubtle = true, Spacing = AdaptiveSpacing.None }); var _textMessage = new AdaptiveTextBlock() { Text = this.Title, Size = AdaptiveTextSize.Medium, Color = AdaptiveTextColor.Default, Weight = AdaptiveTextWeight.Bolder, Wrap = true, IsSubtle = false }; var _textMessage2 = new AdaptiveTextBlock() { Text = this.Description, Size = AdaptiveTextSize.Small, Color = AdaptiveTextColor.Default, Weight = AdaptiveTextWeight.Default, Wrap = true, IsSubtle = false }; colum.Columns.Add(_columnImage); colum.Columns.Add(_columnContent); _container.Items.Add(colum); _card.Body.Add(_container); _card.Body.Add(_textMessage); _card.Body.Add(_textMessage2); //Form var _texDataSubtitle = new AdaptiveTextBlock() { Text = "Tus Datos", Size = AdaptiveTextSize.Medium, Color = AdaptiveTextColor.Default, Weight = AdaptiveTextWeight.Bolder, HorizontalAlignment = AdaptiveHorizontalAlignment.Left }; var _textTitleName = new AdaptiveTextBlock() { Text = "Tú Nombre", Size = AdaptiveTextSize.Small, Color = AdaptiveTextColor.Default, Weight = AdaptiveTextWeight.Default }; var _textName = new AdaptiveTextInput() { Id = "UserName", Placeholder = "Apellido, Nombre" }; var _textTitleEmail = new AdaptiveTextBlock() { Text = "Dirección de correo", Size = AdaptiveTextSize.Small, Color = AdaptiveTextColor.Default, Weight = AdaptiveTextWeight.Default }; var _textEmail = new AdaptiveTextInput() { Id = "Email", Placeholder = "correo electronico" }; var _texDatesSubtitle = new AdaptiveTextBlock() { Text = "Fechas", Size = AdaptiveTextSize.Medium, Color = AdaptiveTextColor.Default, Weight = AdaptiveTextWeight.Bolder, HorizontalAlignment = AdaptiveHorizontalAlignment.Left }; var _textTitleDeparture = new AdaptiveTextBlock() { Text = "Fecha de salida", Size = AdaptiveTextSize.Small, Color = AdaptiveTextColor.Default, Weight = AdaptiveTextWeight.Default }; var _textDeparture = new AdaptiveDateInput() { Id = "Departure" }; var _textTitleArrival = new AdaptiveTextBlock() { Text = "Fecha de regreso", Size = AdaptiveTextSize.Small, Color = AdaptiveTextColor.Default, Weight = AdaptiveTextWeight.Default }; var _textArrival = new AdaptiveDateInput() { Id = "Arrival" }; var _texOptionsSubtitle = new AdaptiveTextBlock() { Text = "Tipo de viaje", Size = AdaptiveTextSize.Normal, Color = AdaptiveTextColor.Default, Weight = AdaptiveTextWeight.Bolder, HorizontalAlignment = AdaptiveHorizontalAlignment.Left }; var _textTrasportOpciones = new AdaptiveTextBlock() { Text = "Tipo de transporte", Size = AdaptiveTextSize.Medium, Color = AdaptiveTextColor.Default, Weight = AdaptiveTextWeight.Default }; //traport var _transportChoice = new AdaptiveChoiceSetInput(); _transportChoice.Id = "TransporChoice"; _transportChoice.Value = "bus"; _transportChoice.Style = AdaptiveChoiceInputStyle.Expanded; _transportChoice.Choices.Add(new AdaptiveChoice() { Title = "Omnibus", Value = "Omnibus" }); _transportChoice.Choices.Add(new AdaptiveChoice() { Title = "Avion", Value = "Avion" }); var _textClassOpciones = new AdaptiveTextBlock() { Text = "Clase", Size = AdaptiveTextSize.Medium, Color = AdaptiveTextColor.Default, Weight = AdaptiveTextWeight.Default }; //traport var _classChoice = new AdaptiveChoiceSetInput(); _classChoice.Id = "ClassChoice"; _classChoice.Value = "Economica"; _classChoice.Style = AdaptiveChoiceInputStyle.Expanded; _classChoice.Choices.Add(new AdaptiveChoice() { Title = "Economica", Value = "Economica" }); _classChoice.Choices.Add(new AdaptiveChoice() { Title = "Primera", Value = "Primera" }); var _textCashOpciones = new AdaptiveTextBlock() { Text = "¿Forma de Pago?", Size = AdaptiveTextSize.Medium, Color = AdaptiveTextColor.Default, Weight = AdaptiveTextWeight.Default }; //traport var _cashChoice = new AdaptiveChoiceSetInput(); _cashChoice.Id = "CashChoice"; _cashChoice.Value = "Efectivo"; _cashChoice.Choices.Add(new AdaptiveChoice() { Title = "Efectivo", Value = "Efectivo" }); _cashChoice.Choices.Add(new AdaptiveChoice() { Title = "Tarjeta de Credito", Value = "Tarjeta de Credito" }); var _checkConditions = new AdaptiveToggleInput() { Id = "checkConditions", Value = "accept", Title = "Acepto los terminos y condiciones." }; var _submitButton = new AdaptiveSubmitAction() { Title = "Contratar", DataJson = JsonConvert.SerializeObject(new JsonDataAux() { From = TypeCards.FORM.ToString(), Action = "MDZFORM" }) }; _card.Body.Add(_texDataSubtitle); _card.Body.Add(_textTitleName); _card.Body.Add(_textName); _card.Body.Add(_textTitleEmail); _card.Body.Add(_textEmail); _card.Body.Add(_texDatesSubtitle); _card.Body.Add(_textTitleDeparture); _card.Body.Add(_textDeparture); _card.Body.Add(_textTitleArrival); _card.Body.Add(_textArrival); _card.Body.Add(_texOptionsSubtitle); _card.Body.Add(_textTrasportOpciones); _card.Body.Add(_transportChoice); _card.Body.Add(_textClassOpciones); _card.Body.Add(_classChoice); _card.Body.Add(_textCashOpciones); _card.Body.Add(_cashChoice); _card.Body.Add(_checkConditions); _card.Actions.Add(_submitButton); return(_card); }
protected Attachment ToAdaptiveCardForOtherFlows( List <TaskItem> todos, int allTaskCount, string taskContent, BotResponse botResponse1, BotResponse botResponse2, string listType) { var toDoCard = new AdaptiveCard(); var showText = Format(botResponse2.Reply.Text, new StringDictionary() { { "taskCount", allTaskCount.ToString() }, { "listType", listType } }); var speakText = Format(botResponse1.Reply.Speak, new StringDictionary() { { "taskContent", taskContent } }) + " " + Format(botResponse2.Reply.Speak, new StringDictionary() { { "taskCount", allTaskCount.ToString() }, { "listType", listType } }); toDoCard.Speak = speakText.Remove(speakText.Length - 1) + "."; var body = new List <AdaptiveElement>(); var textBlock = new AdaptiveTextBlock { Text = showText, }; body.Add(textBlock); var container = new AdaptiveContainer(); foreach (var todo in todos) { var columnSet = new AdaptiveColumnSet(); var icon = new AdaptiveImage(); icon.UrlString = todo.IsCompleted ? IconImageSource.CheckIconSource : IconImageSource.UncheckIconSource; var iconColumn = new AdaptiveColumn(); iconColumn.Width = "auto"; iconColumn.Items.Add(icon); columnSet.Columns.Add(iconColumn); var content = new AdaptiveTextBlock(todo.Topic); var contentColumn = new AdaptiveColumn(); iconColumn.Width = "auto"; contentColumn.Items.Add(content); columnSet.Columns.Add(contentColumn); container.Items.Add(columnSet); } body.Add(container); toDoCard.Body = body; var attachment = new Attachment() { ContentType = AdaptiveCard.ContentType, Content = toDoCard, }; return(attachment); }
/// <summary> /// Update scrum details to name card. /// </summary> /// <param name="name">name of group member.</param> /// <param name="scrumDetails">scrum details.</param> /// <param name="appBaseUrl">app base url.</param> /// <returns>card.</returns> public static Attachment GetUpdateCard(string name, ScrumDetailsEntity scrumDetails, string appBaseUrl) { Uri blockerImgUrl = new Uri(appBaseUrl + "/content/blocked.png"); string updatedTimeStamp = DateTime.UtcNow.ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'Z'"); AdaptiveColumnSet columnSet = new AdaptiveColumnSet(); var dateTimeinTextFormat = string.Format("{{{{DATE({0}, SHORT)}}}} {{{{TIME({1})}}}}", updatedTimeStamp, updatedTimeStamp); columnSet.Columns.Add( new AdaptiveColumn { Width = AdaptiveColumnWidth.Auto, Items = new List <AdaptiveElement> { new AdaptiveTextBlock { Weight = AdaptiveTextWeight.Bolder, Text = name, Wrap = true, Size = AdaptiveTextSize.Default, }, new AdaptiveTextBlock { Weight = AdaptiveTextWeight.Lighter, Text = string.Format(Resources.UpdateScrumTimeStampText, dateTimeinTextFormat), Wrap = true, IsSubtle = true, }, }, }); if (!string.IsNullOrEmpty(scrumDetails.Blockers)) { AdaptiveColumn column = new AdaptiveColumn(); column.Items.Add(new AdaptiveImage { Style = AdaptiveImageStyle.Default, HorizontalAlignment = AdaptiveHorizontalAlignment.Right, Url = blockerImgUrl, }); columnSet.Columns.Add(column); } AdaptiveCard validationCard = new AdaptiveCard("1.0") { Body = new List <AdaptiveElement> { columnSet, }, Actions = new List <AdaptiveAction> { new AdaptiveShowCardAction() { Title = Resources.ShowScrumDetailsTitle, Card = new AdaptiveCard("1.0") { Body = new List <AdaptiveElement> { new AdaptiveTextBlock { Text = Resources.YesterdayText, Color = AdaptiveTextColor.Dark, Separator = true, IsSubtle = true, Wrap = true, Weight = AdaptiveTextWeight.Bolder, }, new AdaptiveTextBlock { Text = scrumDetails.Yesterday, Wrap = true, Weight = AdaptiveTextWeight.Lighter, }, new AdaptiveTextBlock { Text = Resources.TodayText, Color = AdaptiveTextColor.Dark, Separator = true, IsSubtle = true, Wrap = true, Weight = AdaptiveTextWeight.Bolder, }, new AdaptiveTextBlock { Text = scrumDetails.Today, Wrap = true, Weight = AdaptiveTextWeight.Lighter, }, new AdaptiveTextBlock { Text = Resources.BlockersText, Color = AdaptiveTextColor.Dark, Separator = true, IsSubtle = true, Wrap = true, Weight = AdaptiveTextWeight.Bolder, }, new AdaptiveTextBlock { Text = scrumDetails.Blockers, Wrap = true, Weight = AdaptiveTextWeight.Lighter, }, }, }, }, }, }; return(new Attachment { ContentType = AdaptiveCard.ContentType, Content = validationCard, }); }
public static Attachment ShowGreetingCard() { AdaptiveContainer adaptiveContainer = new AdaptiveContainer(); AdaptiveColumnSet adaptiveColumnSet = new AdaptiveColumnSet(); AdaptiveColumn adaptiveColumn = new AdaptiveColumn() { Items = new List <AdaptiveElement>() { new AdaptiveImage() { Size = AdaptiveImageSize.Auto, Url = new Uri("https://rave.office.net/api/download/publicBlob?fileURL=https%3a%2f%2fwebrave.blob.core.windows.net%2fpublic%2fimages%2fRave_DJ_2.gif") } } }; adaptiveColumnSet.Columns.Add(adaptiveColumn); //adaptiveColumn = new AdaptiveColumn() //{ // Items = new List<AdaptiveElement>() // { // new AdaptiveTextBlock() // { // Text="" // } // } //}; //adaptiveColumnSet.Columns.Add(adaptiveColumn); //adaptiveColumn = new AdaptiveColumn() //{ // Items = new List<AdaptiveElement>() // { // new AdaptiveTextBlock() // { // Text="" // } // } //}; //adaptiveColumnSet.Columns.Add(adaptiveColumn); adaptiveColumn = new AdaptiveColumn() { Items = new List <AdaptiveElement>() { new AdaptiveTextBlock() { Text = "I am The " + System.Configuration.ConfigurationManager.AppSettings["Company"] + " Assistant.", Weight = AdaptiveTextWeight.Bolder, Wrap = true }, new AdaptiveTextBlock() { Text = "How can i help you today?", Weight = AdaptiveTextWeight.Bolder, Size = AdaptiveTextSize.Small, Wrap = true } } }; adaptiveColumnSet.Columns.Add(adaptiveColumn); adaptiveContainer.Items.Add(adaptiveColumnSet); AdaptiveCard adaptiveCard = new AdaptiveCard(); adaptiveCard.Body.Add(adaptiveContainer); Attachment attachment = new Attachment() { ContentType = AdaptiveCard.ContentType, Content = adaptiveCard }; return(attachment); }
public static AdaptiveCard CreateFullCardForCandidate(Candidate c) { AdaptiveCard card = new AdaptiveCard(); card.Body = new List <AdaptiveElement>(); AdaptiveContainer header = new AdaptiveContainer(); card.Body.Add(header); header.Items = new List <AdaptiveElement>(); header.Items.Add(new AdaptiveTextBlock() { Text = c.Name, Weight = AdaptiveTextWeight.Bolder, Size = AdaptiveTextSize.Large }); AdaptiveColumnSet headerDetails = new AdaptiveColumnSet(); header.Items.Add(headerDetails); AdaptiveColumn col1 = new AdaptiveColumn(); col1.Width = AdaptiveColumnWidth.Auto; col1.Items = new List <AdaptiveElement> { new AdaptiveImage() { Url = new Uri(c.ProfilePicture), Size = AdaptiveImageSize.Small, Style = AdaptiveImageStyle.Person } }; AdaptiveColumn col2 = new AdaptiveColumn(); col2.Width = AdaptiveColumnWidth.Stretch; col2.Items = new List <AdaptiveElement> { new AdaptiveTextBlock() { Text = $"Applied {DateTime.Today.ToString("MM/dd/yyyy")}", Wrap = true }, new AdaptiveTextBlock() { Text = $"Current role {c.CurrentRole}", Spacing = AdaptiveSpacing.None, Wrap = true, IsSubtle = true } }; headerDetails.Columns = new List <AdaptiveColumn> { col1, col2 }; AdaptiveContainer details = new AdaptiveContainer(); AdaptiveTextBlock candidateSummary = new AdaptiveTextBlock() { Text = new CandidatesDataController().GetCandidateBio(c), Wrap = true }; AdaptiveFactSet factsCol1 = new AdaptiveFactSet(); factsCol1.Facts = new List <AdaptiveFact> { new AdaptiveFact("Applied to position", c.ReqId), new AdaptiveFact("Interview date", "Not set") }; AdaptiveFactSet factsCol2 = new AdaptiveFactSet(); factsCol2.Facts = new List <AdaptiveFact> { new AdaptiveFact("Hires", c.Hires.ToString()), new AdaptiveFact("No hires", c.NoHires.ToString()) }; AdaptiveColumnSet factColumns = new AdaptiveColumnSet() { Columns = new List <AdaptiveColumn> { new AdaptiveColumn() { Items = new List <AdaptiveElement> { factsCol1 }, Width = AdaptiveColumnWidth.Stretch }, new AdaptiveColumn() { Items = new List <AdaptiveElement> { factsCol2 }, Width = AdaptiveColumnWidth.Stretch } } }; details.Items = new List <AdaptiveElement> { candidateSummary, factColumns }; card.Body.Add(details); AdaptiveImageSet referrals = new AdaptiveImageSet(); referrals.ImageSize = AdaptiveImageSize.Small; referrals.Images = new List <AdaptiveImage>(); foreach (Candidate referral in new CandidatesDataController().GetReferrals(c)) { referrals.Images.Add(new AdaptiveImage() { Url = new Uri(referral.ProfilePicture), Style = AdaptiveImageStyle.Person }); } card.Body.Add(new AdaptiveTextBlock() { Text = "Referrals", Size = AdaptiveTextSize.Large }); card.Body.Add(referrals); AdaptiveAction setInterview = new AdaptiveShowCardAction() { Title = "Set interview date", Card = new AdaptiveCard() { Body = new List <AdaptiveElement> { new AdaptiveDateInput() { Id = "InterviewDate", Placeholder = "Enter in a date for the interview" } }, Actions = new List <AdaptiveAction> { new AdaptiveSubmitAction() { Title = "OK" } } } }; AdaptiveAction setComment = new AdaptiveShowCardAction() { Title = "Add comment", Card = new AdaptiveCard() { Body = new List <AdaptiveElement> { new AdaptiveTextInput() { Id = "Comment", Placeholder = "Add a comment for this candidate", IsMultiline = true } }, Actions = new List <AdaptiveAction> { new AdaptiveSubmitAction() { Title = "OK" } } } }; card.Actions = new List <AdaptiveAction> { setInterview, setComment }; return(card); }
private AdaptiveCard SetCard() { AdaptiveCard _card = new AdaptiveCard("1.1"); var _container = new AdaptiveContainer(); var colum = new AdaptiveColumnSet(); var _columnImage = new AdaptiveColumn() { Width = AdaptiveColumnWidth.Auto }; _columnImage.Items.Add(new AdaptiveImage() { Url = new Uri(this.UrlImage), Size = AdaptiveImageSize.Small, Style = AdaptiveImageStyle.Person, AltText = "Brainy" }); var _columnContent = new AdaptiveColumn() { Width = AdaptiveColumnWidth.Stretch }; _columnContent.Items.Add(new AdaptiveTextBlock() { Text = "Brainy", Size = AdaptiveTextSize.Medium, Weight = AdaptiveTextWeight.Default, Color = AdaptiveTextColor.Default, Wrap = true, Spacing = AdaptiveSpacing.Default }); _columnContent.Items.Add(new AdaptiveTextBlock() { Text = DateTime.Now.ToString(), Size = AdaptiveTextSize.Small, Color = AdaptiveTextColor.Default, Wrap = true, IsSubtle = true, Spacing = AdaptiveSpacing.None }); var _textMessage = new AdaptiveTextBlock() { Text = this.Title, Size = AdaptiveTextSize.Medium, Color = AdaptiveTextColor.Default, Weight = AdaptiveTextWeight.Bolder, Wrap = true, IsSubtle = false }; var _textMessage2 = new AdaptiveTextBlock() { Text = this.Description, Size = AdaptiveTextSize.Normal, Color = AdaptiveTextColor.Default, Weight = AdaptiveTextWeight.Default, Wrap = true, IsSubtle = false }; colum.Columns.Add(_columnImage); colum.Columns.Add(_columnContent); _container.Items.Add(colum); _card.Body.Add(_container); _card.Body.Add(_textMessage); _card.Body.Add(_textMessage2); var video = this.Actions.Where(p => p.TypeCard == TypeCards.VIDEO).SingleOrDefault(); if (video != null) { var _video = new AdaptiveMedia(); _video.Sources.Add(new AdaptiveMediaSource() { MimeType = "video/mp4", Url = video.Result }); _card.Body.Add(_video); } _card.Actions.AddRange(this.GetAdaptiveActions()); return(_card); }