protected override void Execute(NativeActivityContext context)
        {
            var model    = Model.Get(context);
            var source   = Source.Get(context);
            var dlgmodel = new DialogSourceViewModel
            {
                PanelCaption  = model.Header,
                IsMenuVisible = IsMenuVisible.Get(context),
                FontSize      = model.FontSize
            };

            var menu = MenuItems.Get(context);

            if (menu != null && menu.Length > 0)
            {
                dlgmodel.MenuItems.AddRange(menu);
                dlgmodel.CreateMenu();
            }

            UpdateFields(source, model);
            dlgmodel.Fields.AddRange(model.Fields);
            dlgmodel.UpdateSource();
            dlgmodel.LayoutValue = Layout.Get(context);

            string menuResult;
            var    dialogResult = ShowDialog(dlgmodel, out menuResult);

            if (dialogResult)
            {
                model.Fields.Clear();
                model.Fields.AddRange(dlgmodel.Fields);
                Model.Set(context, model);
            }

            DialogResult.Set(context, dialogResult);
            if (DialogResultWithMenu != null)
            {
                DialogResultWithMenu.Set(context, menuResult);
            }
        }