Example #1
0
 void object_CustomProcessSelectedItem(object sender, CustomProcessListViewSelectedItemEventArgs e)
 {
     if (View.ObjectSpace.ModifiedObjects.Contains(e.InnerArgs.CurrentObject))
     {
         View.ObjectSpace.CommitChanges();
     }
 }
Example #2
0
 private void lvpcoc_CustomProcessSelectedItem(object sender, CustomProcessListViewSelectedItemEventArgs e)
 {
     if (Dashboard != null)
     {
         var listView = Dashboard.Items.OfType <DashboardViewItem>().SingleOrDefault(x =>
         {
             var t = x.Model as IModelAdmiralDashboardViewItem;
             return(t != null && t.ItemType == "ListView");
         });
         if (listView != null)
         {
             var lv = listView.InnerView as ListView;
             if (lv != null)
             {
                 var editor = lv.Editor as ISupportFilter;
                 var mem    = lv.Model.ModelClass.FindMember(ViewItem.TargetFilterPropertyName);
                 if (mem != null)
                 {
                     e.Handled = true;
                     var xp  = e.InnerArgs.CurrentObject as XPCustomObject;
                     var key = mem.MemberInfo.MemberTypeInfo.DefaultMember.Name;
                     editor.Filter = CriteriaOperator.Parse(mem.Name + "." + key + "=?", xp.GetMemberValue(key)).ToString();
                 }
             }
             //listView.Control
         }
     }
 }
        void l_CustomProcessSelectedItem(object sender, CustomProcessListViewSelectedItemEventArgs e)
        {
            e.Handled = true;
            var nf = Frame as NestedFrame;

            if (nf != null && nf.ViewItem.CurrentObject is ISuperLookupHelper)
            {
                //var s = nf.ViewItem.CurrentObject as ISuperLookupHelper;
                //s.OnSelected(e.InnerArgs.CurrentObject);

                return;
            }

            if (View is ListView && ((ListView)View).Editor is ASPxGridListEditor)
            {
                return;

                ASPxGridView grid = ((ASPxGridListEditor)((ListView)View).Editor).Grid;
                if (grid != null)
                {
                    int visibleIndex = grid.FindVisibleIndexByKeyValue(View.ObjectSpace.GetKeyValue(e.InnerArgs.CurrentObject));
                    grid.StartEdit(visibleIndex);
                }
            }
        }
Example #4
0
        private void Lvpcoc_CustomProcessSelectedItem(object sender, CustomProcessListViewSelectedItemEventArgs e)
        {
            DetailView createdView = Application.CreateDetailView(ObjectSpace, (NewEventScore)View.CurrentObject, false);

            createdView.ViewEditMode = ViewEditMode.Edit;
            e.InnerArgs.ShowViewParameters.CreatedView = createdView;
            e.Handled = true;
        }
 private void controller_CustomProcessSelectedItem(object sender, CustomProcessListViewSelectedItemEventArgs e)
 {
     //if (Frame.Context.Name == TemplateContext.LookupControl || Frame.Context.Name == TemplateContext.LookupWindow) return;
     if (WhenControllerWorking)
     {
         showDV(sender, e);
         e.Handled = true;
     }
 }
        void pc_CustomProcessSelectedItem(object sender, CustomProcessListViewSelectedItemEventArgs e)
        {
            var obj = this.View.CurrentObject as ISuperLookupHelper;

            if (obj != null)
            {
                obj.OnSelected(e.InnerArgs.CurrentObject);
                Frame.GetController <DialogController>().AcceptAction.DoExecute();
            }
        }
        private void OnCustomProcessSelectedItem(object sender, CustomProcessListViewSelectedItemEventArgs e)
        {
            e.Handled = true;
            var    shortcut       = new ViewShortcut(GetViewId(e.InnerArgs.CurrentObject), ObjectSpace.GetKeyValueAsString(e.InnerArgs.CurrentObject));
            var    requestManager = ((WebApplication)Application).RequestManager;
            string hashUrl        = requestManager.GetQueryString(shortcut);
            var    script         = $"window.open('{HttpContext.Current.Request.Url}#{hashUrl}','_blank');";

            WebWindow.CurrentRequestWindow.RegisterStartupScript($"WindowOpen{View.ObjectTypeInfo.FullName}-{ObjectSpace.GetKeyValue(e.InnerArgs.CurrentObject)}", script, true);
        }
Example #8
0
 void OnCustomProcessSelectedItem(object sender, CustomProcessListViewSelectedItemEventArgs e)
 {
     if (_ruleForCustomProcessSelectedItem != null)
     {
         e.Handled = true;
         var objectSpace           = Application.CreateObjectSpace();
         var o                     = objectSpace.GetObject(e.InnerArgs.CurrentObject);
         var startUpInfoController = MakeRulesApplicable(o, _ruleForCustomProcessSelectedItem);
         var showViewParameters    = e.InnerArgs.ShowViewParameters;
         showViewParameters.Controllers.Add(startUpInfoController);
         showViewParameters.CreatedView    = Application.CreateDetailView(objectSpace, _ruleForCustomProcessSelectedItem.DetailView, true, o);
         _ruleForCustomProcessSelectedItem = null;
     }
 }
Example #9
0
        void OnCustomProcessSelectedItem(object sender, CustomProcessListViewSelectedItemEventArgs e)
        {
            if (e.Handled)
            {
                return;
            }
            var model = ((IModelListViewProcessSelectedItem)View.Model).ProccessListViewSelectItem;

            if (model.AllowAllControllers.HasValue)
            {
                e.InnerArgs.ShowViewParameters.CreateAllControllers = model.AllowAllControllers.Value;
            }
            if (model.NewWindowTarget.HasValue)
            {
                e.InnerArgs.ShowViewParameters.NewWindowTarget = model.NewWindowTarget.Value;
            }
            if (model.TargetWindow.HasValue)
            {
                e.InnerArgs.ShowViewParameters.TargetWindow = model.TargetWindow.Value;
            }
            if (model.Handled.HasValue)
            {
                e.Handled = model.Handled.Value;
            }
            if (model.Action != null)
            {
                var allActions = Frame.Controllers.Cast <Controller>().SelectMany(controller => controller.Actions);
                var actionBase = allActions.SingleOrDefault(action => action.Id == model.Action.Id);
                if (actionBase != null)
                {
                    var doExecute = actionBase.DoExecute();
                    if (!doExecute)
                    {
                        e.Handled = model.HandledOnActionNonExecution;
                    }
                }
            }
            if (model.DetailView != null && View != null)
            {
                var    objectSpace   = Application.CreateObjectSpace(model.DetailView.ModelClass.TypeInfo.Type);
                object currentObject = objectSpace.GetObject(View.CurrentObject);
                e.InnerArgs.ShowViewParameters.CreatedView = Application.CreateDetailView(objectSpace, model.DetailView.Id, true, currentObject);
            }
        }
        void controller_CustomProcessSelectedItem(object sender, CustomProcessListViewSelectedItemEventArgs e)
        {
            GridListEditor editor = View.Editor as GridListEditor;

            if (editor == null)
            {
                return;
            }
            GridHitInfo ghi = editor.GridView.CalcHitInfo(editor.Grid.PointToClient(System.Windows.Forms.Control.MousePosition));

            if (ghi.InRowCell)
            {
                object data = editor.GridView.GetRowCellValue(ghi.RowHandle, ghi.Column);
                if (data is Image)
                {
                    ShowImageDialog((Image)data);
                    e.Handled = true;
                }
            }
        }
 void OnCustomProcessSelectedItem(object sender, CustomProcessListViewSelectedItemEventArgs customProcessListViewSelectedItemEventArgs) {
     _logicRuleExecutor.Execute(ExecutionContext.CustomProcessSelectedItem, customProcessListViewSelectedItemEventArgs,View);
 }
        private void processCurrentObjectController_CustomProcessSelectedItem(object sender, CustomProcessListViewSelectedItemEventArgs e)
        {
            //// возможное исправление дефекта #4095
            //// сохранять изменения перед переходом на DetailView обследования
            //this.ObjectSpace.Refresh();

            if (editExamination == true) { editExamination = false; return; }

            e.Handled = true;

            // открываем обследование по DoubleClick (см.задача #4569)
            IExamination examination = e.InnerArgs.CurrentObject as IExamination;
            if (examination != null)
            {
                //Console.WriteLine(examination.ObjectCode);

                RunDynamicModuleController controller = Frame.GetController<RunDynamicModuleController>();
                if (controller != null)
                {
                    controller.ControlActionByByCurrentExaminationsoftType(examination);
                    var action = controller.Actions.FirstOrDefault(a => a.Id == "ResumeOpenExamination") as SingleChoiceAction;
                    if (action != null)
                    {// проверяем разрешения
                        if (action.Active["Security"] == true && action.Enabled["IsBusy"] == true)
                        {
                            var item = action.Items.FirstOrDefault();
                            if (item != null)
                            {
                                Nostrum.XDynamicModule.ExecuteCommand command = (Nostrum.XDynamicModule.ExecuteCommand)item.Data;
                                //action.DoExecute(item);
                                controller.ExistExaminationExecute(command);
                            }
                        }
                    }
                }
            }
        }
 void ListViewProcessCurrentObjectControllerOnCustomProcessSelectedItem(object sender, CustomProcessListViewSelectedItemEventArgs customProcessListViewSelectedItemEventArgs)
 {
     customProcessListViewSelectedItemEventArgs.Handled = true;
 }
 private void processRecordController_CustomProcessSelectedItem(object sender, CustomProcessListViewSelectedItemEventArgs e)
 {
     e.Handled = true;
 }
 private void ProcessCurrentObjectController_CustomProcessSelectedItem(object sender, CustomProcessListViewSelectedItemEventArgs e)
 {
     e.Handled = true;
     if (e.InnerArgs.CurrentObject is Document && !View.IsRoot)
     {
         DetailView docSimpleView = Application.CreateDetailView(View.ObjectSpace, "DocumentSimple_DetailView", false, e.InnerArgs.CurrentObject);
         e.InnerArgs.ShowViewParameters.CreatedView = docSimpleView;
     }
     else
     {
         var act = sender as ListViewProcessCurrentObjectController;
         if (act != null)
         {
             act.Active.SetItemValue("DisableThisAction", false);
         }
     }
 }
 private void processCurrentObjectController_CustomProcessSelectedItem(
     object sender, CustomProcessListViewSelectedItemEventArgs e)
 {
     e.Handled = true;
     writeMailAction.DoExecute();
 }
Example #17
0
        private void processCurrentObjectController_CustomProcessSelectedItem(object sender, CustomProcessListViewSelectedItemEventArgs e)
        {
            fmCSAStatementAccount current = View.CurrentObject as fmCSAStatementAccount;

            if (current == null)
            {
                return;
            }

            // Show object
            string DetailViewId = Frame.Application.FindDetailViewId(current.GetType());

            IObjectSpace objectSpace = Frame.Application.CreateObjectSpace();
            BaseObject   passedObj   = objectSpace.GetObject <BaseObject>(current);

            TargetWindow       openMode = TargetWindow.NewWindow;
            DetailView         dv       = Frame.Application.CreateDetailView(objectSpace, DetailViewId, true, passedObj);
            ShowViewParameters svp      = new ShowViewParameters()
            {
                CreatedView = dv, TargetWindow = openMode, Context = TemplateContext.View, CreateAllControllers = true
            };

            e.InnerArgs.ShowViewParameters.Assign(svp);
            e.Handled = true;
        }
        // открываем детальные представления в новом модальном окне (см.задача #4569)
        private void processCurrentObjectController_CustomProcessSelectedItem(object sender, CustomProcessListViewSelectedItemEventArgs e)
        {
            e.Handled = true;

            IObjectSpace os = GetObjectSpaceToShowDetailViewForm();

            IPatient patient = os.GetObject(e.InnerArgs.CurrentObject as IPatient);

            ShowViewParameters svp = new ShowViewParameters
            {
                CreatedView = Application.CreateDetailView(os,"IPatient_DetailView", true, patient),
                TargetWindow = TargetWindow.NewModalWindow /*TargetWindow.Default;*/,
                CreateAllControllers = true
            };

            svp.CreatedView.Closed += (o, a) =>
            {
                //см. #5052А
                UpdateView();

                //RefreshController refresh = Application.MainWindow.GetController<RefreshController>();
                //refresh.RefreshAction.DoExecute();
            };

            Application.ShowViewStrategy.ShowView(svp, new ShowViewSource(null, null));
        }
        void showDV(object sender, CustomProcessListViewSelectedItemEventArgs e)
        {
            Frame frame = Frame;
            View  view  = View;

            DevExpress.ExpressApp.ListView        listView = view as DevExpress.ExpressApp.ListView;
            IEnumerable <MiniNavigationAttribute> mAttr    = null;
            bool AttrExists = false;

            object currentObject = (object)view.CurrentObject;

            if (currentObject == null)
            {
                return;
            }

            Type objType = typeof(object);
            //string DetailViewID = "";
            TargetWindow openMode = TargetWindow.Default;
            IObjectSpace objectSpace;

            Type NavigationChoiceType = (System.Type)(view.CurrentObject.GetType());   //.UnderlyingSystemType;   //typeof(object);


            // Вставка механизма проверки модели на предмет умолчательного view для показа по 2-клик или Ввод
            {
                string path = "";
                //string caption = "";
                //TargetWindow openMode = TargetWindow.Default;
                IModelView modelView = null;
                bool       IsMiniNavigationDefined = false;

                // Узел в модели
                IModelView node = null;
                node = View.Model.Application.Views[listView.Id];
                //IModelListView node  = View.Model.Application.Views.GetNode<IModelListView>(listView.Id);
                if (node != null)
                {
                    // Перебираем все подузлы
                    // node.GetNode(1)	{ModelListViewFilters}	DevExpress.ExpressApp.Model.IModelNode {ModelListViewFilters}
                    for (int i = 0; i < node.NodeCount; i++)
                    {
                        IModelMiniNavigations miniNavigationNode = node.GetNode(i) as IModelMiniNavigations;
                        if (miniNavigationNode != null)
                        {
                            // Сначала заполняем тот, что прописан по умолчанию
                            IModelMiniNavigationItem miniNavigationDefaultItem = miniNavigationNode.DefaultMiniNavigationNode;
                            if (miniNavigationDefaultItem != null)
                            {
                                path = miniNavigationDefaultItem.NavigationPath;
                                //caption = miniNavigationDefaultItem.NavigationCaption;
                                openMode  = miniNavigationDefaultItem.TargetWindow;
                                modelView = miniNavigationDefaultItem.View;

                                IsMiniNavigationDefined = true;
                            }

                            //if (modelView == null) {
                            if (!IsMiniNavigationDefined)
                            {
                                foreach (IModelMiniNavigationItem miniNavigationItem in miniNavigationNode.GetNodes <IModelMiniNavigationItem>())
                                {
                                    if (miniNavigationItem != miniNavigationDefaultItem)
                                    {
                                        path = miniNavigationItem.NavigationPath;
                                        //caption = miniNavigationItem.NavigationCaption;
                                        openMode  = miniNavigationItem.TargetWindow;
                                        modelView = miniNavigationItem.View;

                                        IsMiniNavigationDefined = true;
                                        break; // Берём первый по расположению
                                    }
                                }
                            }
                            break;
                        }
                    }

                    // Если в модели ничего не найдено, то читаем атрибуты.
                    if (!IsMiniNavigationDefined)
                    {
                        DevExpress.ExpressApp.DC.ITypeInfo objectTypeInfo = null;
                        objectTypeInfo = listView.CollectionSource.ObjectTypeInfo;
                        //typeObjectOfListView = objectTypeInfo.Type;

                        mAttr = objectTypeInfo.FindAttributes <MiniNavigationAttribute>();

                        // Если ничего нет, то покидаем
                        if (mAttr == null & !IsMiniNavigationDefined)
                        {
                            return;
                        }

                        SortedDictionary <int, MiniNavigationAttribute> sd = new SortedDictionary <int, MiniNavigationAttribute>();

                        IEnumerator <MiniNavigationAttribute> _enum = mAttr.GetEnumerator();
                        while (_enum.MoveNext())
                        {
                            MiniNavigationAttribute attr = ((MiniNavigationAttribute)(_enum.Current));
                            sd.Add(attr.Order, attr);
                        }

                        foreach (KeyValuePair <int, MiniNavigationAttribute> kvp in sd)
                        {
                            AttrExists = true;
                            MiniNavigationAttribute attr = kvp.Value;
                            path = attr.NavigationPath;
                            //caption = attr.NavigationCaptin;
                            openMode = attr.TargetWindow;
                            break;  // Берём первый по порядку Order (он же и тот, что по умолчанию)
                        }
                    }

                    if (AttrExists || IsMiniNavigationDefined)
                    {
                        // Получаем объект obj для показа
                        BaseObject obj = GetObjectOnPathEnd(path, currentObject as BaseObject);

                        if (obj == null)
                        {
                            DevExpress.XtraEditors.XtraMessageBox.Show(
                                CommonMethods.GetMessage(MiniNavigatorControllerMessages.SHOWING_OBJECT_NOT_DEFINED),
                                messageCaption,
                                System.Windows.Forms.MessageBoxButtons.OK,
                                System.Windows.Forms.MessageBoxIcon.Exclamation);
                            return;
                        }

                        Type   ChoiceType = (System.Type)(obj.GetType());             //.UnderlyingSystemType;   //typeof(object);
                        string ViewID     = Application.FindDetailViewId(ChoiceType); // По умолчанию - DetailView

                        Frame resultFrame = frame;                                    // Application.CreateFrame("new");
                        //TargetWindow openMode = (TargetWindow)e.SelectedChoiceActionItem.Data;

                        // Небольшая разборка с сочетанием значений openMode в целях определения фрейма, в который грузить
                        if (MasterDetailViewFrame != null && (openMode == TargetWindow.Current & ((frame as NestedFrame) != null | !view.IsRoot)))
                        {
                            // Тогда Current трактуем как корневое окно
                            resultFrame = MasterDetailViewFrame;
                            {
                                objectSpace = resultFrame.Application.CreateObjectSpace();   //.View.ObjectSpace;
                                object representativeObj = objectSpace.GetObject(obj);

                                View dv = null;

                                if (modelView != null)
                                {
                                    if ((modelView as IModelDetailView) != null)
                                    {
                                        ViewID = (modelView as IModelDetailView).Id;
                                        dv     = resultFrame.Application.CreateDetailView(objectSpace, ViewID, true, representativeObj) as DetailView;
                                    }
                                    else if ((modelView as IModelListView) != null)
                                    {
                                        ViewID = (modelView as IModelListView).Id;
                                        //ListView dv = resultFrame.Application.CreateListView(objectSpace, ChoiceType, true);
                                        CollectionSource colSource = new CollectionSource(objectSpace, ChoiceType);
                                        if (!colSource.IsLoaded)
                                        {
                                            colSource.Reload();
                                        }
                                        dv = resultFrame.Application.CreateListView((modelView as IModelListView), colSource, true) as ListView;
                                    }
                                }
                                else
                                {
                                    // Если навигация орпделена в модели, а view не определено, то образуем DetailView по умолчанию
                                    ViewID = Application.FindDetailViewId(ChoiceType);
                                    dv     = resultFrame.Application.CreateDetailView(objectSpace, ViewID, true, representativeObj) as DetailView;
                                }

                                resultFrame.SetView(dv, true, resultFrame);
                            }
                            return;
                        }

                        // Общий алгоритм
                        {
                            objectSpace = resultFrame.Application.CreateObjectSpace();
                            object representativeObj = objectSpace.GetObject(obj);

                            View dv = null;

                            if (modelView != null)
                            {
                                if ((modelView as IModelDetailView) != null)
                                {
                                    ViewID = (modelView as IModelDetailView).Id;
                                    dv     = resultFrame.Application.CreateDetailView(objectSpace, ViewID, true, representativeObj) as DetailView;
                                }
                                else if ((modelView as IModelListView) != null)
                                {
                                    ViewID = (modelView as IModelListView).Id;
                                    //ListView dv = resultFrame.Application.CreateListView(objectSpace, ChoiceType, true);
                                    //objectSpace = resultFrame.Application.CreateObjectSpace();
                                    CollectionSource colSource = new CollectionSource(objectSpace, ChoiceType);
                                    if (!colSource.IsLoaded)
                                    {
                                        colSource.Reload();
                                    }
                                    dv = resultFrame.Application.CreateListView((modelView as IModelListView), colSource, true) as ListView;
                                }
                            }
                            else
                            {
                                // Если навигация определена в модели, а view не определено, то образуем DetailView по умолчанию
                                ViewID = Application.FindDetailViewId(ChoiceType);
                                dv     = resultFrame.Application.CreateDetailView(objectSpace, ViewID, true, representativeObj) as DetailView;
                            }

                            ShowViewParameters svp = new ShowViewParameters();
                            svp.CreatedView          = dv;
                            svp.TargetWindow         = openMode;
                            svp.Context              = TemplateContext.View;
                            svp.CreateAllControllers = true;

                            e.InnerArgs.ShowViewParameters.Assign(svp);
                            return;
                        }
                    }
                }
            }


            // ПРОЧИЕ LISTVIEW
            // Грузим в отдельном окне

            e.Handled = false;
            openMode  = TargetWindow.NewWindow;
            if (Frame as NestedFrame != null | !View.IsRoot)
            {
                openMode = TargetWindow.NewModalWindow;
            }
            e.InnerArgs.ShowViewParameters.TargetWindow = openMode;
        }
 /// <summary>
 /// «десь обрабатываютс¤ перехваченные событи¤ из аттача MouseDoubleClick, KeyDown...
 /// ƒЋя ¬џ Ћё„≈Ќ»я закоментировать событи¤ MouseDoubleClick, KeyDown в XAttachmentListEdit
 /// </summary>
 private void FileAttachmentViewController_CustomProcessSelectedItem(object sender, CustomProcessListViewSelectedItemEventArgs e)
 {
     e.Handled = true;
     OpenAttachment.DoExecute();
 }
 void ListViewProcessCurrentObjectControllerOnCustomProcessSelectedItem(object sender, CustomProcessListViewSelectedItemEventArgs customProcessListViewSelectedItemEventArgs) {
     customProcessListViewSelectedItemEventArgs.Handled = true;
 }
Example #22
0
 void CustomProcessSelectedItem(object sender, CustomProcessListViewSelectedItemEventArgs e)
 {
     Application.CreateCustomTemplate += CreateCustomTemplate;
 }
 private void processCurrentObjectController_CustomProcessSelectedItem(object sender, CustomProcessListViewSelectedItemEventArgs e)
 {
     if (!e.Handled && Frame.Context != TemplateContext.LookupControl && Frame.Context != TemplateContext.LookupWindow &&
         showDocumentDesignerAction.Active && showDocumentDesignerAction.Enabled)
     {
         e.Handled = true;
         showDocumentDesignerAction.DoExecute();
     }
 }
 private void controller_CustomProcessSelectedItem(object sender, CustomProcessListViewSelectedItemEventArgs e)
 {
     e.Handled = true;
 }
Example #25
0
 void OnCustomProcessSelectedItem(object sender, CustomProcessListViewSelectedItemEventArgs customProcessListViewSelectedItemEventArgs)
 {
     ForceExecution(ExecutionContext.CustomProcessSelectedItem);
 }
Example #26
0
 void OnCustomProcessSelectedItem(object sender, CustomProcessListViewSelectedItemEventArgs customProcessListViewSelectedItemEventArgs)
 {
     _logicRuleExecutor.Execute(ExecutionContext.CustomProcessSelectedItem, customProcessListViewSelectedItemEventArgs, View);
 }
 private void listViewProcessCurrentObjectController_CustomProcessSelectedItem(object sender, CustomProcessListViewSelectedItemEventArgs e)
 {
     CustomEmployee.IsSleepOnLoad = true;
     if (View.Id == "CustomEmployee_ListView_1")
     {
         Application.IsDelayedDetailViewDataLoadingEnabled = true;
     }
     else
     {
         Application.IsDelayedDetailViewDataLoadingEnabled = false;
     }
 }