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


C# IObjectSpace.Refresh方法代码示例

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


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


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