当前位置: 首页>>代码示例>>C#>>正文


C# IObjectSpace.Delete方法代码示例

本文整理汇总了C#中IObjectSpace.Delete方法的典型用法代码示例。如果您正苦于以下问题:C# IObjectSpace.Delete方法的具体用法?C# IObjectSpace.Delete怎么用?C# IObjectSpace.Delete使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在IObjectSpace的用法示例。


在下文中一共展示了IObjectSpace.Delete方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。

示例1: ExecuteModule

        private void ExecuteModule(IDynamicModule module, ExecuteCommand command, IObjectSpace os, IExamination examination)
        {
            // Определяем идентификатор приложения которое будет открывать файл обследования
            // Для модулей которые могут работать с несколькими приложениями
            Guid soft = examination.ExaminationSoftType.ExaminationSoftTypeId;

            // Получаем имя РЕАЛЬНОГО файла обследования из базы !!!
            string file = examination.ExaminationFile.RealFileName;
            Guid context = (examination as DevExpress.ExpressApp.DC.DCBaseObject).Oid;

            if (System.IO.File.Exists(file) == true)
            {// если файл удалось найти в том месте, где он должен быть
                if (FileWatcher.GetFileState(file) == FileState.Close)
                {// если файл никем не используется т.е закрыт
                    if (new FileInfo(file).Length == 0)
                    {// если файл обследования по какой то причине пустой, то открываем его как новый
                        // Проверяем готовность модуля
                        if (ModuleIsReady(module, soft, command) == false) return;

                        PatientData data = GetFromExamination(examination);

                        if (TryToExecuteModule(module, ExecuteCommand.New, file, context, data) == false)
                        {// если при запуске приложения возникла ошибка

                            // удаляем обследование если его можно удалять
                            if (examination.AllowEmptyOrNotExistsFile == false)
                                os.Delete(examination);
                            string message = CaptionHelper.GetLocalizedText("Exceptions", "TheExecutableFileOfRequestedApplicationWasNotFound");
                            string title = CaptionHelper.GetLocalizedText("Captions", "ApplicationLaunchError");

                            XtraMessageBox.Show(message, title,
                                         System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
                        }

                        if (os.IsModified == true)
                            os.CommitChanges();
                    }
                    else
                    {// Если файл не пустой
                        // Проверяем готовность модуля
                        if (ModuleIsReady(module, soft, command) == false) return;

                        if (TryToExecuteModule(module, command, file, context) == false)
                        {
                            string message = CaptionHelper.GetLocalizedText("Exceptions", "TheExecutableFileOfRequestedApplicationWasNotFound");
                            string title = CaptionHelper.GetLocalizedText("Captions", "ApplicationLaunchError");

                            XtraMessageBox.Show(message, title,
                                         System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Error);
                        }

                        if (os.IsModified == true)
                            os.CommitChanges();
                    }
                }
                else
                {// если файл в момент записи открыт где то еще
                    string message = "Ошибка доступа к файлу обследования!\nВозможно файл открыт внешним приложением или нет прав доступа"; //CaptionHelper.GetLocalizedText("Warnings", "RequiredExaminationIsAlreadyLaunched");

                    XtraMessageBox.Show(message, "",
                        System.Windows.Forms.MessageBoxButtons.OK, System.Windows.Forms.MessageBoxIcon.Warning);
                    return;
                }
            }
            else // АХТУНГ !!! НАДО УДАЛЯТЬ ОБСЛЕДОВАНИЯ СОДЕРЖАШИЕ УДАЛЕННЫЕ ФАЙЛЫ ИЛИ НЕ НАДО ?!!?!?!?
            {// если реального файла нет - создаем новый пустой файл
                using (Stream stream = File.Create(file)) { };

                // Проверяем готовность модуля
                if (ModuleIsReady(module, soft, command) == false) return;

                PatientData data = GetFromExamination(examination);
                TryToExecuteModule(module, ExecuteCommand.New, file, context, data);
            }
            os.Refresh();
        }
开发者ID:Rukhlov,项目名称:DataStudio,代码行数:76,代码来源:RunDynamicModuleController.cs

示例2: OnRequestProcessed

 protected virtual void OnRequestProcessed(IObjectSpace objectSpace, ObjectChangedXpoStartWorkflowRequest request) {
     objectSpace.Delete(request);
     objectSpace.CommitChanges();
 }
开发者ID:kevin3274,项目名称:eXpand,代码行数:4,代码来源:StartWorkflowOnObjectChangeService.cs

示例3: CreateSystemTypes

        public static void CreateSystemTypes(IObjectSpace ObjectSpace,IModelApplication app,bool deleteExists)
        {
            var objs = ObjectSpace.GetObjects<BusinessObject>(new BinaryOperator("IsRuntimeDefine", false));
            if (objs.Count > 0)
                return;

            ObjectSpace.Delete(objs);

            #region 系统类型
            AddBusinessObject(typeof (单据<>), "单据<明细>", CreateNameSpace(typeof (单据<>).Namespace,ObjectSpace),
                "单据<明细>,继承自单据基类,支持将明细类型做为参数传入(内部使用泛型实现)", false,ObjectSpace);

            //AddBusinessObject(typeof (订单<>), "订单<明细>", CreateNameSpace(typeof (订单<>).Namespace, ObjectSpace),
            //    "订单<明细>,继承自 单据<明细>基类 ,支持将明细类型做为参数传入(内部使用泛型实现),并支持各类订单类型的抽象实现.", false, ObjectSpace);

            //AddBusinessObject(typeof (仓库单据基类<>), "仓库单据基类<明细>", CreateNameSpace(typeof (仓库单据基类<>).Namespace,ObjectSpace),
            //    "仓库单据基类<明细>,继承自 单据<明细>基类,支持将明细类型做为参数传入(内部使用泛型实现),并支持各类仓库类单据的抽象实现.", false,ObjectSpace);

            //AddBusinessObject(typeof (库存单据明细<>), "库存单据明细<单据>", CreateNameSpace(typeof (库存单据明细<>).Namespace,ObjectSpace),
            //    "继承自库存流水,用于库存单据明细的基类,需要传入单据类型.", false,ObjectSpace);

            //AddBusinessObject(typeof (订单明细<>), "订单明细<订单>", CreateNameSpace(typeof (订单明细<>).Namespace,ObjectSpace), "可以与订单<订单明细>成对出现使用.",false,ObjectSpace);

            AddBusinessObject(typeof (明细<>), "明细<单据>", CreateNameSpace(typeof (明细<>).Namespace, ObjectSpace),
                "可以与单据<明细>成对继承使用.", false, ObjectSpace);
            //第一步,创建出所有基类类型

            var exists = ObjectSpace.GetObjects<BusinessObjectBase>(null, true);

            foreach (var bom in app.BOModel)
            {
                if (!bom.TypeInfo.Type.IsGenericType && bom.TypeInfo.Type.Assembly.Location != AdmiralEnvironment.UserDefineBusinessFile.FullName)
                {
                    var ns = CreateNameSpace(bom.TypeInfo.Type.Namespace, ObjectSpace);
                    AddBusinessObject(bom.TypeInfo.Type, bom.Caption, ns, "", false, ObjectSpace);
                }
            }

            //第二步,创建这些类的属性,因为属性中可能使用了类型,所以先要创建类型.
            var bos = ObjectSpace.GetObjects<BusinessObject>(null, true);
            foreach (var bob in bos.Where(x => !x.IsRuntimeDefine))
            {
                var type = ReflectionHelper.FindType(bob.FullName);

                if (type.BaseType != null && type.BaseType != typeof (object))
                {
                    var fullName = type.BaseType.Namespace + "." + type.BaseType.Name;

                    var baseType = bos.SingleOrDefault(x => x.FullName == fullName);
                    bob.Base = baseType;

                    if (bob.Base == null)
                    {
                        Debug.WriteLine(type.FullName + "没有找到基类:" + fullName);
                    }
                }

                if (type.IsGenericType)
                {
                    bob.DisableCreateGenericParameterValues = true;

                    foreach (var item in type.GetGenericArguments())
                    {
                        var gp = ObjectSpace.CreateObject<GenericParameter>();
                        gp.Owner = bob;
                        gp.Name = item.Name;
                        if (item.IsGenericParameter)
                        {
                            gp.ParameterIndex = item.GenericParameterPosition;
                        }
                        else
                        {
                        }
                        if (!string.IsNullOrEmpty(item.FullName))
                            gp.ParameterValue = exists.SingleOrDefault(x => x.FullName == item.FullName);

                        var att =
                            item.GetCustomAttributes(typeof (ItemTypeAttribute), false)
                                .OfType<ItemTypeAttribute>()
                                .FirstOrDefault();
                        if (att != null)
                        {
                            var gi = bos.SingleOrDefault(x => x.FullName == att.ItemType.FullName);
                            gp.DefaultGenericType = gi;
                        }
                    }
                }

                var typeInfo = CaptionHelper.ApplicationModel.BOModel.GetClass(type);
                if (typeInfo != null && false)
                {
                    foreach (var tim in typeInfo.OwnMembers)
                    {
                        if (tim.MemberInfo.IsAssociation)
                        {
                            var collectionMember = ObjectSpace.CreateObject<CollectionProperty>();
                            collectionMember.Owner = bob;

                            collectionMember.Aggregated = tim.MemberInfo.IsAggregated;
                            collectionMember.名称 = tim.Name;
//.........这里部分代码省略.........
开发者ID:ZixiangBoy,项目名称:CIIP,代码行数:101,代码来源:DataInitializeWindowController.cs


注:本文中的IObjectSpace.Delete方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。