using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;
using libtcsoa.Client;
using Teamcenter.Services.Strong.Core;
using Teamcenter.Soa.Client;
using Teamcenter.Soa.Client.Model;
using Dataset = Teamcenter.Soa.Client.Model.Strong.Dataset;
using ImanFile = Teamcenter.Soa.Client.Model.Strong.ImanFile;
using PreferencesResponse = Teamcenter.Services.Strong.Core._2006_03.Session.PreferencesResponse;
namespace libtcsoa
{
public class DatasetManagmentClass
{
//------------------------------------------------------------------------------
#region Klassenfelder
//------------------------------------------------------------------------------
DataManagementService _dmService;
FileManagementUtility _filemanagment;
private static readonly log4net.ILog _log = new liblogger.Log(System.Reflection.MethodBase.GetCurrentMethod().DeclaringType);
string _FSC_Uri = "";
string _download_folder = "";
bool _auto_refresh = true;
//------------------------------------------------------------------------------
#region GetSet Klassenfelder
//------------------------------------------------------------------------------
///
/// Gibt an, ob das Dataset nochmal refresht wird, bevor es vom TCCS geholt wird.
/// Es kommt manchmal vor das wenn ein Dataset schon im Cache ist, nicht die Aktuelle Version geladen wird.
/// Von der Performance sollte das ganze nicht so viel aussmachen.
/// Default ist TRUE
///
public bool AutoRefresh
{
get { return _auto_refresh; }
set { _auto_refresh = value; }
}
protected DataManagementService DMService
{
get { return _dmService; }
}
protected FileManagementUtility FMUtility
{
get { return _filemanagment; }
}
protected log4net.ILog Log
{
get { return _log; }
}
#endregion
#endregion
//------------------------------------------------------------------------------
#region Konstruktoren
//------------------------------------------------------------------------------
///
/// Holt die FSC Url aus den Preferences ("Default_Transient_Server")
///
///
public DatasetManagmentClass(string download_folder)
{
SessionService session_service = SessionService.getService(Session.getConnection());
PreferencesResponse response = session_service.GetPreferences("site", new string[] { "Default_Transient_Server" });
_log.Info("FMS Server " + response.Preferences.GetPreference("Default_Transient_Server")[0]);
_FSC_Uri = response.Preferences.GetPreference("Default_Transient_Server")[0].ToString();
_download_folder = download_folder;
_log.Info("CacheDir " + download_folder);
_dmService = DataManagementService.getService(Session.getConnection());
_filemanagment = new FileManagementUtility(Session.getConnection(),
"",
new string[] { _FSC_Uri },
new string[] { _FSC_Uri },
_download_folder);
}
public DatasetManagmentClass(string fsc_url, string download_folder)
{
_FSC_Uri = fsc_url;
_download_folder = download_folder;
_log.Info("CacheDir " + download_folder);
_dmService = DataManagementService.getService(Session.getConnection());
_filemanagment = new FileManagementUtility(Session.getConnection(),
"",
new string[] { _FSC_Uri },
new string[] { _FSC_Uri },
_download_folder);
}
#endregion
//------------------------------------------------------------------------------
#region Statische Methoden
//------------------------------------------------------------------------------
#endregion
//------------------------------------------------------------------------------
#region Klassenmethoden
//------------------------------------------------------------------------------
#endregion
}
}