private void UpdateCards(CardDataModel card)
        {
            var index = CardDataCollection.IndexOf(card);

            CardDataCollection.Remove(card);
            CardDataCollection.Insert(index, card);
        }
Exemple #2
0
        public Page1ViewModel(CardDataModel cardDataModel)
        {
            Item = cardDataModel;


            Task.Run(async() => await SomeTask());
        }
Exemple #3
0
        public Attachment GetStore(AdaptiveCardDataFactory dataFactory, string orderId)
        {
            var MenuId  = dataFactory.GetCardData <StoreOrderDuetime>().MenuID;
            var Store   = dataFactory.GetCardData <StoreOrderDuetime>().StoreName;
            var DueTime = JObject.FromObject(dataFactory.Request.Data).GetValue("DueTime").ToString();

            var cardData = new CardDataModel <StoreOrderDuetime>()
            {
                Type = "GetCustomizedMenu", Value = new StoreOrderDuetime {
                    OrderID = orderId, MenuID = MenuId, StoreName = Store, DueTime = DueTime
                }
            };                                                                                                                                                                                               //包資料到Submit Action, Type是給EchoBot判斷用的字串,Value是要傳遞資料

            var card      = new AdaptiveCard(new AdaptiveSchemaVersion(1, 2));
            var actionSet = new AdaptiveActionSet()
            {
                Type = AdaptiveActionSet.TypeName, Separator = true
            };
            var TextBlockStorName = new AdaptiveTextBlock
            {
                Size   = AdaptiveTextSize.Large,
                Weight = AdaptiveTextWeight.Bolder,
                Text   = Store,
                HorizontalAlignment = AdaptiveHorizontalAlignment.Center
            };

            card.Body.Add(TextBlockStorName);

            actionSet.Actions.Add(new AdaptiveSubmitAction().SetOpenTaskModule("Join", JsonConvert.SerializeObject(cardData)));
            card.Body.Add(actionSet);
            return(new Attachment()
            {
                ContentType = AdaptiveCard.ContentType, Content = card
            });
        }
Exemple #4
0
        //此方法已被CreateStoresModule取代
        // private Attachment CreateClickStoreModule(string Jdata)
        // {
        //     var card = new AdaptiveCard(new AdaptiveSchemaVersion(1, 2));
        //
        //     var TextBlockStorName = new AdaptiveTextBlock
        //     {
        //         Size = AdaptiveTextSize.Large,
        //         Weight = AdaptiveTextWeight.Bolder,
        //         Text = "Chose Your Order",
        //         HorizontalAlignment = AdaptiveHorizontalAlignment.Center
        //     };
        //     card.Body.Add(TextBlockStorName);
        //
        //     var root = JsonConvert.DeserializeObject<Store_List>(Jdata);
        //
        //     foreach (var s in root.Stores)
        //     {
        //         var ColumnSetitem = new AdaptiveColumnSet();
        //         StoreModule(ColumnSetitem, s.Store_Name, s.Store_Url);
        //         card.Body.Add(ColumnSetitem);
        //     }
        //
        //     //選擇時間
        //     var InputTime = new AdaptiveTimeInput();
        //     InputTime.Id = "DueTime";
        //     card.Body.Add(InputTime);
        //
        //     card.Actions = new[] { TaskModuleUIConstants.AdaptiveCard }
        //            .Select(cardType => new AdaptiveSubmitAction() { Title = "Submit", Data = new AdaptiveCardTaskFetchValue<string>() { SetType = "ResultStoreCard" } })
        //             .ToList<AdaptiveAction>();
        //     return new Attachment() { ContentType = AdaptiveCard.ContentType, Content = card };
        // }

        public async Task <Attachment> CreateStoresModule(AdaptiveCardDataFactory factory, string reserve)
        {
            var address    = factory.GetCardData <string>();
            var LatLng     = GetLatLng(address);
            var storesInfo = await new WebCrawler().GetStores2(LatLng.lat, LatLng.lng);
            var cardData   = new CardDataModel <List <Store> >();

            if (reserve == null)
            {
                cardData.Type = "ResultStoreCard";
            }
            else
            {
                cardData.Type = reserve;
            }

            var card =
                NewAdaptiveCard()
                .AddElement(new AdaptiveTextBlock
            {
                Size = AdaptiveTextSize.Large, Weight = AdaptiveTextWeight.Bolder, Text = "Chose Your Order",
                HorizontalAlignment = AdaptiveHorizontalAlignment.Center
            });

            foreach (var store in storesInfo)
            {
                card
                .AddRow(new AdaptiveColumnSet()
                        .AddCol(new AdaptiveColumn()
                                .AddElement(new AdaptiveTextBlock()
                {
                    Text = store.Store_Name, Id = "StoreName"
                }))
                        .AddCol(new AdaptiveColumn()
                                .AddElement(new AdaptiveTextBlock()
                {
                    Text = store.Store_Url, Id = "Url"
                }))
                        .AddCol(new AdaptiveColumn()
                                .AddElement(new AdaptiveToggleInput()
                {
                    Id = store.Store_Name + "&&" + store.Store_Url, Title = "Confirm"
                })));
            }

            card
            .AddElement(new AdaptiveTextInput()
            {
                Id = "DueTime"
            })
            .AddActionsSet(
                NewActionsSet()
                .AddActionToSet(new AdaptiveSubmitAction().SetSubmitTaskModule("Submit", JsonConvert.SerializeObject(cardData))));

            return(new Attachment()
            {
                ContentType = AdaptiveCard.ContentType, Content = card
            });
        }
        /// <summary>
        /// 製作收藏庫的餐廳卡片
        /// </summary>
        /// <param name="name">餐廳名稱</param>
        /// <param name="menuUrl">餐廳網址</param>
        /// <returns>可收藏的團購卡片</returns>
        public Attachment GetStore(StoreOrderDuetime OrderInfo)
        {
            var cardData = new CardDataModel <StoreOrderDuetime>()
            {
                Type  = "OpenMenuTaskModule",
                Value = OrderInfo
            };
            var objData = new Data()
            {
                msteams = new Msteams()
                {
                    type  = "invoke",
                    value = new MsteamsValue()
                    {
                        Name   = OrderInfo.StoreName,
                        Url    = OrderInfo.Url,
                        Option = "Create"
                    }
                }
            };

            //var DeleteOrderData = new Data()
            //{
            //    msteams = new Msteams()
            //    {
            //        type = "invoke",
            //        value = new MsteamsValue()
            //        {
            //            OrderId = Guid.Parse(OrderInfo.OrderID),
            //            Option = "DeleteOrder"
            //        }
            //    }
            //};

            var card = NewAdaptiveCard()
                       .AddElement(new AdaptiveTextBlock()
            {
                Text   = OrderInfo.StoreName,
                Size   = AdaptiveTextSize.Large,
                Weight = AdaptiveTextWeight.Bolder,
                HorizontalAlignment = AdaptiveHorizontalAlignment.Center
            })
                       .AddActionsSet(
                NewActionsSet()
                .AddActionToSet(new AdaptiveSubmitAction().SetOpenTaskModule("Join", JsonConvert.SerializeObject(cardData)))
                .AddActionToSet(new AdaptiveSubmitAction()
            {
                Title = "Favorite", Data = objData
            })
                //ting
                //.AddActionToSet(new AdaptiveSubmitAction() { Title = "Delete", Data = DeleteOrderData })
                );

            return(new Attachment()
            {
                ContentType = AdaptiveCard.ContentType, Content = card
            });
        }
Exemple #6
0
        public Attachment CallCustomeCard(string Id = null)
        {
            var card = new AdaptiveCard(new AdaptiveSchemaVersion(1, 2));

            var cardData = new CardDataModel <string>()
            {
                Type  = "createmenu",
                Value = Id
            };

            var ColumnSet = new AdaptiveColumnSet();

            card.Body.Add(ColumnSet);

            var Column1 = new AdaptiveColumn()
            {
                Width = AdaptiveColumnWidth.Stretch
            };

            ColumnSet.Columns.Add(Column1);

            var Column2 = new AdaptiveColumn()
            {
                Width = AdaptiveColumnWidth.Stretch
            };

            ColumnSet.Columns.Add(Column2);

            var ActionSet1 = new AdaptiveActionSet();

            ActionSet1.Actions.Add(new AdaptiveSubmitAction()
            {
                Title = "Create Store", Data = new AdaptiveCardTaskFetchValue <string>()
                {
                    Data = JsonConvert.SerializeObject(cardData)
                }
            });
            Column1.Items.Add(ActionSet1);


            var ActionSet2 = new AdaptiveActionSet();

            card.Actions.Add(new AdaptiveShowCardAction()
            {
                Title = "View Store", Card = StoreListAdaptiveCard()
            });
            Column2.Items.Add(ActionSet2);

            return(new Attachment()
            {
                ContentType = AdaptiveCard.ContentType, Content = card
            });
        }
Exemple #7
0
 private void GenerateCardModel()
 {
     for (var i = 0; i < 20; i++)
     {
         var cardData = new CardDataModel()
         {
             Title      = "CardRow-No" + i,
             Owner      = "Card-No" + i,
             AlertColor = i % 2 == 0 ? Color.Green : Color.Blue,
         };
         CardDataCollection.Add(cardData);
     }
 }
        // Will be called when user triggers messaging extension
        protected override async Task <MessagingExtensionActionResponse> OnTeamsMessagingExtensionFetchTaskAsync(ITurnContext <IInvokeActivity> turnContext, MessagingExtensionAction action, CancellationToken cancellationToken)
        {
            AdaptiveCard adaptiveCardEditor;

            try
            {
                // create task action
                var cardModel = new CardDataModel();
                if (action.CommandId.Equals("CreateCalendarEvent"))
                {
                    var taskTitle = "Enter Task Title";;
                    if (action.MessagePayload.Body.Content.ToString().Contains("attachment id"))
                    {
                        var temp          = action.MessagePayload.Attachments[0].Content.ToString();
                        var objAttachment = JsonConvert.DeserializeObject <CCCardAttachmentModel>(temp);
                        taskTitle = objAttachment.body[0].text;
                    }
                    else
                    {
                        taskTitle = action.MessagePayload.Body.Content.ToString();
                    }
                    cardModel.TaskTitle = taskTitle;
                }
                adaptiveCardEditor = AdaptiveCardHelper.CreateCardCalendarEventInputs(cardModel);
            }
            catch (Exception ex)
            {
                throw ex;
            }

            return(await Task.FromResult(new MessagingExtensionActionResponse
            {
                Task = new TaskModuleContinueResponse
                {
                    Value = new TaskModuleTaskInfo
                    {
                        Card = new Microsoft.Bot.Schema.Attachment {
                            Content = adaptiveCardEditor, ContentType = AdaptiveCard.ContentType,
                        },
                        Height = 350,
                        Width = 400,
                        Title = "Event Creation",
                    },
                },
            }));

            //Needs to be replaced with OAuth Prompt
        }
        //ting paymenturl
        public Attachment ReplyPayment(PayMentService payment, ITurnContext turnContext)
        {
            var name     = turnContext.Activity.From.Name;
            var memberId = turnContext.Activity.From.Id;
            var url      = payment.GetPay(memberId).Url;

            var cardData = new CardDataModel <StoreInfoData>() //務必按照此格式新增需要傳出去的資料
            {
                Type  = "ReplyPayment",                        //於EchoBot判斷用
                Value = new StoreInfoData()
                {
                }                               //要傳出去的資料和資料結構
            };
            var card = NewAdaptiveCard()
                       .AddElement(new AdaptiveTextBlock()
            {
                Text   = "Payment",
                Size   = AdaptiveTextSize.Large,
                Color  = AdaptiveTextColor.Good,
                Weight = AdaptiveTextWeight.Bolder,
                HorizontalAlignment = AdaptiveHorizontalAlignment.Left
            })
                       .AddElement(new AdaptiveTextBlock()
            {
                Text = url,
                Size = AdaptiveTextSize.Medium,
            })
                       .AddElement(new AdaptiveTextBlock()
            {
                Text  = name,
                Size  = AdaptiveTextSize.Small,
                Color = AdaptiveTextColor.Dark,
                HorizontalAlignment = AdaptiveHorizontalAlignment.Left
            });

            return(new Attachment()
            {
                ContentType = AdaptiveCard.ContentType, Content = card
            });
        }
Exemple #10
0
        private void Button_Clicked(object sender, EventArgs e)
        {
            string headline    = post_title.Text;
            string description = post_text.Text;

            string headtitle = "Posted by: " + GlobalVariables.current_user;

            string profileImage = "";

            CardDataModel card = new CardDataModel {
                HeadTitle     = headtitle,
                HeadLines     = headline,
                HeadLinesDesc = description,
                ProfileImage  = profileImage
            };

            CardDataViewModel cardview = new CardDataViewModel();

            cardview.AddCardModel(card);

            PopupNavigation.Instance.PopAsync(true);
        }
Exemple #11
0
        public Attachment CreateMenuOrderAttachment(string teamsId)
        {
            // combine path for cross platform support
            var paths = new[] { ".", "Resources", "MenuOrderCard.json" };

            var libraryCardJson = File.ReadAllText(Path.Combine(paths));

            var myCard    = JsonConvert.DeserializeObject <AdaptiveCard>(libraryCardJson);
            var menuOrder = FindMenuOrderByTeamsId(teamsId).ToList();

            myCard.AddElement(new AdaptiveTextInput()
            {
                Id = "DueTime"
            });

            menuOrder.ForEach(item =>
            {
                var cardData = new CardDataModel <StoreOrderDuetime>()
                {
                    Type = "GetCustomizedStore", Value = new StoreOrderDuetime {
                        MenuID = item.MenuId.ToString(), StoreName = item.Store
                    }
                };                                                                                                                                                                               //包資料到Submit Action, Type是給EchoBot判斷用的字串,Value是要傳遞資料

                ((AdaptiveChoiceSetInput)myCard.Body[1]).Choices.Add(new AdaptiveChoice()
                {
                    Title = item.Store,
                    Value = JsonConvert.SerializeObject(cardData)
                });
            });

            var adaptiveCardAttachment = new Attachment()
            {
                ContentType = "application/vnd.microsoft.card.adaptive",
                Content     = myCard
            };

            return(adaptiveCardAttachment);
        }
Exemple #12
0
        private CardDataModel MakeReceiveCardData(object cardData, BattleMgrBase mgr, WatchDataHandler handler)
        {
            Dictionary <string, object> dictionary = cardData as Dictionary <string, object>;
            CardDataModel cardDataModel            = new CardDataModel();

            if (dictionary.ContainsKey(RealTimeNetworkBattleAgent.MoveListParam.idx.ToString()))
            {
                cardDataModel.Index = Convert.ToInt32(dictionary[RealTimeNetworkBattleAgent.MoveListParam.idx.ToString()]);
            }
            else
            {
                Debug.LogError("BaseMakeReceiveCardData Not idx ", null);
            }
            if (dictionary.ContainsKey(RealTimeNetworkBattleAgent.MoveListParam.card_id.ToString()))
            {
                cardDataModel.CardId = Convert.ToInt32(dictionary[RealTimeNetworkBattleAgent.MoveListParam.card_id.ToString()]);
            }
            if (dictionary.ContainsKey(RealTimeNetworkBattleAgent.MoveListParam.to.ToString()))
            {
                cardDataModel.toState = (RealTimeNetworkBattleAgent.NetworkCardPlaceState)Convert.ToInt32(dictionary[RealTimeNetworkBattleAgent.MoveListParam.to.ToString()]);
            }
            if (dictionary.ContainsKey(RealTimeNetworkBattleAgent.MoveListParam.isSelf.ToString()))
            {
                cardDataModel.isSelf = (Convert.ToInt32(dictionary[RealTimeNetworkBattleAgent.MoveListParam.isSelf.ToString()]) != 1);
            }
            if (dictionary.ContainsKey(RealTimeNetworkBattleAgent.MoveListParam.skillIdx.ToString()))
            {
                cardDataModel.skillIndex = Convert.ToInt32(dictionary[RealTimeNetworkBattleAgent.MoveListParam.skillIdx.ToString()]);
            }
            if (dictionary.ContainsKey(RealTimeNetworkBattleAgent.MoveListParam.cost.ToString()))
            {
                cardDataModel.playCardCost = Convert.ToInt32(dictionary[RealTimeNetworkBattleAgent.MoveListParam.cost.ToString()]);
            }
            if (mgr != null)
            {
                cardDataModel.fromState = NetworkBattleTool.GetCardPlaceState(mgr.GetBattlePlayer(cardDataModel.isSelf), cardDataModel.Index);
            }
            return(cardDataModel);
        }
        public void HideOrShowCard(CardDataModel card)
        {
            if (_previousCard == card)
            {
                //clicking twice on same item will hide it
                card.IsVisible = !card.IsVisible;
                UpdateCards(card);
            }
            else
            {
                if (_previousCard != null)
                {
                    //hide previous selected item
                    _previousCard.IsVisible = false;
                    UpdateCards(_previousCard);
                }
                //show selected item
                card.IsVisible = true;
                UpdateCards(card);
            }

            _previousCard = card;
        }
Exemple #14
0
        // 此方法已被GetChooseMenuCard取代
        // private Attachment GetStore(string Address, string StoreData)
        // {
        //     var card = new AdaptiveCard(new AdaptiveSchemaVersion(1, 2));
        //     var actionSet = new AdaptiveActionSet() { Type = AdaptiveActionSet.TypeName, Separator = true };
        //     var TextBlockStorName = new AdaptiveTextBlock
        //     {
        //         Size = AdaptiveTextSize.Large,
        //         Weight = AdaptiveTextWeight.Bolder,
        //         Text = Address,
        //         HorizontalAlignment = AdaptiveHorizontalAlignment.Center
        //     };
        //     card.Body.Add(TextBlockStorName);
        //
        //     actionSet.Actions.Add(new AdaptiveSubmitAction() { Title = "Confirm", Data = new AdaptiveCardTaskFetchValue<string>() { Data = StoreData, SetType = "GetStore" } });
        //     card.Body.Add(actionSet);
        //     return new Attachment() { ContentType = AdaptiveCard.ContentType, Content = card };
        // }

        public Attachment GetChooseMenuCard(string address, bool reserve)
        {
            var cardData = new CardDataModel <string>()
            {
                Type  = reserve? "reserveStore" : "GetStore",
                Value = address
            };
            var card = NewAdaptiveCard()
                       .AddElement(new AdaptiveTextBlock
            {
                Size = AdaptiveTextSize.Large, Weight = AdaptiveTextWeight.Bolder, Text = address,
                HorizontalAlignment = AdaptiveHorizontalAlignment.Center
            })
                       .AddActionsSet(
                NewActionsSet()
                .AddActionToSet(new AdaptiveSubmitAction().SetOpenTaskModule("Choose Menu",
                                                                             JsonConvert.SerializeObject(cardData)))
                );

            return(new Attachment()
            {
                ContentType = AdaptiveCard.ContentType, Content = card
            });
        }
        public Attachment GetCustomizedModification(string Store, List <MenuDetail> menuDetails, string MenuId)
        {
            var card = new AdaptiveCard(new AdaptiveSchemaVersion(1, 2));

            string[] ItemsStoreName = new string[] { Store, "" };
            card.Body.Add(new OrderfoodServices().FixedInputTextAdjustWidthColumn(ItemsStoreName));
            string[] ItemsName         = new string[] { "Food Name", "Price" };
            var      ColumnSetitemname = new OrderfoodServices().FixedtextColumn(ItemsName);

            card.Body.Add(ColumnSetitemname);
            for (var i = 0; i < menuDetails.Count; i++)
            {
                var ColumnSetitem = new AdaptiveColumnSet();
                ColumnSetitem.Columns.Add(new OrderfoodServices().AddColumn(new OrderfoodServices().GetadaptiveText(menuDetails[i].ProductName + i.ToString(), menuDetails[i].ProductName)));
                ColumnSetitem.Columns.Add(new OrderfoodServices().AddColumn(new OrderfoodServices().GetadaptiveText(menuDetails[i].Amount + i.ToString(), decimal.Round(menuDetails[i].Amount).ToString())));
                card.Body.Add(ColumnSetitem);
            }
            var cardData = new CardDataModel <string>()
            {
                Type = "CustomizedModification", Value = MenuId
            };

            card.Actions = new[] { TaskModuleUIConstants.AdaptiveCard }
            .Select(cardType => new AdaptiveSubmitAction()
            {
                Title = cardType.ButtonTitle, Data = new AdaptiveCardTaskFetchValue <string>()
                {
                    Data = JsonConvert.SerializeObject(cardData)
                }
            })
            .ToList <AdaptiveAction>();
            return(new Attachment()
            {
                ContentType = AdaptiveCard.ContentType, Content = card
            });
        }
Exemple #16
0
        public static AdaptiveCard CreateCardCalendarEventInputs(CardDataModel cardModel)
        {
            // DateTime dueStartDate = new Date
            DateTime dueDateStart = DateTime.Now;
            DateTime dueDateEnd   = dueDateStart.AddDays(1);
            var      card         = new AdaptiveCard(new AdaptiveSchemaVersion("1.2"))
            {
                Body = new List <AdaptiveElement>
                {
                    new AdaptiveContainer()
                    {
                        Items = new List <AdaptiveElement>()
                        {
                            new AdaptiveTextBlock()
                            {
                                Id = "Header", Text = "Enter Calendar Event Details", Weight = AdaptiveTextWeight.Bolder
                            },
                        }
                    }
                },
            };

            card.Body.Add(new AdaptiveTextBlock()
            {
                Id = "LabelTitle", Text = "Event Title"
            });
            card.Body.Add(new AdaptiveTextInput()
            {
                Id = "Title", Value = cardModel.TaskTitle, IsVisible = true
            });
            card.Body.Add(new AdaptiveTextBlock()
            {
                Id = "LabelDetails", Text = "Event Details"
            });
            card.Body.Add(new AdaptiveTextInput()
            {
                Id = "Details", Placeholder = "Enter Event Details", IsVisible = true
            });

            // Row 2
            var colSet = new AdaptiveColumnSet();
            var col1   = new AdaptiveColumn();

            col1.Width = "100";
            col1.Items.Add(new AdaptiveTextBlock()
            {
                Id = "LabelStartDt", Text = "Start Date", IsVisible = true
            });
            var col2 = new AdaptiveColumn();

            col2.Width = "100";
            col2.Items.Add(new AdaptiveDateInput()
            {
                Id = "StartDt", Placeholder = "Select Date", Value = dueDateStart.ToString()
            });
            var col3 = new AdaptiveColumn();

            col3.Width = "100";
            col3.Items.Add(new AdaptiveTimeInput()
            {
                Id = "StartTime", Placeholder = "Select Time",
            });

            colSet.Columns.Add(col1);
            colSet.Columns.Add(col2);
            colSet.Columns.Add(col3);
            card.Body.Add(colSet);

            // Row 3
            var colSet2 = new AdaptiveColumnSet();
            var col21   = new AdaptiveColumn();

            col21.Width = "100";
            col21.Items.Add(new AdaptiveTextBlock()
            {
                Id = "LabelDuration", Text = "Event Duration", IsVisible = true
            });
            var col22 = new AdaptiveColumn();

            col22.Width = "100";
            col22.Items.Add(new AdaptiveChoiceSetInput
            {
                Id            = "EventDuration",
                Style         = AdaptiveChoiceInputStyle.Compact,
                Value         = "EventDuration",
                IsMultiSelect = false,
                Choices       = new List <AdaptiveChoice>
                {
                    new AdaptiveChoice()
                    {
                        Title = "15 mins", Value = "15"
                    },
                    new AdaptiveChoice()
                    {
                        Title = "30 mins", Value = "30"
                    },
                    new AdaptiveChoice()
                    {
                        Title = "45 mins", Value = "45"
                    },
                    new AdaptiveChoice()
                    {
                        Title = "1 hr", Value = "60"
                    },
                    new AdaptiveChoice()
                    {
                        Title = "2 hr", Value = "120"
                    },
                    new AdaptiveChoice()
                    {
                        Title = "3 hr", Value = "180"
                    },
                },
            }
                            );
            var col23 = new AdaptiveColumn();

            col23.Width = "100";
            col23.Items.Add(new AdaptiveTextBlock()
            {
                Id = "LabelDummy2", Text = "", IsVisible = false
            });
            colSet2.Columns.Add(col21);
            colSet2.Columns.Add(col22);
            colSet2.Columns.Add(col23);
            card.Body.Add(colSet2);

            var actionItem = new AdaptiveActionSet()
            {
                Id      = "SubmitCalendarEvent",
                Actions = new List <AdaptiveAction>
                {
                    new AdaptiveSubmitAction
                    {
                        Type  = AdaptiveSubmitAction.TypeName,
                        Title = "Create Calendar Event",
                        Id    = "SubmitCalendarEvent",
                        Data  = new JObject {
                            { "Type", "CalendarEvent" }
                        },
                    },
                },
            };

            card.Body.Add(actionItem);

            return(card);
        }
Exemple #17
0
        public void LoadCardActions(CardDataModel cardDataModel)
        {
            var aux = cardDataModel.ToActionCard();

            actionCard = aux;
        }
        public Attachment GetCustomizedModification(AdaptiveCardDataFactory dataFactory)
        {
            TeamsBuyContext context        = new TeamsBuyContext();
            var             MenuId         = dataFactory.GetCardData <ModifyData>().MenuId;
            var             menuDetails    = new MenuDetailService(context).GetMenuOrder(MenuId).ToList();
            var             MenuOrderStore = new MenuService(context).GetMenuOrder(MenuId).Store;
            var             ModifyData     = new CardDataModel <ModifyData>()
            {
                Type  = "CustomizedModification",
                Value = new ModifyData()
                {
                    MenuId = MenuId
                }
            };

            string[] ItemsName = new string[] { "Food Name", "Price" };
            var      card      =
                NewAdaptiveCard()
                .AddRow(new AdaptiveColumnSet()
            {
                Separator = true
            }
                        .AddCol(new AdaptiveColumn()
                                .AddElement(new AdaptiveTextInput()
            {
                Id = MenuOrderStore + "1", Value = MenuOrderStore
            }))
                        .AddCol(new AdaptiveColumn()
                                .AddElement(new AdaptiveTextBlock()
            {
                Text = ""
            })
                                ))
                .AddRow(new AdaptiveColumnSet().
                        AddColumnsWithStrings(ItemsName)
                        );

            for (var i = 0; i < menuDetails.Count; i++)
            {
                card.AddRow(new AdaptiveColumnSet()      //加入一列到卡片裡
                            .AddCol(new AdaptiveColumn() //加入一欄位到一列
                                    .AddElement(new AdaptiveTextInput()
                {
                    Id = menuDetails[i].ProductName + i.ToString(), Value = menuDetails[i].ProductName
                })                                       //在欄位內加入餐點名稱的文字
                                    )
                            .AddCol(new AdaptiveColumn() //加入一欄位到一列
                                    .AddElement(new AdaptiveTextInput()
                {
                    Id = menuDetails[i].Amount + i.ToString(), Value = decimal.Round(menuDetails[i].Amount).ToString()
                })                                                                                                                                                          //加入餐點價格
                                    )
                            );
            }
            card
            .AddActionsSet(
                NewActionsSet()
                .AddActionToSet(
                    new AdaptiveSubmitAction().SetOpenTaskModule("Edit", JsonConvert.SerializeObject(ModifyData))   //勿必要將傳出去的資料進行Serialize
                    )
                );
            return(new Attachment()
            {
                ContentType = AdaptiveCard.ContentType, Content = card
            });
        }
Exemple #19
0
        public static AdaptiveCard CreateCardToDoTaskInputs(CardDataModel cardModel)
        {
            // DateTime dueStartDate = new Date
            DateTime dueDateStart = DateTime.Now;
            DateTime dueDateEnd   = dueDateStart.AddDays(1);

            return(new AdaptiveCard(new AdaptiveSchemaVersion("1.2"))
            {
                Body = new List <AdaptiveElement>
                {
                    new AdaptiveContainer()
                    {
                        Items = new List <AdaptiveElement>()
                        {
                            new AdaptiveTextBlock()
                            {
                                Id = "Header", Text = "Enter New ToDo Task Details", Weight = AdaptiveTextWeight.Bolder
                            },

                            new AdaptiveTextBlock()
                            {
                                Id = "TitleText", Text = "ToDo Task Title"
                            },
                            new AdaptiveTextInput()
                            {
                                Id = "Title", Value = cardModel.TaskTitle, IsVisible = true
                            },

                            new AdaptiveTextBlock()
                            {
                                Id = "TitleStartDt", Text = "Start Date", IsVisible = true
                            },
                            new AdaptiveDateInput()
                            {
                                Id = "StartDate", Placeholder = "Start date", Value = dueDateStart.ToString(), IsVisible = true
                            },

                            new AdaptiveTextBlock()
                            {
                                Id = "TitleDueDt", Text = "Due Date", IsVisible = true
                            },
                            new AdaptiveDateInput()
                            {
                                Id = "DueDate", Placeholder = "Due date", Value = dueDateEnd.ToString()
                            },

                            new AdaptiveActionSet()
                            {
                                Id = "SubmitToDoAction",
                                Actions = new List <AdaptiveAction>
                                {
                                    new AdaptiveSubmitAction
                                    {
                                        Type = AdaptiveSubmitAction.TypeName,
                                        Title = "Create ToDo Task",
                                        Id = "SubmitToDoTask",
                                        Data = new JObject {
                                            { "Type", "ToDoTask" }
                                        },
                                    },
                                },
                            },
                        }
                    }
                },
            });
        }
Exemple #20
0
 public StrategieDetailViewModel(CardDataModel item)
 {
     StrategieItem = item;
 }
        public Attachment GetResultTotal(string OrderId, string StoreName, string Orderfoodjson, string DueTime)
        {
            string[] ItemsName = new string[] { "Food Name", "Price", "Quantity", "Remarks", "Total" };

            var ResultTotalData  = new ResultTotalModule();
            var ResultTotalItems = new List <ResultTotalItemsGroupModule>();

            ResultTotalData.OrderId   = OrderId;
            ResultTotalData.StoreName = StoreName;
            ResultTotalData.DueTime   = DueTime;
            //新增一基本卡片,並且附加此訂單的Guid、餐廳名稱、欄位名稱等文字訊息
            var card = NewAdaptiveCard()
                       .AddElement(new AdaptiveTextBlock() //加入訂單Guid
            {
                Text   = OrderId,
                Size   = AdaptiveTextSize.Small,
                Weight = AdaptiveTextWeight.Bolder,
                HorizontalAlignment = AdaptiveHorizontalAlignment.Right
            })
                       .AddElement(new AdaptiveTextBlock() //加入餐廳名稱
            {
                Text   = StoreName + "訂單",
                Size   = AdaptiveTextSize.Small,
                Weight = AdaptiveTextWeight.Bolder,
                HorizontalAlignment = AdaptiveHorizontalAlignment.Right
            })
                       .AddRow(new AdaptiveColumnSet()           //加入一列到卡片裡
                               .AddColumnsWithStrings(ItemsName) //加入欄位名稱到一列
                               );

            var root = JsonConvert.DeserializeObject <AllTotalItemsGroups>(Orderfoodjson);

            //此訂單的總花費
            decimal TotalMoney = 0;

            for (int i = 0; i < root.AllTotalItems.Count; i++)
            {
                for (int j = 0; j < 1; j++)
                {
                    int     TotalQuantity  = 0;
                    string  TotalOrderName = "";
                    decimal TotalMoneyItem = 0;

                    for (int z = 0; z < root.AllTotalItems[i].TotalItemsGroup.Count; z++)
                    {
                        var TotalSungleMoney = GetTotalMoney(root.AllTotalItems[i].TotalItemsGroup[z].Quantity.ToString(), root.AllTotalItems[i].Price.ToString());
                        TotalMoneyItem = TotalMoneyItem + TotalSungleMoney;
                        var QuantityInt = root.AllTotalItems[i].TotalItemsGroup[z].Quantity;
                        TotalQuantity = TotalQuantity + QuantityInt;
                        var OrderName = root.AllTotalItems[i].TotalItemsGroup[z].UserName;
                        TotalOrderName = TotalOrderName + "," + OrderName;
                    }
                    TotalMoney = TotalMoney + TotalMoneyItem;
                    var TotalItemMoney = root.AllTotalItems[i].Price * TotalQuantity;
                    card.AddRow(new AdaptiveColumnSet()      //加入一列到卡片裡
                                .AddCol(new AdaptiveColumn() //加入一欄位到一列
                                        .AddElement(new AdaptiveTextBlock()
                    {
                        Text = root.AllTotalItems[i].Dish_Name
                    })                                       //在欄位內加入餐點名稱的文字
                                        )
                                .AddCol(new AdaptiveColumn() //加入一欄位到一列
                                        .AddElement(new AdaptiveTextBlock()
                    {
                        Text = decimal.Round(root.AllTotalItems[i].Price).ToString()
                    })                                       //加入餐點價格
                                        )
                                .AddCol(new AdaptiveColumn() //加入一欄位到一列
                                        .AddElement(new AdaptiveTextBlock()
                    {
                        Text = TotalQuantity.ToString()
                    })                                       //加入餐點數量
                                        )
                                .AddCol(new AdaptiveColumn() //加入一欄位到一列
                                        .AddElement(new AdaptiveTextBlock()
                    {
                        Text = TotalOrderName.TrimStart(',')
                    })                                       //加入備註
                                        )
                                .AddCol(new AdaptiveColumn() //加入一欄位到一列
                                        .AddElement(new AdaptiveTextBlock()
                    {
                        Text = decimal.Round(TotalItemMoney).ToString()
                    })                                                                                                   //加入此餐點的總價
                                        )

                                );
                    ResultTotalItems.Add(new ResultTotalItemsGroupModule()
                    {
                        Dish_Name = root.AllTotalItems[i].Dish_Name, Price = root.AllTotalItems[i].Price, TotalQuantity = TotalQuantity, TotalOrderName = TotalOrderName.TrimStart(','), TotalItemMoney = TotalItemMoney
                    });
                }
            }
            ResultTotalData.AllTotalItems = ResultTotalItems;
            ResultTotalData.TotalMoney    = TotalMoney;
            var ResultTotalCardData = new CardDataModel <ResultTotalModule>() //務必按照此格式新增需要傳出去的資料
            {
                Type  = "GetResultTotalFromModule",                           //於EchoBot判斷用
                Value = ResultTotalData                                       //要傳出去的資料和資料結構
            };



            string[] TimeAndTotalMoney = new string[] { "DueTime", DueTime, "", "Total Amount:", decimal.Round(TotalMoney).ToString() };
            card.AddRow(new AdaptiveColumnSet()                      //加入一列到卡片裡
                        .FixedtextColumnLeftColor(TimeAndTotalMoney) //加入欄位名稱到一列
                        )
            .AddActionsSet(
                NewActionsSet()
                .AddActionToSet(
                    new AdaptiveSubmitAction().SetOpenTaskModule("View", JsonConvert.SerializeObject(ResultTotalCardData))    //勿必要將傳出去的資料進行Serialize
                    ));
            return(new Attachment()
            {
                ContentType = AdaptiveCard.ContentType, Content = card
            });
        }
Exemple #22
0
 // Adds a new card to the database, Wrapper Method
 public async void AddCardModel(CardDataModel card)
 {
     await App.Database.SaveArticleAsync(card);
 }
        //ting create menu detail
        public Attachment GetCreateMenuDetail(string storeId)
        {
            var guid = storeId;

            var cardData = new CardDataModel <StoreInfoData>() //務必按照此格式新增需要傳出去的資料
            {
                Type  = "GetCustomizedMenuDetail",             //於EchoBot判斷用
                Value = new StoreInfoData()
                {
                    Guid = guid
                }                                           //要傳出去的資料和資料結構
            };
            var itemsName = new string[] { "Name", "Price" };
            var card      = NewAdaptiveCard()
                            .AddRow(new AdaptiveColumnSet()
            {
                Separator = true
            }
                                    .AddCol(new AdaptiveColumn()
            {
                Width = "80"
            }
                                            .AddElement(new AdaptiveTextBlock()
            {
                Size = (AdaptiveTextSize)2, Weight = (AdaptiveTextWeight)2, Text = "Name", Color = (AdaptiveTextColor)5
            }))                                                                                                                                                           //Input相關的一定要給ID,且每個ID必須不一樣,否則傳回TaskModuleSubmit的時候會抓不到
                                    .AddCol(new AdaptiveColumn()
            {
                Width = "20"
            }
                                            .AddElement(new AdaptiveTextBlock()
            {
                Text = "Price", Size = (AdaptiveTextSize)2, Weight = (AdaptiveTextWeight)2, Color = (AdaptiveTextColor)5
            }))
                                    );

            for (int i = 0; i < 20; i++)
            {
                card
                .AddRow(new AdaptiveColumnSet()
                {
                    Separator = true
                }
                        .AddCol(new AdaptiveColumn()
                {
                    Width = "65"
                }
                                .AddElement(new AdaptiveTextInput()
                {
                    Placeholder = "Name", Id = $"name&{i}"
                }))                                                                                          //Input相關的一定要給ID,且每個ID必須不一樣,否則傳回TaskModuleSubmit的時候會抓不到
                        .AddCol(new AdaptiveColumn()
                {
                    Width = "3"
                }
                                .AddElement(new AdaptiveTextBlock()
                {
                    Text = "$", Size = (AdaptiveTextSize)3, HorizontalAlignment = (AdaptiveHorizontalAlignment)2
                }))

                        .AddCol(new AdaptiveColumn()
                {
                    Width = "20"
                }
                                .AddElement(new AdaptiveNumberInput()
                {
                    Placeholder = "Price", Id = $"price&{i}"
                }))                                                                                               //Input相關的一定要給ID,且每個ID必須不一樣,否則傳回TaskModuleSubmit的時候會抓不到
                        );
            }
            card
            .AddActionsSet(
                NewActionsSet()
                .AddActionToSet(
                    new AdaptiveSubmitAction().SetSubmitTaskModule("Create", JsonConvert.SerializeObject(cardData))    //勿必要將傳出去的資料進行Serialize
                    )
                );
            return(new Attachment()
            {
                ContentType = AdaptiveCard.ContentType, Content = card
            });
        }
        public Attachment GetChosenFoodFromMenu(AdaptiveCardDataFactory dataFactory)
        {
            var orderData = dataFactory.GetOrderedFoods(); //使用者的訂購資訊

            if (orderData == null)                         //防呆:使用者在數量那邊輸入負值
            {
                return(GetError("The numbers of products in the order cannot be negative."));
            }
            else if (orderData.Count == 0)//防呆:使用者沒有點任何東西就submit
            {
                return(GetError("You order nothing."));
            }
            var itemsName = new string[] { "食物名稱", "價錢", "數量", "備註", "單品總金額" }; //顯示於TaskModule上方的欄位名稱

            var cardData               = dataFactory.GetCardData <StoreOrderDuetime>();
            var ChosencardData         = new GetChosenData();
            var GetAllChosenDataGroups = new List <GetChosenDataGroups>();

            ChosencardData.UserID    = dataFactory.TurnContext.Activity.From.Id;
            ChosencardData.DueTime   = cardData.DueTime;
            ChosencardData.StoreName = cardData.StoreName;
            ChosencardData.UserName  = dataFactory.TurnContext.Activity.From.Name;
            //新增一基本卡片,並且附加此訂單的Guid、餐廳名稱、欄位名稱等文字訊息
            var card = NewAdaptiveCard()
                       .AddElement(new AdaptiveTextBlock() //加入訂單Guid
            {
                Text   = cardData.OrderID,
                Size   = AdaptiveTextSize.Small,
                Weight = AdaptiveTextWeight.Bolder,
                HorizontalAlignment = AdaptiveHorizontalAlignment.Right
            })
                       .AddElement(new AdaptiveTextBlock() //加入餐廳名稱
            {
                Text   = cardData.StoreName + "訂單",
                Size   = AdaptiveTextSize.Small,
                Weight = AdaptiveTextWeight.Bolder,
                HorizontalAlignment = AdaptiveHorizontalAlignment.Right
            })
                       .AddRow(new AdaptiveColumnSet()           //加入一列到卡片裡
                               .AddColumnsWithStrings(itemsName) //加入欄位名稱到一列
                               );

            //此訂單的總花費
            decimal totalMoney = 0;

            //將SelectMenuDatagroup的資訊(菜色名稱、單價、數量、備註、總額),逐一附加到卡片內
            foreach (var p in orderData)
            {
                //如果沒有這道菜點餐,那就不用計算、也不用顯示
                if (p.Quantity != "0")
                {
                    //獲取此餐點的總價:數量x單價
                    var totalSingleMoney = GetTotalMoney(p.Quantity, p.Price);

                    //將此餐點的總額計入此訂單的總價
                    totalMoney += totalSingleMoney;

                    //在卡片內加入一列,在一列中加入五個欄位並猜入不同資訊
                    card.AddRow(new AdaptiveColumnSet()      //加入一列到卡片裡
                                .AddCol(new AdaptiveColumn() //加入一欄位到一列
                                        .AddElement(new AdaptiveTextBlock()
                    {
                        Text = p.Dish_Name
                    })                                       //在欄位內加入餐點名稱的文字
                                        )
                                .AddCol(new AdaptiveColumn() //加入一欄位到一列
                                        .AddElement(new AdaptiveTextBlock()
                    {
                        Text = decimal.Round(decimal.Parse(p.Price)).ToString()
                    })                                       //加入餐點價格
                                        )
                                .AddCol(new AdaptiveColumn() //加入一欄位到一列
                                        .AddElement(new AdaptiveTextBlock()
                    {
                        Text = p.Quantity
                    })                                       //加入餐點數量
                                        )
                                .AddCol(new AdaptiveColumn() //加入一欄位到一列
                                        .AddElement(new AdaptiveTextBlock()
                    {
                        Text = p.Remarks
                    })                                       //加入備註
                                        )
                                .AddCol(new AdaptiveColumn() //加入一欄位到一列
                                        .AddElement(new AdaptiveTextBlock()
                    {
                        Text = decimal.Round(totalSingleMoney).ToString()
                    })                                                                                                     //加入此餐點的總價
                                        )
                                );
                    GetAllChosenDataGroups.Add(new GetChosenDataGroups()
                    {
                        ProductName = p.Dish_Name, Amount = decimal.Parse(p.Price), Number = int.Parse(p.Quantity), Mark = p.Remarks, TotalItemMoney = totalSingleMoney
                    });
                }
            }
            ChosencardData.GetAllChosenDatas = GetAllChosenDataGroups;
            var GetChosencardData = new CardDataModel <GetChosenData>() //務必按照此格式新增需要傳出去的資料
            {
                Type  = "GetChosenFoodFromMenuData",                    //於EchoBot判斷用
                Value = ChosencardData                                  //要傳出去的資料和資料結構
            };
            //顯示於TaskModule下方的文字資訊
            var timeAndTotalMoney = new string[] { "DueTime", cardData.DueTime, "", "總金額:", decimal.Round(totalMoney).ToString() };

            //將其他資訊加入至卡片內
            card.AddRow(new AdaptiveColumnSet()                   //加入一列到卡片裡
                        .AddColumnsWithStrings(timeAndTotalMoney) //將文字資訊變為欄位並且加入至一列中
                        )
            .AddElement(new AdaptiveTextBlock()                   //加入訂購者名稱至卡片
            {
                Text   = dataFactory.TurnContext.Activity.From.Name,
                Size   = AdaptiveTextSize.Large,
                Weight = AdaptiveTextWeight.Bolder,
                HorizontalAlignment = AdaptiveHorizontalAlignment.Center
            })
            .AddActionsSet(
                NewActionsSet()
                .AddActionToSet(
                    new AdaptiveSubmitAction().SetOpenTaskModule("View", JsonConvert.SerializeObject(GetChosencardData))    //勿必要將傳出去的資料進行Serialize
                    )
                );
            //回傳卡片
            return(new Attachment()
            {
                ContentType = AdaptiveCard.ContentType, Content = card, Name = "SingleOrderResult"
            });
        }
        public async Task <Attachment> CreateMenu(AdaptiveCardDataFactory dataFactory)
        {
            var storeData = dataFactory.GetCardData <StoreOrderDuetime>();

            var cardData = new CardDataModel <StoreOrderDuetime>() //務必按照此格式新增需要傳出去的資料
            {
                Type  = "FetchSelectedFoods",                      //於EchoBot判斷用
                Value = storeData                                  //要傳出去的資料和資料結構
            };
            var itemsName = new string[] { "菜名", "價錢", "數量", "備註" };

            var card = NewAdaptiveCard()
                       .AddElement(new AdaptiveTextBlock()
            {
                Text   = storeData.OrderID,
                Size   = AdaptiveTextSize.Small,
                Weight = AdaptiveTextWeight.Bolder,
                HorizontalAlignment = AdaptiveHorizontalAlignment.Right
            })
                       .AddElement(new AdaptiveTextBlock()
            {
                Text   = storeData.StoreName,
                Size   = AdaptiveTextSize.Large,
                Weight = AdaptiveTextWeight.Bolder,
                HorizontalAlignment = AdaptiveHorizontalAlignment.Center
            })
                       .AddRow(new AdaptiveColumnSet()
                               .AddColumnsWithStrings(itemsName)
                               );

            var foods = await new WebCrawler().GetOrderInfo2(storeData.Url);

            for (int i = 0; i < foods.Count; i++)
            {
                card
                .AddRow(new AdaptiveColumnSet()
                {
                    Separator = true
                }
                        .AddCol(new AdaptiveColumn()
                                .AddElement(new AdaptiveTextBlock()
                {
                    Text = foods[i].Dish_Name
                }))
                        .AddCol(new AdaptiveColumn()
                                .AddElement(new AdaptiveTextBlock()
                {
                    Text = decimal.Round(foods[i].Price).ToString()
                }))
                        .AddCol(new AdaptiveColumn()
                                .AddElement(new AdaptiveNumberInput()
                {
                    Min = 0, Value = 0, Id = $"{foods[i].Dish_Name}&&{foods[i].Price}"
                }))                                                                                                                        //Input相關的一定要給ID,且每個ID必須不一樣,否則傳回TaskModuleSubmit的時候會抓不到
                        .AddCol(new AdaptiveColumn()
                                .AddElement(new AdaptiveTextInput()
                {
                    Placeholder = "備註", Id = $"{foods[i].Dish_Name}&&mark"
                }))
                        );
            }

            card.AddElement(new AdaptiveTextBlock()
            {
                Text   = $"Due Time: {storeData.DueTime}",
                Size   = AdaptiveTextSize.Medium,
                Weight = AdaptiveTextWeight.Bolder,
                HorizontalAlignment = AdaptiveHorizontalAlignment.Left
            })
            .AddActionsSet(
                NewActionsSet()
                .AddActionToSet(
                    new AdaptiveSubmitAction().SetOpenTaskModule("Order", JsonConvert.SerializeObject(cardData))    //勿必要將傳出去的資料進行Serialize
                    )
                );
            return(new Attachment()
            {
                ContentType = AdaptiveCard.ContentType, Content = card
            });
        }
Exemple #26
0
        private AdaptiveColumnSet StoreItems(string Storename, Guid MenuId)
        {
            var ModifyData = new CardDataModel <ModifyData>()
            {
                Type  = "CustomizedModification",
                Value = new ModifyData()
                {
                    MenuId = MenuId.ToString()
                }
            };

            var DeleteMenuDate = new Data()
            {
                msteams = new Msteams()
                {
                    type  = "invoke",
                    value = new MsteamsValue()
                    {
                        MenuId = MenuId,
                        Option = "DeleteMenu"
                    }
                }
            };

            var cardData = new CardDataModel <string>()
            {
                Type  = "CreateMenuDetail",
                Value = MenuId.ToString()
            };

            var MainColumnSet = new AdaptiveColumnSet();

            var Column1 = new AdaptiveColumn();

            MainColumnSet.Columns.Add(Column1);

            var StoreName = new AdaptiveTextBlock()
            {
                Text = Storename, Height = AdaptiveHeight.Stretch, Weight = AdaptiveTextWeight.Bolder
            };

            Column1.Items.Add(StoreName);

            var Column2 = new AdaptiveColumn()
            {
                Width = AdaptiveColumnWidth.Auto
            };

            MainColumnSet.Columns.Add(Column2);

            var ChildColumnSet = new AdaptiveColumnSet();

            Column2.Items.Add(ChildColumnSet);

            var CreateColumn = new AdaptiveColumn()
            {
                Width = AdaptiveColumnWidth.Auto
            };

            ChildColumnSet.Columns.Add(CreateColumn);

            var CreateActionSet = new AdaptiveActionSet();

            CreateActionSet.Actions.Add(new AdaptiveSubmitAction()
            {
                Title = "Create", Data = new AdaptiveCardTaskFetchValue <string>()
                {
                    Data = JsonConvert.SerializeObject(cardData)
                }
            });
            CreateColumn.Items.Add(CreateActionSet);

            var EditColumn = new AdaptiveColumn()
            {
                Width = AdaptiveColumnWidth.Auto
            };

            ChildColumnSet.Columns.Add(EditColumn);

            var EditActionSet = new AdaptiveActionSet();

            EditActionSet.Actions.Add(new AdaptiveSubmitAction().SetOpenTaskModule("Edit", JsonConvert.SerializeObject(ModifyData)));
            EditColumn.Items.Add(EditActionSet);

            var DeleteColumn = new AdaptiveColumn()
            {
                Width = AdaptiveColumnWidth.Auto
            };

            ChildColumnSet.Columns.Add(DeleteColumn);

            var DeleteActionSet = new AdaptiveActionSet();

            DeleteActionSet.Actions.Add(new AdaptiveSubmitAction()
            {
                Title = "Delete", Data = DeleteMenuDate
            });
            DeleteColumn.Items.Add(DeleteActionSet);

            return(MainColumnSet);
        }