/// <summary>
        /// Показать (установить данные для показа) детальное представление объекта операции
        /// </summary>
        /// <param name="obj">Объект операции</param>
        /// <param name="app">Объект XafApplication</param>
        /// <param name="sp">Объект ShowViewParameters</param>
        /// <exception cref="System.ArgumentNullException" />
        public static void Show(this OperationObject obj, XafApplication app, ShowViewParameters sp)
        {
            if (obj == null)
            {
                throw new ArgumentNullException("obj");
            }
            if (app == null)
            {
                throw new ArgumentNullException("app");
            }
            if (sp == null)
            {
                throw new ArgumentNullException("sp");
            }

            var isComposite = obj.Children != null && obj.Children.Count > 0;
            if (isComposite)
            {
                sp.CreatedView = app.CreateDetailView(ObjectSpaceInMemory.CreateNew(), "OperationObject_DetailView_(Composite)", true, obj);
            }
            else
            {
                sp.CreatedView = app.CreateDetailView(ObjectSpaceInMemory.CreateNew(), obj);
            }

            sp.TargetWindow = TargetWindow.NewModalWindow;
            sp.Context = TemplateContext.PopupWindow;
        }
Exemple #2
0
        private static void OpenDetailView(XafApplication app)
        {
            IObjectSpace os = app.CreateObjectSpace();
            //Find an existing object.
            //Contact obj = os.FindObject<Contact>(CriteriaOperator.Parse("FirstName=?", "My Contact"));
            //Or create a new object.
            Script obj = os.CreateObject <Script>();

            obj.Name = "My Contact";
            //Save the changes if necessary.
            //os.CommitChanges();
            //Configure how our View will be displayed (all parameters except for the CreatedView are optional).
            ShowViewParameters svp = new ShowViewParameters();
            DetailView         dv  = app.CreateDetailView(os, obj);

            dv.ViewEditMode = DevExpress.ExpressApp.Editors.ViewEditMode.Edit;
            svp.CreatedView = dv;
            //svp.TargetWindow = TargetWindow.NewModalWindow;
            //svp.Context = TemplateContext.PopupWindow;
            //svp.CreateAllControllers = true;
            //You can pass custom Controllers for intercommunication or to provide a standard functionality (e.g., functionality of a dialog window).
            //DialogController dc = Application.CreateController<DialogController>();
            //svp.Controllers.Add(dc);
            // Show our View once the ShowViewParameters object is initialized.
            app.ShowViewStrategy.ShowView(svp, new ShowViewSource(null, null));
        }
Exemple #3
0
        public static DevExpress.DashboardCommon.Dashboard GetDashboard(this IDashboardDefinition dashboardDefinition,
                                                                        XafApplication application, RuleMode ruleMode, IXpandDashboardDataSourceFillService dashboardDataSourceFillService = null,
                                                                        DataSourceOptionsContainer options = null, Action <DevExpress.DashboardCommon.Dashboard> editParameters = null, Action modeParametersEdited = null)
        {
            var dashboard = dashboardDefinition.GetDashboard();

            dashboard.ApplyModel(ruleMode, dashboardDefinition, application.Model);
            var datasourceFilterList      = dashboard.CreateDashboardDatasourceFilterList(dashboardDefinition, ruleMode, application);
            var dashboardDatasourceFilter = datasourceFilterList.Filters.FirstOrDefault();

            if (modeParametersEdited != null)
            {
                if (dashboardDatasourceFilter != null)
                {
                    var detailView =
                        application.CreateDetailView(dashboardDatasourceFilter.ObjectSpace, datasourceFilterList);
                    detailView.ViewEditMode = ViewEditMode.Edit;
                    application.ShowViewStrategy.ShowViewInPopupWindow(detailView,
                                                                       () => {
                        SaveModel(datasourceFilterList, application);
                        modeParametersEdited();
                    });
                }
                return(dashboard);
            }
            ConfigureDashboard(dashboardDefinition, ruleMode, dashboardDataSourceFillService, options, editParameters, datasourceFilterList, dashboard);
            return(dashboard);
        }
Exemple #4
0
        public static void SetupDetailViewController(XafApplication application, XPObjectSpace objSpace, ViewController controller, IXPObject currentObject)
        {
            controller.Application = application;
            var view = application.CreateDetailView(objSpace, currentObject);

            controller.SetView(view);
        }
Exemple #5
0
        internal void ShowDocumentDataObject()
        {
            DetailView documentDetailView = application.CreateDetailView(objectSpace, documentData, false);

            documentDetailView.Caption = "Save Document";
            ShowViewParameters svp = new ShowViewParameters(documentDetailView);

            svp.TargetWindow = TargetWindow.NewModalWindow;
            svp.Context      = TemplateContext.PopupWindow;
            DialogController dc = application.CreateController <DialogController>();

            dc.SaveOnAccept = false;
            svp.Controllers.Add(dc);
            application.ShowViewStrategy.ShowView(svp, new ShowViewSource(null, null));
            SynchronizeDataSources();
        }
        public void ShowView(IObjectSpace objSpace, object obj)
        {
            _svp                      = new ShowViewParameters();
            _svp.CreatedView          = _app.CreateDetailView(objSpace, obj);
            _svp.TargetWindow         = TargetWindow.NewModalWindow;
            _svp.Context              = TemplateContext.PopupWindow;
            _svp.CreateAllControllers = true;

            if (Accepting != null)
            {
                _dc.Accepting += DialogController_Accepting;
            }

            _svp.Controllers.Add(_dc);
            _app.ShowViewStrategy.ShowView(_svp, new ShowViewSource(null, null));
        }
Exemple #7
0
 private static void CreateDetailView(ShowViewParameters svp, XafApplication app, string message)
 {
     svp.CreatedView          = app.CreateDetailView(ObjectSpaceInMemory.CreateNew(), new MessageBoxTextMessage(message));
     svp.TargetWindow         = TargetWindow.NewModalWindow;
     svp.Context              = TemplateContext.PopupWindow;
     svp.CreateAllControllers = true;
 }
Exemple #8
0
        public static DetailView NewDetailView(this XafApplication application, object currentObject, IModelDetailView modelDetailView = null, bool isRoot = true)
        {
            var objectSpace = application.CreateObjectSpace();

            modelDetailView ??= application.FindModelDetailView(currentObject.GetType());
            var detailView = application.CreateDetailView(objectSpace, modelDetailView, isRoot);

            detailView.CurrentObject = objectSpace.GetObject(currentObject);
            return(detailView);
        }
Exemple #9
0
        public static ObjectView NewObjectView(this XafApplication application,
                                               Type viewType, Type objectType)
        {
            if (viewType == typeof(ListView))
            {
                var listViewId       = application.FindListViewId(objectType);
                var collectionSource = application.CreateCollectionSource(application.CreateObjectSpace(), objectType, listViewId);
                return(application.CreateListView((IModelListView)application.Model.Views[listViewId], collectionSource, true));
            }
            var modelDetailView = application.Model.BOModel.GetClass(objectType).DefaultDetailView;

            return(application.CreateDetailView(application.CreateObjectSpace(), modelDetailView, true));
        }
        public static (Window window, BusinessObjects.DocumentStyleManager documentStyleManager) SetDocumentStyleManagerDetailView(
            this XafApplication application, Document document, Action <Window> windowCreated = null)
        {
            var objectSpace          = application.NonPersisteObjectSpace();
            var documentStyleManager = objectSpace.CreateObject <BusinessObjects.DocumentStyleManager>();

            documentStyleManager.Content = document.ToByteArray(DocumentFormat.OpenXml);
            documentStyleManager.SynchronizeStyles();
            var window = application.CreateViewWindow();

            windowCreated?.Invoke(window);
            window.SetView(application.CreateDetailView(objectSpace, documentStyleManager));
            return(window, documentStyleManager);
        }
        public virtual void DoProcessPairAction(String Action, String Param)
        {
            switch (Action)
            {
            case "View":
                IObjectSpace os = null;

                var obj = GetObjectByKey(Param);
                var svp = new ShowViewParameters();

                if (collection is PropertyCollectionSource)
                {
                    os = collection.ObjectSpace.CreateNestedObjectSpace();
                    svp.TargetWindow = TargetWindow.NewModalWindow;
                }
                else
                {
                    os = App.CreateObjectSpace(obj.GetType());
                    svp.TargetWindow = TargetWindow.Default;
                }

                obj = os.GetObject(obj);
                DetailView view = App.CreateDetailView(os, ListView.DetailView, true, obj);
                view.ViewEditMode = EditMode;
                svp.CreatedView   = view;
                App.ShowViewStrategy.ShowView(svp, new ShowViewSource(null, null));

                break;

            case "Mark":
                string[] marks = String.Concat(Param).Split(new string[] { "," }, StringSplitOptions.RemoveEmptyEntries);
                foreach (var mark in marks)
                {
                    if (MarkedObjects.IndexOf(mark) == -1)
                    {
                        MarkedObjects.Add(mark);
                    }
                    else
                    {
                        MarkedObjects.Remove(mark);
                    }
                }
                control.Refresh();
                CalcSelectedObjects();
                OnSelectionChanged();
                break;
            }
        }
Exemple #12
0
        private void XafBootstrapDropdownEdit_AddNew(object sender, EventArgs e)
        {
            var os = CollectionOS;

            os.Owner = null;
            var memberType = MemberInfo.MemberType;

            if (typeof(SecuritySystemUser).IsAssignableFrom(memberType))
            {
                memberType = SecuritySystem.UserType;
            }
            var obj  = os.CreateObject(memberType);
            var view = Application.CreateDetailView(os, obj, false);
            var SVP  = new ShowViewParameters(view);

            SVP.TargetWindow = TargetWindow.NewModalWindow;

            DialogController dc = Application.CreateController <DialogController>();

            dc.Accepting += new EventHandler <DialogControllerAcceptingEventArgs>(delegate
            {
                var item = obj;
                NewObjects.Add(obj);
                os.CommitChanges();
                if (IsSelector)
                {
                    DataSelector.Value = item;
                    PropertyValue      = ObjectSpace.GetObject(item);
                    DataSelector.Value = item;
                }
                else
                {
                    if (cs != null && cs.List != null)
                    {
                        cs.List.Add(item);
                    }
                    PropertyValue = ObjectSpace.GetObject(item);
                    AddObjToDropDown(item);
                    DropDown.Value = item;
                    DropDown.InnerRender();
                }
                CreateButtons();
                EditValueChangedHandler(null, EventArgs.Empty);
            });
            SVP.Controllers.Add(dc);

            Application.ShowViewStrategy.ShowView(SVP, new ShowViewSource(null, null));
        }
Exemple #13
0
        protected override void OpenSelectedItem()
        {
            var selectedReminders = GetSelectedReminders();

            if (selectedReminders.Count <= 0)
            {
                return;
            }
            var appointment        = selectedReminders[0].Appointment;
            var objectSpace        = _xafApplication.CreateObjectSpace();
            var objectType         = (Type)appointment.CustomFields[Scheduler.Reminders.SchedulerStorage.BOType];
            var obj                = objectSpace.FindObject(objectType, new BinaryOperator("Oid", appointment.Id));
            var detailView         = _xafApplication.CreateDetailView(objectSpace, obj);
            var showViewParameters = new ShowViewParameters(detailView);

            _xafApplication.ShowViewStrategy.ShowView(showViewParameters, new ShowViewSource(_xafApplication.MainWindow, null));
        }
Exemple #14
0
        public static void XafApplicationInstance(this IFaker faker, Action <XafApplication> action, Func <IList <Type> > func, Action <DetailView> viewAction, Action <Window> windowAction, params Controller[] controllers)
        {
            var            dataSet       = new DataSet();
            IObjectSpace   XPObjectSpace = ObjectSpaceInMemory.CreateNew(dataSet);
            XafApplication application   = Isolate.Fake.XafApplicationInstance(func, dataSet, controllers);

            action.Invoke(application);
            application.ShowViewStrategy = new MdiShowViewStrategy(application);
            object o          = XPObjectSpace.CreateObject(func.Invoke().ToList().First());
            var    detailView = application.CreateDetailView(XPObjectSpace, o);

            viewAction.Invoke(detailView);
            var window = application.CreateWindow(TemplateContext.View, controllers, true);

            windowAction.Invoke(window);
            window.SetView(detailView);
        }
            void ITemplate.InstantiateIn(Control container)
            {
                var    templateContainer = (GridViewPreviewRowTemplateContainer)container;
                object obj        = templateContainer.Grid.GetRow(templateContainer.VisibleIndex);
                var    detailView = _xafApplication.CreateDetailView(_objectSpace, _modelListViewPreviewRowDetailView.PreviewRowDetailView, false, obj);

                if (_controllerTypes == null || _controllerTypes.Any())
                {
                    Collection <Controller> controllers = null;
                    if (_controllerTypes != null)
                    {
                        controllers = new Collection <Controller>(_controllerTypes.Select(o => o()).Cast <Controller>().ToList());
                    }
                    _window = _xafApplication.CreateWindow(TemplateContext.View, controllers, controllers == null, true);
                    _window.SetView(detailView);
                }
                detailView.CreateControls();
                templateContainer.Controls.Add((Control)detailView.Control);
            }
        public void Proccess(CustomProcessShortcutEventArgs shortcutEventArgs)
        {
            if (shortcutEventArgs.Handled)
            {
                return;
            }
            var shortcut        = shortcutEventArgs.Shortcut;
            var modelDetailView = GetModelDetailView(shortcut);

            if ((modelDetailView != null && IsEnable(modelDetailView)))
            {
                if (CanCreate(modelDetailView.ModelClass.TypeInfo))
                {
                    shortcutEventArgs.Handled = true;
                    var    objectSpace = _application.CreateObjectSpace(modelDetailView.ModelClass.TypeInfo.Type);
                    object obj         = GetObject(shortcut, modelDetailView, objectSpace);
                    _detailView            = _application.CreateDetailView(objectSpace, modelDetailView, true, obj);
                    shortcutEventArgs.View = _detailView;
                }
            }
        }
        SetApplyTemplateStyleDetailView(this XafApplication application, Document document = null)
        {
            document ??= new RichEditDocumentServer().Document;
            var modelListView             = application.Model.BOModel.GetClass(typeof(DataObject)).DefaultListView;
            var modelDocumentStyleManager = application.Model.DocumentStyleManager();
            var applyTemplateListViewItem = modelDocumentStyleManager.ApplyTemplateListViews.AddNode <IModelApplyTemplateListViewItem>();

            applyTemplateListViewItem.ListView = modelListView;

            var dataObjectSpace = application.CreateObjectSpace();
            var dataObject      = dataObjectSpace.CreateObject <DataObject>();

            dataObject.Content = document.ToByteArray(DocumentFormat.OpenXml);
            dataObjectSpace.CommitChanges();
            var applyTemplateStyle = application.NewApplyStyleTemplate(modelListView, dataObject);
            var detailView         = application.CreateDetailView(applyTemplateStyle);
            var window             = application.CreateViewWindow();

            window.SetView(detailView);
            return(window, applyTemplateStyle);
        }
Exemple #18
0
        static View CreateView(this XafApplication application, IModelView viewModel, IObjectSpace objectSpace)
        {
            View view = null;

            switch (viewModel)
            {
            case IModelListView listViewModel: {
                var collectionSource = application.CreateCollectionSource(objectSpace, listViewModel.ModelClass.TypeInfo.Type, listViewModel.Id);
                view = application.CreateListView(listViewModel, collectionSource, true);
                break;
            }

            case IModelDetailView detailViewModel:
                view = application.CreateDetailView(objectSpace, detailViewModel, true);
                break;

            case IModelDashboardView _:
                view = application.CreateDashboardView(objectSpace, viewModel.Id, true);
                break;
            }
            return(view);
        }
        public virtual Frame GetDetailFrame(object obj, int index)
        {
            if (!framesInfoDictionary.TryGetValue(obj, out DetailFrameInfo detailFrameInfo))
            {
                var detailView  = _application.CreateDetailView(_collectionSource.ObjectSpace, Model.MasterDetailView, false, obj);
                var detailFrame = _application.CreateFrame(TemplateContext.NestedFrame);
                detailFrame.GetController <WebResetViewSettingsController>().ResetViewSettingsAction.Active.SetItemValue("PrototypeDisable", false);
                detailFrame.SetView(detailView);

                detailFrameInfo = new DetailFrameInfo
                {
                    FrameIndex  = index,
                    DetailFrame = detailFrame
                };
                framesInfoDictionary[obj] = detailFrameInfo;
            }
            else
            {
                ClearFrameInfo(detailFrameInfo);
                detailFrameInfo.DetailFrame.SetTemplate(null);
            }
            detailFrameInfo.DetailFrame.CreateTemplate();
            return(detailFrameInfo.DetailFrame);
        }
Exemple #20
0
 private static void CreateDetailView(ShowViewParameters svp, XafApplication app, string message) {
     svp.CreatedView = app.CreateDetailView(ObjectSpaceInMemory.CreateNew(), new MessageBoxTextMessage(message));
     svp.TargetWindow = TargetWindow.NewModalWindow;
     svp.Context = TemplateContext.PopupWindow;
     svp.CreateAllControllers = true;
 }