private PlugFile TranslateToPlugFile(IDataReader dataReader) { PlugFile plugFile = new PlugFile(); TranslateToPlugFile(dataReader, plugFile); return(plugFile); }
internal List <PlugFile> InternalLoadAll() { RawSqlExecuteReaderAction readerAction = new RawSqlExecuteReaderAction(); readerAction.CommandText = _loadAllCommandText; this.ExecuteCommand(readerAction); List <PlugFile> plugFileList = new List <PlugFile>(); IDataReader dataReader = readerAction.DataReader; try { int[] ordinals = GetPlugFileFieldOrdinals(dataReader); while (dataReader.Read()) { PlugFile res = new PlugFile(); TranslateToPlugFile(dataReader, res, ordinals[0], ordinals[1], ordinals[2], ordinals[3], ordinals[4]); plugFileList.Add(res); } } finally { dataReader.Close(); } return(plugFileList); }
internal List <PlugFile> InternalLoadByDestinationLocationId(int destLocId) { RawSqlExecuteReaderAction readerAction = new RawSqlExecuteReaderAction(); readerAction.CommandText = _loadByDestLocIdCommandText; readerAction.AddParameter("@DestinationLocationId", destLocId, DbType.Int32); this.ExecuteCommand(readerAction); List <PlugFile> plugFileList = new List <PlugFile>(); IDataReader dataReader = readerAction.DataReader; try { int[] ordinals = GetPlugFileFieldOrdinals(dataReader); while (dataReader.Read()) { PlugFile res = new PlugFile(); TranslateToPlugFile(dataReader, res, ordinals[0], ordinals[1], ordinals[2], ordinals[3], ordinals[4]); plugFileList.Add(res); } } finally { dataReader.Close(); } return(plugFileList); }
protected void TranslateToPlugFile(IDataReader dataReader, PlugFile plugFile, int idIndex, int nameIndex, int relInPathIndex, int destLocIndex, int plugIndex) { plugFile.PlugFileId = dataReader.GetInt32(idIndex); plugFile.PlugFileName = dataReader.GetString(nameIndex); plugFile.RelativeIncomingPath = dataReader.GetString(relInPathIndex); plugFile.DestinationLocationId = dataReader.GetInt32(destLocIndex); plugFile.PlugId = dataReader.GetInt32(plugIndex); }
protected void Delete(PlugFile plugFile) { RawSqlExecuteNonQueryAction deleteAction = new RawSqlExecuteNonQueryAction(); deleteAction.CommandText = _deleteCommandText; deleteAction.AddParameter("@PlugFileId", plugFile.PlugFileId, DbType.Int32); this.ExecuteCommand(deleteAction); }
protected void Insert(PlugFile plugFile) { RawSqlInsertAction insertAction = new RawSqlInsertAction(); insertAction.CommandText = _insertCommandText; insertAction.AddParameter("@PlugFileName", plugFile.PlugFileName, DbType.String); insertAction.AddParameter("@RelativeIncomingPath", plugFile.RelativeIncomingPath, DbType.String); insertAction.AddParameter("@DestinationLocationId", plugFile.DestinationLocationId, DbType.Int32); insertAction.AddParameter("@PlugId", plugFile.PlugId, DbType.Int32); this.ExecuteCommand(insertAction); plugFile.PlugFileId = insertAction.InsertedIdentity; }
protected void Update(PlugFile plugFile) { RawSqlExecuteNonQueryAction updateAction = new RawSqlExecuteNonQueryAction(); updateAction.CommandText = _updateCommandText; updateAction.AddParameter("@PlugFileId", plugFile.PlugFileId, DbType.Int32); updateAction.AddParameter("@PlugFileName", plugFile.PlugFileName, DbType.String); updateAction.AddParameter("@RelativeIncomingPath", plugFile.RelativeIncomingPath, DbType.String); updateAction.AddParameter("@DestinationLocationId", plugFile.DestinationLocationId, DbType.Int32); updateAction.AddParameter("@PlugId", plugFile.PlugId, DbType.Int32); this.ExecuteCommand(updateAction); }
internal PlugFile InternalLoadByPrimaryKey(int plugFileId) { RawSqlExecuteReaderAction readerAction = new RawSqlExecuteReaderAction(); readerAction.CommandText = _loadByIdCommandText; readerAction.AddParameter("@PlugFileId", plugFileId, DbType.Int32); PlugFile plugFile = null; this.ExecuteCommand(readerAction); try { readerAction.DataReader.Read(); plugFile = TranslateToPlugFile(readerAction.DataReader); } finally { readerAction.DataReader.Close(); } return(plugFile); }
public override void RegisterPlug(ITransactionContext context) { #region Installing Required Environments Console.WriteLine("Installing Kernel required environment"); PlugInFactory factoryPlug = PlugInFactory.GetInstance(); factoryPlug.Context = context as SqlTransactionContext; factoryPlug.InstallRequiredEnvironment(); Console.WriteLine("Installed PlugInFactory"); PlugLocationFactory factoryPlugLocation = PlugLocationFactory.GetInstance(); factoryPlugLocation.Context = context as SqlTransactionContext; factoryPlugLocation.InstallRequiredEnvironment(); Console.WriteLine("Installed PlugLocationFactory"); PlugFileFactory factoryPlugFile = PlugFileFactory.GetInstance(); factoryPlugFile.Context = context as SqlTransactionContext; factoryPlugFile.InstallRequiredEnvironment(); Console.WriteLine("Installed PlugFileFactory"); ClassDefinitionFactory factoryClassDefinition = ClassDefinitionFactory.GetInstance(); factoryClassDefinition.Context = context as SqlTransactionContext; factoryClassDefinition.InstallRequiredEnvironment(); Console.WriteLine("Installed ClassDefinitionFactory"); BindablePointDefinitionFactory factoryBindablePointDefinition = BindablePointDefinitionFactory.GetInstance(); factoryBindablePointDefinition.Context = context as SqlTransactionContext; factoryBindablePointDefinition.InstallRequiredEnvironment(); Console.WriteLine("Installed BindablePointDefinitionFactory"); BindablePointFactory factoryBindablePoint = BindablePointFactory.GetInstance(); factoryBindablePoint.Context = context as SqlTransactionContext; factoryBindablePoint.InstallRequiredEnvironment(); Console.WriteLine("Installed BindablePointFactory"); BindingFactory factoryBinding = BindingFactory.GetInstance(); factoryBinding.Context = context as SqlTransactionContext; factoryBinding.InstallRequiredEnvironment(); InstanceFactory factoryInstance = InstanceFactory.GetInstance(); factoryInstance.Context = context as SqlTransactionContext; factoryInstance.InstallRequiredEnvironment(); #endregion FileTransaction trans = new FileTransaction(); trans.BeginTransaction(); PlugIn plug = new PlugIn(); plug.PlugName = "Interlogic.Trainings.Plugs.Kernel"; plug.PlugVersion = "0.0.0.1"; plug.PlugFriendlyName = "RemoteAdmin Kernel"; plug.PlugDescription = "RemoteAdmin Kernel"; plug.Active = true; PlugLocation loc = new PlugLocation(); loc.PlugLocationName = "EXECUTABLE_DIR"; loc.PlugLocationPath = Path.Combine(InitialDir, @"bin"); loc.PlugLocationDescription = "Main executable directory"; plug.Locations.Add(loc); string EXEC_DIR = loc.PlugLocationPath; PlugFile file = new PlugFile(); file.PlugFileName = "Interlogic.Trainings.Plugs.Kernel.dll"; file.RelativeIncomingPath = @"..\..\..\Interlogic.Trainings.Plugs.Kernel\bin\Debug"; file.DestinationPath = "EXECUTABLE_DIR"; plug.Files.Add(file); trans.AddAction(new CopyFileAction(Path.Combine(file.RelativeIncomingPath, file.PlugFileName), Path.Combine(EXEC_DIR, file.PlugFileName), true)); file = new PlugFile(); file.PlugFileName = "Interlogic.Trainings.Plugs.Kernel.pdb"; file.RelativeIncomingPath = @"..\..\..\Interlogic.Trainings.Plugs.Kernel\bin\Debug"; file.DestinationPath = "EXECUTABLE_DIR"; plug.Files.Add(file); trans.AddAction(new CopyFileAction(Path.Combine(file.RelativeIncomingPath, file.PlugFileName), Path.Combine(EXEC_DIR, file.PlugFileName), true)); ClassDefinition classDef = new ClassDefinition(); classDef.Active = true; classDef.ClassDefinitionDescription = "IInstantiatable public interface"; classDef.ClassName = "Interlogic.Trainings.Plugs.Kernel.IInstantiatable"; classDef.FileName = "Interlogic.Trainings.Plugs.Kernel.dll"; plug.ClassDefinitions.Add(classDef); try { Console.WriteLine("Trying to execute file transactions"); trans.Execute(); trans.Commit(); Console.WriteLine("File transactions completed"); Console.WriteLine("KernelPlug database insertion"); PlugInController plugController = new PlugInController(context); plugController.InsertAll(plug); } catch (Exception e) { Console.WriteLine("Kernel installation failed! Rolling back"); trans.RollBack(); throw new Exception("Kernel Installation Process Failed!", e); } Console.WriteLine("KernelPlug succesfully installed!"); }
public DomainObject GetObjectByInstanceName(string instanceName) { if (this.NeedCaching(instanceName) && this.IsInCache(instanceName)) { return(this.GetFromCache(instanceName)); } Instance instance = GetBySystemName(instanceName); string className = null; int fileId = 0; using (ClassDefinitionFactory classFactory = ClassDefinitionFactory.GetInstance()) { classFactory.Context = this.FactoryContext; ClassDefinition definition = classFactory.InternalLoadByPrimaryKey(instance.ClassDefinitionId); fileId = definition.FileId; className = definition.ClassName; } string fileName = null; int fileLocationId = 0; using (PlugFileFactory fileFactory = PlugFileFactory.GetInstance()) { fileFactory.Context = this.FactoryContext; PlugFile file = fileFactory.InternalLoadByPrimaryKey(fileId); fileName = file.PlugFileName; fileLocationId = file.DestinationLocationId; } string path = null; using (PlugLocationFactory locationFactory = PlugLocationFactory.GetInstance()) { locationFactory.Context = this.FactoryContext; PlugLocation location = locationFactory.InternalLoadByPrimaryKey(fileLocationId); path = location.PlugLocationPath; } string filePath = Path.Combine(path, fileName); string assemblyName = Path.GetFileNameWithoutExtension(filePath); Type requiredType = null; Assembly[] loadedAssemblies = AppDomain.CurrentDomain.GetAssemblies(); foreach (Assembly assembly in loadedAssemblies) { if (assembly.GetName().Name == assemblyName) { requiredType = assembly.GetType(className, false, false); if (requiredType != null) { break; } } } if (requiredType == null) { Assembly newDll = Assembly.LoadFrom(filePath); requiredType = newDll.GetType(className, false, false); } if (requiredType == null) { throw new ArgumentException(string.Format("Type '{0}' was not found.", className)); } DomainObject instanceObject = (DomainObject)Activator.CreateInstance(requiredType); IInstantiatable instantinable = instanceObject as IInstantiatable; if (instantinable != null) { instantinable.Setup(instance, this.FactoryContext); } if (NeedCaching(instanceName)) { SetToCache(instanceName, instanceObject); } return(instanceObject); }
internal void InternalInsert(PlugFile plugFile) { Insert(plugFile); }
protected void TranslateToPlugFile(IDataReader dataReader, PlugFile plugFile) { int[] indexes = GetPlugFileFieldOrdinals(dataReader); TranslateToPlugFile(dataReader, plugFile, indexes[0], indexes[1], indexes[2], indexes[3], indexes[4]); }
internal void InternalDelete(PlugFile plugFile) { this.Delete(plugFile); }
internal void InternalUpdate(PlugFile plugFile) { this.Update(plugFile); }