public override void Execute(SingleChoiceActionExecuteEventArgs args)
 {
     base.Execute(args);
     if (this.shortcut == null)
     {
         return;
     }
     View view = args.Action.Application.ProcessShortcut(this.shortcut);
     ListView listView = view as ListView;
     if (listView != null)
     {
         string backFilterCriteria = ((ViewMenuItem)args.SelectedChoiceActionItem).Model.BackFilterCriteria;
         if (!string.IsNullOrEmpty(backFilterCriteria) && listView.CollectionSource.CanApplyCriteria)
         {
             CriteriaOperator criteriaOperator = CriteriaOperator.Parse(backFilterCriteria, new object[0]);
             LocalizedCriteriaWrapper localizedCriteriaWrapper = new LocalizedCriteriaWrapper(listView.ObjectTypeInfo.Type, criteriaOperator);
             if (localizedCriteriaWrapper.EditableParameters.Count > 0)
             {
                 string message = localizedCriteriaWrapper.EditableParameters.Keys.Aggregate("Cannot process editable parameters:\n", (string current, string parameterName) => current + string.Format("'@{0}'\n", parameterName));
                 throw new InvalidOperationException(message);
             }
             localizedCriteriaWrapper.UpdateParametersValues();
             listView.CollectionSource.Criteria["BackFilterCriteria"] = criteriaOperator;
         }
     }
     args.ShowViewParameters.CreatedView = view;
     args.ShowViewParameters.TargetWindow = TargetWindow.Current;
 }
 protected override void ShowNavigationItem(SingleChoiceActionExecuteEventArgs e)
 {
     if ((e.SelectedChoiceActionItem != null) && e.SelectedChoiceActionItem.Enabled.ResultValue
         && e.SelectedChoiceActionItem.Id == CreateNewObjectItemId)
     {
         Frame workFrame = Application.CreateFrame(TemplateContext.ApplicationWindow);
         workFrame.SetView(Application.CreateListView(
             Application.CreateObjectSpace(), typeof(Item), true));
         newController = workFrame.GetController<NewObjectViewController>();
         if (newController != null)
         {
             ChoiceActionItem newObjectItem = FindNewObjectItem();
             if (newObjectItem != null)
             {
                 newController.NewObjectAction.Executed += NewObjectAction_Executed;
                 newController.NewObjectAction.DoExecute(newObjectItem);
                 newController.NewObjectAction.Executed -= NewObjectAction_Executed;
                 e.ShowViewParameters.TargetWindow = TargetWindow.Default;
                 e.ShowViewParameters.CreatedView = createdDetailView;
                 //Cancel the default processing for this navigation item.
                 return;
             }
         }
     }
     //Continue the default processing for other navigation items.
     base.ShowNavigationItem(e);
 }
        private void singleChoiceActionAssociateSubjectArea_Execute(object sender, SingleChoiceActionExecuteEventArgs e)
        {
            string selectedSubjectArea = singleChoiceActionAssociateSubjectArea.SelectedItem.Caption;

            List<Entity> selectedEntities = new List<Entity>();

            List<SubjectArea> subjectAreas = new List<SubjectArea>();

            foreach (Entity entity in View.SelectedObjects)
            {
                selectedEntities.Add(entity);
            }

            foreach (SubjectArea subjectArea in subjectAreaCollection)
            {
                foreach (Entity entity in selectedEntities)
                {
                    if(entity.SubjectArea == subjectArea.Name)
                    {
                        entity.EntitySubjectAreas.Add(subjectArea);
                        subjectArea.SubjectAreaEntities.Add(entity);

                        entity.Session.CommitTransaction();
                        subjectArea.Session.CommitTransaction();
                    }
                }
            }
        }
Example #4
0
 void IoActionOnExecute(object sender, SingleChoiceActionExecuteEventArgs singleChoiceActionExecuteEventArgs) {
     if (ReferenceEquals(singleChoiceActionExecuteEventArgs.SelectedChoiceActionItem.Data, "export")) {
         ShowSerializationView(singleChoiceActionExecuteEventArgs);
     } else {
         Import(singleChoiceActionExecuteEventArgs);
     }
 }
        void action_Execute(object sender, SingleChoiceActionExecuteEventArgs e)
        {
            var data = e.SelectedChoiceActionItem.Data as Type;

            var space = Application.CreateObjectSpace();
            var export = (ExportOperationBase)Activator.CreateInstance(data, space);

            if (export.ParametersObject != null)
            {
                var view = Application.CreateDetailView(space, export.ParametersObject);
                e.ShowViewParameters.CreatedView = view;
                e.ShowViewParameters.Context = TemplateContext.PopupWindow;

                var ctr = new DialogController();

                // !! UNSUBSCRIBE AFTERWARDS !! //
                ctr.AcceptAction.Execute += (io, iie) =>
                {

                    export.ExecuteExchange();
                };

                e.ShowViewParameters.Controllers.Add(ctr);
            }
        }
 public override void Execute(SingleChoiceActionExecuteEventArgs args)
 {
     if (this.Owner == null)
     {
         throw new InvalidOperationException("SingleChoiceAction not found");
     }
     this.Owner.DoExecute(this.ChoiceActionItem);
 }
Example #7
0
 private void SingleChoiceActionOnExecute(object sender, SingleChoiceActionExecuteEventArgs e){
     var gridView = ((WinColumnsListEditor)View.Editor).GridView();
     if (e.SelectedChoiceActionItem.Id == ActiveFilter){
         gridView.ActiveFilterCriteria = CriteriaOperator.Parse("Contains([Name], 'eXpandFramework')");
     }
     else if (e.SelectedChoiceActionItem.Id == ActiveFilterEnabled){
         gridView.ActiveFilterEnabled = !gridView.ActiveFilterEnabled;
     }
 }
 protected override void CloneObject(SingleChoiceActionExecuteEventArgs args)
 {
     base.CloneObject(args);
     var modelDifferenceObject = args.ShowViewParameters.CreatedView.CurrentObject as ModelDifferenceObject;
     if (modelDifferenceObject != null) {
         modelDifferenceObject.DateCreated = DateTime.Now;
         modelDifferenceObject.Disabled = true;
         modelDifferenceObject.Name = null;
         modelDifferenceObject.PersistentApplication = (PersistentApplication) modelDifferenceObject.Session.GetObject(((ModelDifferenceObject)View.CurrentObject).PersistentApplication);
     }
 }
Example #9
0
 private void SingleChoiceActionOnExecute(object sender, SingleChoiceActionExecuteEventArgs e){
     if (e.SelectedChoiceActionItem.Caption == "LoadModel"){
         var modelApplicationBase = ((ModelApplicationBase)Application.Model);
         var creator = modelApplicationBase.CreatorInstance;
         var modelApplication = creator.CreateModelApplication();
         modelApplication.Id = _parametrizedAction.Value.ToString();
         var fileNameTemplate = _parametrizedAction.Value.ToString();
         var fileModelStore = new FileModelStore(XpandModuleBase.BinDirectory, fileNameTemplate);
         fileModelStore.Load(modelApplication);
         modelApplicationBase.AddLayerBeforeLast(modelApplication);
     }
 }
Example #10
0
 void AssignDataMapActionOnExecute(object sender, SingleChoiceActionExecuteEventArgs singleChoiceActionExecuteEventArgs) {
     var objectSpace = Application.GetObjectSpaceToShowViewFrom(Frame);
     if (singleChoiceActionExecuteEventArgs.SelectedChoiceActionItem.Data!=null) {
         var createObject = objectSpace.CreateObject((Type)singleChoiceActionExecuteEventArgs.SelectedChoiceActionItem.Data);
         AssignDataMap((IJobDetail)View.CurrentObject, createObject);
         var detailView = Application.CreateDetailView(objectSpace, createObject, true);
         singleChoiceActionExecuteEventArgs.ShowViewParameters.CreatedView = detailView;
         singleChoiceActionExecuteEventArgs.ShowViewParameters.TargetWindow = TargetWindow.NewModalWindow;
         var dialogController = new DialogController();
         dialogController.AcceptAction.Execute += AcceptActionOnExecute;
         singleChoiceActionExecuteEventArgs.ShowViewParameters.Controllers.Add(dialogController);
     }
 }
Example #11
0
 void import(SingleChoiceActionExecuteEventArgs singleChoiceActionExecuteEventArgs) {
     ObjectSpace objectSpace = Application.CreateObjectSpace();
     object o = objectSpace.CreateObject(TypesInfo.Instance.XmlFileChooserType);
     singleChoiceActionExecuteEventArgs.ShowViewParameters.CreatedView = Application.CreateDetailView(objectSpace, o);
     var dialogController = new DialogController();
     dialogController.AcceptAction.Execute += (sender1, args) =>{
         var memoryStream = new MemoryStream();
         ((IXmlFileChooser)args.CurrentObject).FileData.SaveToStream(memoryStream);
         new ImportEngine().ImportObjects(memoryStream, new UnitOfWork(objectSpace.Session.DataLayer));
     };
     singleChoiceActionExecuteEventArgs.ShowViewParameters.TargetWindow = TargetWindow.NewModalWindow;
     singleChoiceActionExecuteEventArgs.ShowViewParameters.Controllers.Add(dialogController);
 }
        private void SingleChoiceActionOnExecute(object sender, SingleChoiceActionExecuteEventArgs e){
            if (e.SelectedChoiceActionItem.Id == "None"){
                Application.Security=new SecurityDummy();
                SecuritySystem.SetInstance(Application.Security);
//                var rootNavigationItems = ((IModelApplicationNavigationItems) Application.Model).NavigationItems;
//                var modelNavigationItems = rootNavigationItems.Items.GetItems<IModelNavigationItem>(item => item.Items);
//                var navigationItem = modelNavigationItems.First(item => item.Id=="Default");
//                navigationItem.Remove();
//                rootNavigationItems.StartupNavigationItem = modelNavigationItems.First(item => item.View == View.Model);
//                SessionSecurity = null;
//                Frame.GetController<ShowNavigationItemController>().RecreateNavigationItems();
//                Frame.GetController<LogoffController>().LogoffAction.DoExecute();
            }
        }
Example #13
0
 protected virtual void Import(SingleChoiceActionExecuteEventArgs singleChoiceActionExecuteEventArgs) {
     var objectSpace = ((XPObjectSpace)Application.CreateObjectSpace());
     object o = objectSpace.CreateObject(TypesInfo.Instance.XmlFileChooserType);
     singleChoiceActionExecuteEventArgs.ShowViewParameters.CreatedView = Application.CreateDetailView(objectSpace, o);
     var dialogController = new DialogController { SaveOnAccept = false };
     dialogController.AcceptAction.Execute += (sender1, args) => {
         var memoryStream = new MemoryStream();
         var xmlFileChooser = ((IXmlFileChooser)args.CurrentObject);
         xmlFileChooser.FileData.SaveToStream(memoryStream);
         new ImportEngine(xmlFileChooser.ErrorHandling).ImportObjects(memoryStream, new XPObjectSpace(XafTypesInfo.Instance, XpandModuleBase.XpoTypeInfoSource, () => new UnitOfWork(objectSpace.Session.DataLayer)));
     };
     ((ISupportConfirmationRequired)Application).ConfirmationRequired += OnConfirmationRequired;
     singleChoiceActionExecuteEventArgs.ShowViewParameters.CreatedView.Closed += (sender, eventArgs) => ((ISupportConfirmationRequired)Application).ConfirmationRequired -= OnConfirmationRequired;
     singleChoiceActionExecuteEventArgs.ShowViewParameters.TargetWindow = TargetWindow.NewModalWindow;
     singleChoiceActionExecuteEventArgs.ShowViewParameters.Controllers.Add(dialogController);
 }
Example #14
0
        void ShowSerializationView(SingleChoiceActionExecuteEventArgs singleChoiceActionExecuteEventArgs) {
            var groupObjectType = XafTypesInfo.Instance.FindBussinessObjectType<ISerializationConfigurationGroup>();
            var showViewParameters = singleChoiceActionExecuteEventArgs.ShowViewParameters;
            var objectSpace = Application.CreateObjectSpace() as ObjectSpace;
            showViewParameters.TargetWindow = TargetWindow.NewModalWindow;
            showViewParameters.Context = TemplateContext.View;
            showViewParameters.CreateAllControllers = true;
            View view;
            if (ObjectSpace.FindObject(groupObjectType, null) == null)
                view = Application.CreateDetailView(objectSpace, objectSpace.CreateObjectFromInterface<ISerializationConfigurationGroup>());
            else {
                view = Application.CreateListView(objectSpace, groupObjectType, true);
            }
            showViewParameters.CreatedView = view;
            AddDialogController(showViewParameters);

        }
Example #15
0
        protected virtual void Import(SingleChoiceActionExecuteEventArgs singleChoiceActionExecuteEventArgs) {
            var objectSpace = ((XPObjectSpace)Application.CreateObjectSpace(TypesInfo.Instance.XmlFileChooserType));
            object o = objectSpace.CreateObject(TypesInfo.Instance.XmlFileChooserType);
            var detailView = Application.CreateDetailView(objectSpace, o);
            detailView.ViewEditMode=ViewEditMode.Edit;
            singleChoiceActionExecuteEventArgs.ShowViewParameters.CreatedView = detailView;
            var dialogController = new DialogController { SaveOnAccept = false };
            dialogController.AcceptAction.Execute += (sender1, args) => {
                var memoryStream = new MemoryStream();
                var xmlFileChooser = ((IXmlFileChooser)args.CurrentObject);
                xmlFileChooser.FileData.SaveToStream(memoryStream);
                new ImportEngine(xmlFileChooser.ErrorHandling).ImportObjects(memoryStream, new UnitOfWork(objectSpace.Session.DataLayer));
            };


            singleChoiceActionExecuteEventArgs.ShowViewParameters.TargetWindow = TargetWindow.NewModalWindow;
            singleChoiceActionExecuteEventArgs.ShowViewParameters.Controllers.Add(dialogController);
        }
        protected void ShowInAnalysis(SingleChoiceActionExecuteEventArgs e) {
            ObjectSpace os = Application.CreateObjectSpace();
            var typeInfoContainer = (ITypeInfoContainer)Application.Modules.Where(@base => typeof(ITypeInfoContainer).IsAssignableFrom(@base.GetType())).Single();
            var report =
                os.GetObjectByKey(typeInfoContainer.TypesInfo.AnalysisType, e.SelectedChoiceActionItem.Data) as IAnalysisInfo;
            e.ShowViewParameters.CreatedView = Application.CreateDetailView(os, report);
            e.ShowViewParameters.TargetWindow = TargetWindow.Default;
            e.ShowViewParameters.Context = TemplateContext.View;
            e.ShowViewParameters.CreateAllControllers = true;

            var keys = new ArrayList();
            foreach (object selectedObject in View.SelectedObjects) {
                keys.Add(ObjectSpace.GetKeyValue(selectedObject));
            }
            e.ShowViewParameters.Controllers.Add(
                                                    new AssignCustomAnalysisDataSourceDetailViewController(
                                                        new InOperator(ObjectSpace.GetKeyPropertyName(View.ObjectTypeInfo.Type), keys)));
        }
Example #17
0
        void PivotSettingsChoiceActionOnExecute(object sender, SingleChoiceActionExecuteEventArgs singleChoiceActionExecuteEventArgs) {
            var objectSpace = ObjectSpaceInMemory.CreateNew();
            var type = (Type)singleChoiceActionExecuteEventArgs.SelectedChoiceActionItem.Data;
            var persistentType = GetPersistentType(type);
            var pivotOption = objectSpace.CreateObject(persistentType);
            XPClassInfo classInfo = ((XPObjectSpace)ObjectSpace).Session.GetClassInfo(persistentType);

            Synchonize(pivotOption, type, classInfo);
            var showViewParameters = singleChoiceActionExecuteEventArgs.ShowViewParameters;
            showViewParameters.CreatedView = Application.CreateDetailView(objectSpace, pivotOption, true);

            showViewParameters.TargetWindow = TargetWindow.NewModalWindow;
            var dialogController = new DialogController();
            dialogController.AcceptAction.Execute += (o, args) => Synchonize(classInfo, type, args.CurrentObject);
            showViewParameters.Controllers.Add(dialogController);
            ((DetailView)showViewParameters.CreatedView).ViewEditMode = ViewEditMode.Edit;

        }
Example #18
0
 private void actionExcel_Execute(object sender, SingleChoiceActionExecuteEventArgs e)
 {
     switch (e.SelectedChoiceActionItem.Data.ToString())
     {
         case "AddPartDetail":
             using (frmAddPartDetail frm = new frmAddPartDetail())
             {
                 frm.session = ((XPObjectSpace)ObjectSpace).Session;
                 frm.ShowDialog();
             }
             break;
         case "ImportPartDetail":
             ExcelImportData();
             break;
         case "ExportItemCost":
             ExportItemCost();
             break;
         default:
             break;
     }
 }
Example #19
0
 private void SingleChoiceActionOnExecute(object sender, SingleChoiceActionExecuteEventArgs e){
     switch (e.SelectedChoiceActionItem.Id){
         case PopupCriteriaPropertyEditorEx:{
             var listView = CreateListView(PopupCriteriaPropertyEditorEx);
             ConfigParameters(e.ShowViewParameters,listView);
         }
             break;
         case XpandObjectSpaceProvider:{
             Verify(() =>ObjectSpace.FindObject(TargetObjectType,
                         CriteriaOperator.Parse("FullText = 'Apostolis Bekiaris'")));
         }
             break;
         case ColumnFilterChanged:{
             var gridView = ((WinColumnsListEditor) ((ListView) View).Editor).GridView();
             gridView.ActiveFilterCriteria = CriteriaOperator.Parse("FullText = 'Apostolis Bekiaris'");
             ParametrizedAction.Value = gridView.ActiveFilterCriteria;
         }
             break;
         case CriteriaPropertyEditorEx:{
             var detailView = CreateDetailView();
             ConfigParameters(e.ShowViewParameters, detailView);
             e.ShowViewParameters.Controllers.Add(Application.CreateController<ShowClauseMenu>());
         }
             break;
         case CollectionSourceCriteria:
             Verify(() => {
                 ((ListView)View).CollectionSource.Criteria[CollectionSourceCriteria] =
                     CriteriaOperator.Parse("FullText=?", "Apostolis Bekiaris");
             });
             break;
         case XpandGridListEditor:case AdvBandedListEditor:{
             ListView listView = CreateListView("FullText_"+e.SelectedChoiceActionItem.Id);
             ConfigParameters(e.ShowViewParameters, listView);
             e.ShowViewParameters.Controllers.Add(Application.CreateController<ShowClauseMenu>());
         } 
         break;
     }
 }
 protected override void ModifyModelActionOnExecute(object sender, SingleChoiceActionExecuteEventArgs e){
     if (e.SelectedChoiceActionItem.Id == ModifyModelActionChoiceItemsUpdater.ChangeViewModel){
         var showViewParameters = e.ShowViewParameters;
         var modelDetailView = ((IModelViewConfigurationView)View.Model).ConfigurationView;
         if (modelDetailView!=null){
             var objectSpace = Application.CreateObjectSpace();
             var changeViewModel = objectSpace.CreateObject<ModelConfiguration>();
             showViewParameters.CreatedView = Application.CreateDetailView(objectSpace, modelDetailView, true,
                 changeViewModel);
             showViewParameters.TargetWindow = TargetWindow.NewModalWindow;
             var dialogController = new DialogController();
             var viewToConfigure = View;
             dialogController.Accepting += (o, args) =>{
                 var modelMemberInfoController =
                     dialogController.Frame.GetController<XpandModelMemberInfoController>();
                 modelMemberInfoController.SynchronizeModel(viewToConfigure.Model,
                     dialogController.Frame.View.CurrentObject);
             };
             dialogController.Disposed += (o, args) => viewToConfigure.SetModel(viewToConfigure.Model);
             showViewParameters.Controllers.Add(dialogController);
         }
     }
 }
Example #21
0
 private void SetTaskAction_Execute(object sender, SingleChoiceActionExecuteEventArgs args) {
     IObjectSpace objectSpace = View is ListView ? Application.CreateObjectSpace() : View.ObjectSpace;
     ArrayList objectsToProcess = new ArrayList(args.SelectedObjects);
     if(args.SelectedChoiceActionItem.ParentItem == setPriorityItem) {
         foreach(Object obj in objectsToProcess) {
             DemoTask objInNewObjectSpace = (DemoTask)objectSpace.GetObject(obj);
             objInNewObjectSpace.Priority = (Priority)args.SelectedChoiceActionItem.Data;
         }
     }
     else if(args.SelectedChoiceActionItem.ParentItem == setStatusItem) {
         foreach(Object obj in objectsToProcess) {
             DemoTask objInNewObjectSpace = (DemoTask)objectSpace.GetObject(obj);
             objInNewObjectSpace.Status = (TaskStatus)args.SelectedChoiceActionItem.Data;
         }
     }
     if(View is DetailView && ((DetailView)View).ViewEditMode == ViewEditMode.View) {
         objectSpace.CommitChanges();
     }
     if(View is ListView) {
         objectSpace.CommitChanges();
         View.ObjectSpace.Refresh();
     }
 }
 protected override void ModifyModelActionOnExecute(object sender, SingleChoiceActionExecuteEventArgs e){
     var choiceActionItem = e.SelectedChoiceActionItem;
     if (choiceActionItem.Id == ModifyModelActionChoiceItemsUpdater.ResetViewModel){
         var modelApplicationBase = (ModelApplicationBase)Application.Model;
         var modelApplication = modelApplicationBase.CreatorInstance.CreateModelApplication();
         modelApplication.Id = modelApplicationBase.LastLayer.Id;
         new ModelXmlReader().ReadFromModel(modelApplication, modelApplicationBase.LastLayer);
         var modelViews = ((IModelApplication) modelApplication).Views;
         if (modelViews != null){
             var modelView = modelViews[View.Id];
             if (modelView != null){
                 if (!modelView.IsNewNode()){
                     modelView.Remove();       
                     ModelApplicationHelper.RemoveLayer(modelApplicationBase);
                     ModelApplicationHelper.AddLayer(modelApplicationBase, modelApplication);
                 }
                 else{
                     throw new UserFriendlyException("Cannot reset new views");
                 }
             }
         }            
         Frame.GetController<ModelController>().SetView(e.ShowViewParameters);
     }
 }
 private void ChooseFormattingCulture_Execute(object sender, SingleChoiceActionExecuteEventArgs e) {
     Application.SetFormattingCulture(Regex.Match(e.SelectedChoiceActionItem.Caption, @"\(([^)]*)", RegexOptions.Singleline | RegexOptions.IgnoreCase).Groups[1].Value);
 }
Example #24
0
        /*
         * protected override void OnDeactivated() {
         *  if (detailViewController != null) {
         *      detailViewController.SaveAction -= new SimpleActionExecuteEventHandler(DetailViewController_Save);
         *      detailViewController.SaveAndNewAction -= new EventHandler<SingleChoiceActionExecuteEventArgs>(DetailViewController_SaveAndNew);
         *      detailViewController.SaveAndCloseAction -= new EventHandler<SimpleActionExecuteEventArgs>(DetailViewController_SaveAndClose);
         *  }
         *  base.OnDeactivated();
         * }
         *
         * public void DetailViewController_Save(object sender, SimpleActionExecuteEventArgs e) {
         *
         * }
         */


        protected override void SaveAndNew(SingleChoiceActionExecuteEventArgs args)
        {
            base.SaveAndNew(args);
        }
Example #25
0
 private void SwitchProject_Execute(object sender, SingleChoiceActionExecuteEventArgs e)
 {
     SwitchProjectCore(e.SelectedChoiceActionItem?.Data as Project);
 }
Example #26
0
 private void LookupSetFilterAction_Execute(object sender, SingleChoiceActionExecuteEventArgs e)
 {
     SetFilterAction.DoExecute(e.SelectedChoiceActionItem);
 }
 private void autoRefreshChoiceAction_Execute(object sender, SingleChoiceActionExecuteEventArgs e)
 {
     var item = e.SelectedChoiceActionItem;
     var value = (Int32)item.Data;
     setAutoRefresh(value);
 }
        protected override void ShowInReport(SingleChoiceActionExecuteEventArgs e, IReportData reportData)
        {
            if (View is DevExpress.ExpressApp.ListView)
            {
                DevExpress.Persistent.BaseImpl.ReportData currentReportData = ObjectSpace.GetObject<DevExpress.Persistent.BaseImpl.ReportData>((DevExpress.Persistent.BaseImpl.ReportData)reportData);

                using (XtraReport report = currentReportData.LoadReport(ObjectSpace))
                {
                    string dataFilterCaption = String.Empty;
                    CustomFilterController filterController = Frame.GetController<CustomFilterController>();
                    if (filterController != null)
                    {
                        var filter = filterController.SetFilterAction.SelectedItem;
                        if (filter != null)
                            dataFilterCaption = filter.Caption;
                    }

                    string gridFilterCaption = String.Empty;
                    ListView view = View as ListView;
                    if (view != null)
                    {
                        GridListEditor listEditor = view.Editor as GridListEditor;

                        if (listEditor != null)
                        {
                            gridFilterCaption = listEditor.GridView.FilterPanelText;
                            //string filterCaption = String.Format("{0}: {1}\n{2}",  CaptionHelper.GetLocalizedText("Captions", "Filter"), dataFilterCaption, gridFilterCaption);

                            string reportCapture = CaptionHelper.GetLocalizedText(@"Enums\BuiltInReports", currentReportData.ReportName);
                            ReportCommonMethods.PopulateHeaderLabels(report, reportCapture, dataFilterCaption, gridFilterCaption);
                            // передаем в отчет данные в том виде, как они представленны в GridView
                            // т.е со всеми фильтрами и сортировками
                            report.DataSource = listEditor.GetOrderedObjects();
                        }
                    }

                    report.ShowPreviewDialog();
                }
            }
            else if (View is DevExpress.ExpressApp.DetailView)
            {
                DevExpress.Persistent.BaseImpl.ReportData currentReportData = ObjectSpace.GetObject<DevExpress.Persistent.BaseImpl.ReportData>((DevExpress.Persistent.BaseImpl.ReportData)reportData);
                using (XtraReport report = currentReportData.LoadReport(ObjectSpace))
                {
                    string reportCapture = CaptionHelper.GetLocalizedText(@"Enums\BuiltInReports", currentReportData.ReportName);
                    ReportCommonMethods.PopulateHeaderLabels(report, reportCapture, String.Empty, String.Empty);

                    CriteriaOperator criteria = CriteriaOperator.Parse("Oid = ?", View.ObjectSpace.GetKeyValue(View.CurrentObject));
                    report.DataSource = View.ObjectSpace.GetObjects(View.ObjectTypeInfo.Type, criteria);

                    //XRRichText rtfEdit = report.FindControl("ConclusionRichText", true) as XRRichText;
                    //if (rtfEdit != null)
                    //{
                    //    MitsarDataStudio.Module.DC.IExamination examination = View.CurrentObject as MitsarDataStudio.Module.DC.IExamination;
                    //    if (examination != null)
                    //        rtfEdit.LoadFile(examination.ConclusionFile.RealFileName);
                    //}

                    report.ShowPreviewDialog();
                }
            }
            else
            {
                base.ShowInReport(e, reportData);
            }
        }
//        private void Session_OnObjectDeleting(object sender, ObjectManipulationEventArgs e)
//        {
//            var xpBaseObject = (XPBaseObject) e.Object;
//            foreach (XPMemberInfo memberInfo in xpBaseObject.ClassInfo.ObjectProperties)
//            {
//                object value = memberInfo.GetValue(xpBaseObject);
//                if (value != null)
//                    xpBaseObject.SetMemberValue("Deleted" + memberInfo.Name,
//                                                memberInfo.ReferenceType.KeyProperty.GetValue(
//                                                    value));
//            }
//        }


//        /<summary>
//        /
//        /<para>
//        /Updates the Application Model.
//        /
//        /</para>
//        /
//        /</summary>
//        /
//        /<param name="dictionary">
//        /		A <b>Dictionary</b> object that provides access to the Application Model's nodes.
//        /
//        /            </param>
//        public override void UpdateModel(Dictionary dictionary)
//        {
//            base.UpdateModel(dictionary);
//            return;
//            DictionaryNodeCollection dictionaryNodeCollection =
//                dictionary.RootNode.GetChildNode(ViewsNodeWrapper.NodeName).GetChildNodes(ListView.InfoNodeName, false);
//            foreach (DictionaryNode dictionaryNode in dictionaryNodeCollection)
//            {
//                DictionaryNode ruleChildNode = dictionaryNode.GetChildNode("ConditionalFormatting").GetChildNode("Rule");
//                ruleChildNode.SetAttribute("ID", "deleteRule");
//                ruleChildNode.SetAttribute("Criteria", "IsDeleted==true");
//                DictionaryNode targetChildNode = ruleChildNode.GetChildNode("Target");
//                targetChildNode.SetAttribute("Name", ColorHighlightingTarget.Foreground.ToString());
//                targetChildNode.SetAttribute("Color", KnownColor.Red.ToString());
//            }
//        }


        private void recylcleBinSingleChoiceAction_Execute(object sender, SingleChoiceActionExecuteEventArgs e)
        {
//            ((MSSqlConnectionProvider) ((BaseDataLayer) (View.ObjectSpace.Session.DataLayer)).ConnectionProvider).
//                RecycleBin =
//                ((RecycleBinEnum) recylcleBinSingleChoiceAction.SelectedItem.Data);
            CollectionSourceBase collectionSourceBase = ((ListView) View).CollectionSource;
            collectionSourceBase.Reload();
            collectionSourceBase.ResetCollection();
        }
 private void ModifyModelActionOnExecute(object sender, SingleChoiceActionExecuteEventArgs e)
 {
 }
 protected abstract void ModifyModelActionOnExecute(object sender, SingleChoiceActionExecuteEventArgs e);
Example #32
0
 void SingleChoiceActionOnExecute(object sender, SingleChoiceActionExecuteEventArgs singleChoiceActionExecuteEventArgs)
 {
     FilterProviderManager.Providers.OfType <ContinentFilterProvider>().Single().FilterValue = singleChoiceActionExecuteEventArgs.SelectedChoiceActionItem.Data;
     ObjectSpace.Refresh();
 }
Example #33
0
 protected override void New(SingleChoiceActionExecuteEventArgs args)
 {
     Application.DetailViewCreating += Application_DetailViewCreating;
     base.New(args);
 }
 private void singleChoiceAction1_Execute(object sender, SingleChoiceActionExecuteEventArgs e)
 {
 }
        private void ComprobanteExportAndMailReportAction_Execute(object sender, SingleChoiceActionExecuteEventArgs e)
        {
            if (e.SelectedObjects.Count == 0)
            {
                return;
            }

            var rutaBase = RutaExpComprobantes;

            if (string.IsNullOrEmpty(rutaBase))
            {
                throw new UserFriendlyException("No está definida la ruta para exportación de comprobantes");
            }

            var cuentaEmail = Identificadores.GetInstance(ObjectSpace).CuentaEmailFacturacion;

            if (cuentaEmail == null)
            {
                throw new UserFriendlyException("No está definida la cuenta de mail para el envío de comprobantes");
            }

            var plantillaMensaje   = Identificadores.GetInstance(ObjectSpace).PlantillaMensajeFacturacion;
            var plantillaContenido = plantillaMensaje != null ? plantillaMensaje.Contenido : "";

            foreach (Comprobante obj in e.SelectedObjects)
            {
                var criteria = (CriteriaOperator) new BinaryOperator(View.ObjectTypeInfo.KeyMember.Name, ObjectSpace.GetKeyValue(obj));

                var reportData = ObjectSpace.GetObject(( IReportData )e.SelectedChoiceActionItem.Data);
                var rep        = ( XafReport )reportData.LoadReport(ObjectSpace);
                rep.SetFilteringObject(new LocalizedCriteriaWrapper(View.ObjectTypeInfo.Type, criteria));

                var ruta     = expandFilename(obj, rutaBase);
                var fileName = Path.GetFileName(ruta);
                var ms       = new MemoryStream( );
                rep.ExportToPdf(ms);

                var mail = new MailMessage( );
                mail.Attachments.Add(new Attachment(ms, fileName, "application/pdf"));

                var cliente = ObjectSpace.FindObject <Cliente>(new BinaryOperator("Persona.Oid", obj.Destinatario.Oid));
                if (cliente == null)
                {
                    return;
                }

                var destinatario = cliente.EmailEnvioFacturacion;
                if (destinatario == null)
                {
                    continue;
                }

                mail.From = new MailAddress(cuentaEmail.DireccionEmail, cuentaEmail.NombreMostrar);
                mail.To.Add(new MailAddress(destinatario.Valor, cliente.Persona.Nombre));
                mail.CC.Add(new MailAddress("*****@*****.**", "Info (Facturacion)"));
                mail.Subject    = fileName;
                mail.Body       = plantillaContenido;
                mail.IsBodyHtml = true;

                cuentaEmail.SendMail(mail);
            }
        }
 void showInReportAction_Execute(object sender, SingleChoiceActionExecuteEventArgs e) {
     if (View.SelectedObjects.Count == 0) {
         return;
     }
     ShowInAnalysis(e);
 }
Example #37
0
 private void saSearchObjectActionCore_Execute(object sender, SingleChoiceActionExecuteEventArgs args)
 {
     SearchObject(args);
 }
        private void MiniNavigationAction_Execute(object sender, SingleChoiceActionExecuteEventArgs e)
        {
            if (e.CurrentObject == null)
            {
                return;
            }

            if (MiniNavigationAction.SelectedItem == null)
            {
                return;
            }

            object currentObj = e.CurrentObject;

            Frame  frame = Frame;
            View   view  = View;
            string path  = e.SelectedChoiceActionItem.Id;
            //if (selId == path) return;
            String selId = path;

            if ((view as DetailView) != null & selId == "This")
            {
                return;
            }

            BaseObject obj = GetObjectOnPathEnd(path, (BaseObject)currentObj);

            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

            // Считывание из модели view, через которое надо показать объект и оно задано
            IModelView modelView = null;

            DevExpress.ExpressApp.ListView   listView   = view as DevExpress.ExpressApp.ListView;
            DevExpress.ExpressApp.DetailView detailView = view as DevExpress.ExpressApp.DetailView;

            //if (IsMiniNavigationDefined) {
            //    // Узел в модели
            //    IModelView node = null;
            //    node = View.Model.Application.Views[((listView != null) ? listView.Id : "") + ((detailView != null) ? detailView.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;
            IModelMiniNavigations miniNavigationNode = FindMiniNavigationModel(View);

            if (miniNavigationNode != null)
            {
                foreach (IModelMiniNavigationItem miniNavigationItem in miniNavigationNode.GetNodes <IModelMiniNavigationItem>())
                {
                    if (miniNavigationItem.NavigationPath == selId)
                    {
                        modelView = miniNavigationItem.View;
                        break;
                    }
                }
                //break;
            }
            //        }
            //    }
            //}


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

            // Сбрасываем состояние списка
            MiniNavigationAction.SelectedItem  = null;
            MiniNavigationAction.SelectedIndex = 0;

            // Небольшая разборка с сочетанием значений openMode и типа текущего View - List или Detail - в целях
            // определения фрейма, в который грузить
            if (MasterDetailViewFrame != null && (openMode == TargetWindow.Current & (view as ListView) != null & ((frame as NestedFrame) != null | !view.IsRoot)))
            {
                // Тогда Current трактуем как корневое окно
                resultFrame = MasterDetailViewFrame;
                {
                    //IObjectSpace objectSpace = resultFrame.View.ObjectSpace;
                    IObjectSpace objectSpace       = resultFrame.Application.CreateObjectSpace(); // Всё равно предыдущий 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
                    {
                        ViewID = Application.FindDetailViewId(ChoiceType);
                        dv     = resultFrame.Application.CreateDetailView(objectSpace, ViewID, true, representativeObj) as DetailView;
                    }

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

            // Общий алгоритм
            {
                IObjectSpace objectSpace = null;

                // Анализ того, какой ObjectSpace нужен
                if ((frame as NestedFrame) != null | !view.IsRoot)
                {
                    objectSpace = resultFrame.View.ObjectSpace.CreateNestedObjectSpace();
                }
                //objectSpace = resultFrame.View.ObjectSpace.CreateNestedObjectSpace();
                if (objectSpace == null)
                {
                    objectSpace = resultFrame.Application.CreateObjectSpace();
                }

                object representativeObj = objectSpace.GetObject(obj);

                //ViewID = Application.FindDetailViewId(ChoiceType);
                //DetailView dv = frame.Application.CreateDetailView(objectSpace, ViewID, true, representativeObj);

                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
                {
                    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.ShowViewParameters.Assign(svp);
            }
        }
Example #39
0
 private void ImportDataAction_Execute(object sender, SingleChoiceActionExecuteEventArgs e)
 {
     ImportData(e);
 }
 void changeDatabaseAction_Execute(object sender, SingleChoiceActionExecuteEventArgs e)
 {
     SecuritySystem.Instance.Logoff();
     HttpContext.Current.Session.Abandon();
     WebApplication.Redirect(string.Format("{0}?{1}={2}", FormsAuthentication.DefaultUrl, DatabaseParameterName, (string)e.SelectedChoiceActionItem.Data));
 }
Example #41
0
 private void actionChooseFontSize_Execute(object sender, SingleChoiceActionExecuteEventArgs e)
 {
     FontOptions.FontSizes.SelectedFontSize = FontOptions.FontSizes.Where(x => x.Caption == e.SelectedChoiceActionItem.Caption).First();
     SetFontSize();
 }
Example #42
0
        private void StartProdOrder(ProdOrder prodOrder, SingleChoiceActionExecuteEventArgs e)
        {
            if (prodOrder.ProdRoutes.Count == 0)
            {
                DevExpress.XtraEditors.XtraMessageBox.Show(string.Format("此产品({0})还没有定义流程, 所以不能发单", prodOrder.Item.ItemNo), string.Format("生产单 {0}", prodOrder.OrderNo));
                return;
            }

            if (prodOrder.ProdBoms.Count == 0)
            {
                DevExpress.XtraEditors.XtraMessageBox.Show(string.Format("此产品({0})还没有定义Bom, 所以不能发单", prodOrder.Item.ItemNo), string.Format("生产单 {0}", prodOrder.OrderNo));
                return;
            }

            if (prodOrder.NeedQty - prodOrder.StartQty <= 0)
            {
                DialogResult result = DevExpress.XtraEditors.XtraMessageBox.Show("你曾经开始过这张生产单, 请问是否要重覆再开始?", "警告", MessageBoxButtons.YesNo);

                if (result == DialogResult.No)
                    return;
            }

            XPObjectSpace objectSpace = (XPObjectSpace)Application.CreateObjectSpace();
            prodOrderStart = objectSpace.CreateObject<ProdOrderStart>();

            objectSpace.Committed += new EventHandler(objectSpace_ProdOrderStart);

            ProdOrder parentProdOrder = objectSpace.Session.GetObjectByKey<ProdOrder>(prodOrder.Oid);
            prodOrderStart.ProdOrder = parentProdOrder;
            prodOrderStart.Qty = parentProdOrder.NeedQty - parentProdOrder.StartQty;

            if (prodOrderStart.Qty < 0)
                prodOrderStart.Qty = 0;

            e.ShowViewParameters.CreatedView = Application.CreateDetailView(objectSpace, prodOrderStart);
            e.ShowViewParameters.TargetWindow = TargetWindow.NewModalWindow;
            e.ShowViewParameters.Context = TemplateContext.PopupWindow;
            e.ShowViewParameters.CreateAllControllers = true;
            DialogController dialogController = new DialogController();
            e.ShowViewParameters.Controllers.Add(dialogController);
        }
 public override void Execute(SingleChoiceActionExecuteEventArgs args)
 {
     bool controllerWasActive = this.Action.Active["Controller active"];
     bool handled = false;
     if (!controllerWasActive)
     {
         this.Action.Active["Controller active"] = true;
     }
     try
     {
         SimpleAction simpleAction = this.Action as SimpleAction;
         if (simpleAction != null)
         {
             simpleAction.DoExecute();
             return;
         }
         PopupWindowShowAction popupWindowShowAction = this.Action as PopupWindowShowAction;
         if (popupWindowShowAction != null)
         {
             CustomizePopupWindowParamsEventArgs popupWindowParams = popupWindowShowAction.GetPopupWindowParams();
             args.ShowViewParameters.Context = popupWindowParams.Context;
             args.ShowViewParameters.Controllers.Add(popupWindowParams.DialogController);
             args.ShowViewParameters.CreateAllControllers = true;
             args.ShowViewParameters.CreatedView = popupWindowParams.View;
             args.ShowViewParameters.TargetWindow = TargetWindow.NewModalWindow;
             popupWindowParams.View.Closed += (sender, e) =>
             {
                 if (!controllerWasActive)
                     this.Action.Active["Controller active"] = false;
             };
             handled = true;
         }
         SingleChoiceAction singleChoiceAction = this.Action as SingleChoiceAction;
         if (singleChoiceAction != null)
         {
             singleChoiceAction.DoExecute(singleChoiceAction.SelectedItem);
         }
     }
     finally
     {
         if (!controllerWasActive && !handled)
             this.Action.Active["Controller active"] = false;
     }
 }
Example #44
0
        private void UpdateProdOrder_Execute(object sender, SingleChoiceActionExecuteEventArgs e)
        {
            switch (e.SelectedChoiceActionItem.Data.ToString() )
            {
                case "Calculate":
                    CalculateProdOrder((ProdOrder)e.SelectedObjects[0]);
                    break;
                case "Cancel":
                    CancelProdOrder((ProdOrder)e.SelectedObjects[0]);
                    break;
                case "Start":
                    StartProdOrder((ProdOrder)e.SelectedObjects[0], e);
                    break;

                case "Finish":
                    FinishProdOrder((ProdOrder)e.SelectedObjects[0], e);
                    break;
                case "Complete":
                    CompleteProdOrder((ProdOrder)e.SelectedObjects[0]);
                    break;
                case "RouteTransfer":
                    CreateRouteTransfer((ProdOrder)e.SelectedObjects[0], e);
                    break;
            }
        }
Example #45
0
        private void FilteringCriterionListAction_Execute(object sender, SingleChoiceActionExecuteEventArgs e)
        {
            // В зависимости от выбранного пункта вызывается та или иная форма
            if (detailView == null)
            {
                return;
            }
            DevExpress.ExpressApp.DC.ITypeInfo objectTypeInfo = detailView.ObjectTypeInfo;

            XafExtAnalysis currentObject = detailView.CurrentObject as XafExtAnalysis;

            if (currentObject == null)
            {
                return;
            }

            // Находим, если задан, фильтр из модели
            string           choiceActionItemFilterString = "";
            FilterController fc = Frame.GetController <FilterController>();
            ChoiceActionItem choiceActionItem = ((SingleChoiceAction)(fc.Actions["SetFilter"])).SelectedItem;

            if (choiceActionItem != null)
            {
                choiceActionItemFilterString = choiceActionItem.Data.ToString();
            }

            if (e.SelectedChoiceActionItem.Data != null)
            {
                IModelDetailView node = e.SelectedChoiceActionItem.Data as IModelDetailView;

                // Тип объекта-фильтра
                Type filterObjType = node.ModelClass.TypeInfo.Type;

                string strCriteria = this.criteriaBuilderString;

                IObjectSpace  objectSpace = frame.Application.CreateObjectSpace();
                ICustomFilter objFilter   = objectSpace.CreateObject(filterObjType) as ICustomFilter;
                if (objFilter == null)
                {
                    return;
                }
                objFilter.LV                 = null;
                objFilter.DV                 = detailView;
                objFilter.objectTypeInfo     = objectTypeInfo;
                objFilter.CriteriaController = this;

                objFilter.AdditionalCriterionString = choiceActionItemFilterString;

                //objFilter.Criterion = strCriteria;

                string DetailViewId = frame.Application.FindDetailViewId(objFilter.GetType());

                if (FilterIsShowihg & currentFilterId == DetailViewId)
                {
                    FilterPanelHide();
                    return;
                }

                currentFilterId = DetailViewId;
                FilterIsShowihg = true;

                wp = objFilter as ICustomFilter;
                if (wp == null)
                {
                    return;
                }
                wp.ClearFilter();

                DetailView newView = frame.Application.CreateDetailView(objectSpace, DetailViewId, false, objFilter);
                newView.CreateControls();

                filterPanel.Controls.Clear();
                DevExpress.ExpressApp.Win.Layout.XafLayoutControl ctrlFilter = ((DevExpress.ExpressApp.Win.Layout.XafLayoutControl)newView.Control);
                filterPanel.Controls.Add(ctrlFilter);

                AnalysisCriterionListAction.SelectedIndex = 0;

                //FilterPanelShow(100);
                //FilterPanelShow(GetFilterHight(newView) + 30);

                // Устанавливаем преднастроенный фильтр, если он определён
                currentObject.Criteria = currentObject.AdminCriteria;

                //AnalysisEditorWin analysisEditor = null;
                //IList<AnalysisEditorWin> analysisEditors = detailView.GetItems<AnalysisEditorWin>();
                //if (analysisEditors.Count == 1) {
                //    analysisEditor = analysisEditors[0];
                //}
                //if (analysisEditor != null) {
                //    ChartControl chartControl = ((AnalysisControlWin)analysisEditor.Control).ChartControl;
                //    PivotGridControl pivotGridControl = ((AnalysisControlWin)analysisEditor.Control).PivotGrid;
                //    // Do what you want with the chart and pivot grid controls
                //    pivotGridControl.RefreshData();
                //    chartControl.RefreshData();
                //    //pivotGridControl.Update();
                //}

                ExecStandartAction(analysisDataBindController.UnbindDataAction);

                FilterPanelShow(GetFilterHight(newView) + 30);

                return;
            }
        }
Example #46
0
 protected abstract void Compile(SingleChoiceActionExecuteEventArgs e);
        protected override void ShowNavigationItem(SingleChoiceActionExecuteEventArgs args)
        {
            if (args.SelectedChoiceActionItem.Data == null)
            {
                base.ShowNavigationItem(args);
                return;
            }
            ViewId = ((DevExpress.ExpressApp.ViewShortcut)(args.SelectedChoiceActionItem.Data)).ViewId;

            if (string.IsNullOrEmpty(ViewId))
            {
                DevExpress.XtraEditors.XtraMessageBox.Show("Не найдена форма для представления объекта");
                return;
            }

            IModelDetailView modelDetailView = Application.FindModelView(ViewId) as IModelDetailView;

            if (modelDetailView == null)
            {
                //isPers = true;
                base.ShowNavigationItem(args);
                return;
            }

            // Знание, является ли объект NonPersisten пока не нужно
            //isPers = ((IModelDetailView)modelDetailView).AsObjectView.ModelClass.TypeInfo.IsPersistent;


            /*
             * // Случай, когда NonPersistent - объект создаём самостоятельно
             * Frame frame = Frame;
             * IObjectSpace objectSpace = Application.CreateObjectSpace();
             * Type nonPersistentType = ((((((IModelNavigationItem)(args.SelectedChoiceActionItem.Model)).View).AsObjectView).ModelClass).TypeInfo).Type;
             * object newObj = objectSpace.CreateObject(nonPersistentType);
             *
             * // Показываем:
             * TargetWindow openMode = TargetWindow.Current;
             * dv = frame.Application.CreateDetailView(objectSpace, ViewId, true, newObj);
             * //dv = frame.Application.CreateDetailView(objectSpace, newObj);
             * //frame.SetView(dv);
             *
             * //DetailView dv = frame.Application.CreateDetailView(objectSpace, newObj, true);
             * dv.ViewEditMode = DevExpress.ExpressApp.Editors.ViewEditMode.Edit;
             * args.ShowViewParameters.Context = TemplateContext.View;
             * args.ShowViewParameters.CreateAllControllers = true;
             * args.ShowViewParameters.TargetWindow = openMode;
             * args.ShowViewParameters.CreatedView = dv;
             * base.ShowNavigationItem(args);
             */



            // Показываем NonPersistent объект - ошибка!!!
            Frame        frame             = Frame;
            IObjectSpace objectSpace       = Application.CreateObjectSpace();
            Type         nonPersistentType = ((((((IModelNavigationItem)(args.SelectedChoiceActionItem.Model)).View).AsObjectView).ModelClass).TypeInfo).Type;
            object       newObj            = objectSpace.CreateObject(nonPersistentType);

            // Показываем:
            TargetWindow openMode = TargetWindow.Current;

            dv = frame.Application.CreateDetailView(objectSpace, ViewId, true, newObj);
            //dv = frame.Application.CreateDetailView(objectSpace, newObj);
            //frame.SetView(dv);

            ShowViewParameters svp = new ShowViewParameters();

            svp.CreatedView          = dv;
            svp.TargetWindow         = openMode;
            svp.Context              = TemplateContext.View;
            svp.CreateAllControllers = true;
            frame.Application.ShowViewStrategy.ShowView(svp, new ShowViewSource(frame, this.ShowNavigationItemAction));



            /*
             * // Показываем обычный Persistent объект - та же ошибка!!!
             * Frame frame = Frame;
             * IObjectSpace objectSpace = Application.CreateObjectSpace();
             * Type nonPersistentType = typeof(IntecoAG.ERM.CS.Country.csCountry);
             * object newObj = objectSpace.CreateObject(nonPersistentType);
             *
             * // Показываем:
             * TargetWindow openMode = TargetWindow.Current;
             * dv = frame.Application.CreateDetailView(objectSpace, "csCountry_DetailView", true, newObj);
             * //dv = frame.Application.CreateDetailView(objectSpace, newObj);
             * //frame.SetView(dv);
             *
             * ShowViewParameters svp = new ShowViewParameters();
             * svp.CreatedView = dv;
             * svp.TargetWindow = openMode;
             * svp.Context = TemplateContext.View;
             * svp.CreateAllControllers = true;
             * frame.Application.ShowViewStrategy.ShowView(svp, new ShowViewSource(frame, null));
             */
        }
Example #48
0
        private void FilteringCriterionListAction_Execute(object sender, SingleChoiceActionExecuteEventArgs e)
        {
            // Глушим стандартный полнотекстовый поиск
            standardFilterController.FullTextFilterAction.Enabled[FTS_DO_NOT_ENABLED] = false;
            ListViewClearFilter.Enabled[DO_NOT_ENABLED] = true;
            ListViewApplyFilter.Enabled[DO_NOT_ENABLED] = true;


            // В зависимости от выбранного пункта вызывается та или иная форма

            //frame = Frame;
            //view = View;
            //listView = view as DevExpress.ExpressApp.ListView;

            if (listView == null)
            {
                return;
            }

            // Находим, если задан, фильтр из модели
            string           choiceActionItemFilterString = "";
            FilterController fc = Frame.GetController <FilterController>();
            ChoiceActionItem choiceActionItem = ((SingleChoiceAction)(fc.Actions["SetFilter"])).SelectedItem;

            if (choiceActionItem != null)
            {
                choiceActionItemFilterString = choiceActionItem.Data.ToString();
            }


            if (e.SelectedChoiceActionItem.Id == "CriteriaBuilder")
            {
                // Показ формы построения запроса с помощью построителя критериев

                if (FilterIsShowihg)
                {
                    if (currentFilterId == "CriteriaBuilder")
                    {
                        FilterPanelHide();
                        return;
                    }
                }

                currentFilterId = "CriteriaBuilder";
                FilterIsShowihg = true;

                // Разблокируем кнопку применения фильтра
                ListViewApplyFilter.Enabled.Clear();
                ListViewApplyFilter.Enabled[DO_NOT_ENABLED] = true;

                // Тип объекта-фильтра
                Type filterObjType = typeof(FilteringCriterion);

                string strCriteria = this.criteriaBuilderString;

                IObjectSpace       objectSpace = frame.Application.CreateObjectSpace();
                FilteringCriterion objFilter   = objectSpace.CreateObject(filterObjType) as FilteringCriterion; // objectSpace.GetObject(currentObject);
                if (objFilter == null)
                {
                    return;
                }
                //objFilter.LV = listView;
                objFilter.objectTypeInfo = objectTypeInfo;
                //objFilter.CriteriaController = this;

                objFilter.Criterion = strCriteria; // Остаётся для построителя запросов в форме FilteringCriterion.cs
                //objFilter.AdditionalCriterionString = choiceActionItemFilterString;

                wp = objFilter as ICustomFilter;
                if (wp == null)
                {
                    return;
                }

                string DetailViewId = frame.Application.FindDetailViewId(objFilter.GetType());

                DetailView newView = frame.Application.CreateDetailView(objectSpace, DetailViewId, false, objFilter);
                newView.CreateControls();

                filterPanel.Controls.Clear();
                DevExpress.ExpressApp.Win.Layout.XafLayoutControl ctrlFilter = ((DevExpress.ExpressApp.Win.Layout.XafLayoutControl)newView.Control);
                filterPanel.Controls.Add(ctrlFilter);

                FilteringCriterionListAction.SelectedIndex = 0;

                FilterPanelShow(130);

                return;
            }

            if (e.SelectedChoiceActionItem.Data != null)
            {
                // Показ формы с полями от NonPersistent объекта, через которую формировать критерий поиска, присваивать его
                // списку и reload() этого списка

                // Разблокируем кнопку применения фильтра
                ListViewApplyFilter.Enabled.Clear();
                ListViewApplyFilter.Enabled[DO_NOT_ENABLED] = true;

                IModelDetailView node = e.SelectedChoiceActionItem.Data as IModelDetailView;

                // Тип объекта-фильтра
                Type filterObjType = node.ModelClass.TypeInfo.Type;

                string strCriteria = this.criteriaBuilderString;

                IObjectSpace  objectSpace = frame.Application.CreateObjectSpace();
                ICustomFilter objFilter   = objectSpace.CreateObject(filterObjType) as ICustomFilter;
                if (objFilter == null)
                {
                    return;
                }
                //objFilter.LV = listView;
                objFilter.objectTypeInfo = objectTypeInfo;
                //objFilter.CriteriaController = this;

                //objFilter.AdditionalCriterionString = choiceActionItemFilterString;

                //objFilter.Criterion = strCriteria;

                string DetailViewId = frame.Application.FindDetailViewId(objFilter.GetType());

                if (FilterIsShowihg & currentFilterId == DetailViewId)
                {
                    FilterPanelHide();
                    return;
                }

                currentFilterId = DetailViewId;
                FilterIsShowihg = true;

                wp = objFilter as ICustomFilter;
                if (wp == null)
                {
                    return;
                }

                DetailView newView = frame.Application.CreateDetailView(objectSpace, DetailViewId, false, objFilter);
                newView.CreateControls();

                filterPanel.Controls.Clear();
                DevExpress.ExpressApp.Win.Layout.XafLayoutControl ctrlFilter = ((DevExpress.ExpressApp.Win.Layout.XafLayoutControl)newView.Control);
                filterPanel.Controls.Add(ctrlFilter);

                FilteringCriterionListAction.SelectedIndex = 0;

                //FilterPanelShow(100);
                FilterPanelShow(GetFilterHight(newView) + 30);

                return;
            }
        }