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(); }
internal override TDMSFile CheckInFile(TDMSFile tdmsFile, FileInfo file) { return (new FileCheckInSafe( new FileCheckInLogged( //new FileCheckIn(tdmsFile, file) new FileCheckInDirect(tdmsFile, file) ) ).CheckIn()); }
public IEnumerable <TDMSFile> CheckInFiles() { var result = new List <TDMSFile>(); var newFiles = new List <FileInfo>(Files); foreach (TDMSObject tdmsObject in TdmsObjects) { foreach (TDMSFile tdmsFile in tdmsObject.Files) { foreach (FileInfo f in Files) { if (tdmsFile.FileName.Equals(f.Name)) { TDMSFile checkInResult = CheckInFile(tdmsFile, f); if (checkInResult != null) { result.Add(checkInResult); newFiles.Remove(f); } } } } foreach (FileInfo f in newFiles) { if (!tdmsObject.Files.Has(f)) { var tdmsFile = tdmsObject.Files.Create("FILE_ALL"); TDMSFile checkInResult = CheckInFile(tdmsFile, f); if (checkInResult != null) { result.Add(checkInResult); } } } } return(result); }
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; } }
public FileCheckInDirect(TDMSFile tdmsFile, FileInfo fileInfo) { TdmsFile = tdmsFile; FileInfo = fileInfo; }
internal abstract TDMSFile CheckInFile(TDMSFile tdmsFile, FileInfo file);