Exemple #1
0
        static void Main(string[] args)
        {
            #region create tdms application and login
            TDMSApplication myapp = new TDMSApplication();

            if (!myapp.IsLoggedIn)
            {
                myapp.Login("sysadmin", "", "kosmos", @"192.168.16.8\tdmsserver");
            }

            #endregion

            #region get object_tom and files

            //подключаемся к объекту по GUID
            string     GUID           = "{49DFA37A-E760-4C83-A084-9C270A47DA39}";
            TDMSObject buildingObject = myapp.GetObjectByGUID(GUID);

            // получаем все Томы (object_tom) данного Объекта (object_object). Чертежи хранятся в файловом составе Томов
            // лучше создать ручную выборку для получения Томов в примере получение черерз метод ContentAll - сквозной состав объекта

            TDMSObjects toms = buildingObject.ContentAll.ObjectsByDef("OBJECT_TOM"); //метод ObjectsByDef позволяет во всей коллекции объектов осуществить фильтр по типу объекта

            TDMSObject firstTom  = toms[0];
            TDMSFiles  tomsFiles = firstTom.Files;
            TDMSFile   firstFile = tomsFiles[0];

            firstFile.CheckOut(firstFile.WorkFileName);
            #endregion

            Console.ReadKey();
            myapp.Quit();
        }
Exemple #2
0
        public async Task UploadFiles(CancellationToken ct)
        {
            if (serviceRunning)
            {
                Logger.Debug("Сервис UploadFiles уже был запущен ранее.");
                return;
            }
            serviceRunning = true;
            try
            {
                UploadFilesExtensionConfiguration cfg = UploadFilesExtensionConfiguration.Current;
                Logger.Debug("Запуск расширения загрузки файлов в объект...");

                #region Attributes
                if (string.IsNullOrEmpty(cfg.Guid))
                {
                    Logger.Error("Параметр Guid не задан в файле конфигурации расширения. Выполнение операции приостановлено!");
                    return;
                }
                if (string.IsNullOrEmpty(cfg.Folder))
                {
                    Logger.Error("Параметр Folder не задан в файле конфигурации расширения. Выполнение операции приостановлено!");
                    return;
                }
                if (string.IsNullOrEmpty(cfg.Filedef))
                {
                    Logger.Error("Параметр Filedef не задан в файле конфигурации расширения. Выполнение операции приостановлено!");
                    return;
                }
                #endregion

                if (!Application.FileDefs.Has(cfg.Filedef))
                {
                    Logger.Error("В базе не найден выбранный для загрузки тип файла: " + cfg.Filedef); return;
                }

                TDMSObject obj = Application.GetObjectByGUID(cfg.Guid);

                if (obj == null)
                {
                    Logger.Debug("Не найден объект для импорта файлов с GUID: " + cfg.Guid);
                }
                else
                {
                    TDMSFiles files = obj.Files;
                    foreach (var filePath in Directory.GetFiles(cfg.Folder))
                    {
                        string filename = Path.GetFileName(filePath);
                        if (!files.Has(filename))
                        {
                            TDMSFile f = files.Create(cfg.Filedef, filePath);
                            Logger.Info("Файл " + filename + " загружен в базу. Handle загруженного файла: " + f.Handle);
                        }
                        else
                        {
                            Logger.Info("Файл " + filename + " пропущен - файл с данным именем уже загружен в объект.");
                        }
                    }
                    obj.Update();
                }

                Logger.Debug("Загрузка файлов завершена.");
            }
            finally
            {
                serviceRunning = false;
            }
        }