static void Main(string[] args) { IBO_Authentication _authentication; IBO_User _user; string _login; for (int _provider = 0; _provider < 3; _provider++) { switch (_provider) { case 0: Console.WriteLine("--- remoting..."); _authentication = new RC_Authentication( "tcp://127.0.0.1:8085/OGen.NTier.UTs.distributedlayer.remoting.server.RS_Authentication.remoting" //"http://127.0.0.1:8085/OGen.NTier.UTs.distributedlayer.remoting.server.RS_Authentication.soap" ); _user = new RC_User( "tcp://127.0.0.1:8085/OGen.NTier.UTs.distributedlayer.remoting.server.RS_User.remoting" //"http://127.0.0.1:8085/OGen.NTier.UTs.distributedlayer.remoting.server.RS_User.soap" ); break; case 1: Console.WriteLine("--- webservices..."); _authentication = new WC_Authentication.WC_Authentication( "http://127.0.0.1:2937/WS_Authentication.asmx" ); _user = new WC_User.WC_User( "http://127.0.0.1:2937/WS_User.asmx" ); break; default: Console.WriteLine("--- direct assembly..."); _authentication = new BC_Authentication( ); _user = new BC_User( ); break; } Console.WriteLine( "authentication string: {0}\n", _login = _authentication.Login( "fmonteiro", "passpub" ) ); OGen.NTier.UTs.lib.datalayer.proxy.ISO_User _so_user = new OGen.NTier.UTs.lib.datalayer.proxy.SO_User( 0L, string.Format( "login-{0}", Guid.NewGuid().ToString() ), "password", 0 ); _so_user.SomeNullValue_isNull = true; Console.WriteLine( "IDUser: {0}; Login: {1}; Password: {2}; SomeNullValue: {3} (is null: {4})", _so_user.IDUser, _so_user.Login, _so_user.Password, _so_user.SomeNullValue, _so_user.SomeNullValue_isNull ); long _iduser; bool _constraintExists; Console.WriteLine( "IDUser: {0}; Constraint Exists: {1}", _iduser = _user.insObject( (SO_User)_so_user, true, _login, out _constraintExists ), _constraintExists ); bool _exists; _so_user = _user.getObject( _iduser, _login, out _exists ); Console.WriteLine( "Exists: {5}; IDUser: {0}; Login: {1}; Password: {2}; SomeNullValue: {3} (is null: {4})", _so_user.IDUser, _so_user.Login, _so_user.Password, _so_user.SomeNullValue, _so_user.SomeNullValue_isNull, _exists ); long _recordLength; SO_User[] _users = _user.Record_Open_byGroup( 3L, 1, 4, _login, out _recordLength ); Console.WriteLine( "Record Length: {0}", _recordLength ); for (int i = 0; i < _users.Length; i++) { Console.WriteLine( //"IDUser: {0}; Login: {1}", "IDUser: {0}; Login: {1}; Password: {2}; SomeNullValue: {3} (is null: {4})", _users[i].IDUser, _users[i].Login, _users[i].Password, _users[i].SomeNullValue, _users[i].SomeNullValue_isNull ); } _authentication.Logout(); } return; //OGen.NTier.UTs.lib.businesslayer-2.0 Assembly _assembly = Assembly.Load( #if NET_1_1 "OGen.NTier.UTs.lib.businesslayer-1.1" #elif NET_2_0 "OGen.NTier.UTs.lib.businesslayer-2.0" #endif ); if (_assembly != null) { Type[] _types = _assembly.GetTypes(); for (int t = 0; t < _types.Length; t++) { Type _type = (Type)_types[t]; object[] _attibutes = _type.GetCustomAttributes( typeof(BOClassAttribute), true //false ); if ( (_attibutes.Length > 0) && (_type.Name.IndexOf("BO0_") != 0) && (_type.Name.IndexOf("BBO0_") != 0) ) { Console.Write("{0}; ", _type.Name); for (int c = 0; c < _attibutes.Length; c++) { BOClassAttribute _attribute = (BOClassAttribute)_attibutes[c]; Console.WriteLine( "name:{0};", _attribute.Name ); MethodInfo[] _methods = _type.GetMethods( BindingFlags.Public | BindingFlags.Instance ); for (int m = 0; m < _methods.Length; m++) { if (Attribute.IsDefined( _methods[m], typeof(BOMethodAttribute) )) { Attribute[] _attributes = Attribute.GetCustomAttributes( _methods[m], typeof(BOMethodAttribute), true ); for (int a = 0; a < _attributes.Length; a++) { //if (_attributes[a].GetType() == typeof(BOMethodAttribute)) { BOMethodAttribute _propertyattribute = (BOMethodAttribute)_attributes[a]; Console.WriteLine( "\tname:{0}; distribute:{1};", _propertyattribute.Name, _propertyattribute.Distribute ); //} } Console.WriteLine( "\t.{0}:{1}.{2}(", _methods[m].Name, _methods[m].ReturnType.Namespace, _methods[m].ReturnType.Name ); ParameterInfo[] _parameterinfo = _methods[m].GetParameters(); for (int p = 0; p < _parameterinfo.Length; p++) { Console.WriteLine( "\t\tname:{0}; type:{1}; isOut:{2}; isByRef:{3}; isEnum:{4}; isClass:{5}; isValueType:{6}", _parameterinfo[p].Name, _parameterinfo[p].ParameterType, _parameterinfo[p].IsOut, _parameterinfo[p].ParameterType.IsByRef, _parameterinfo[p].ParameterType.IsEnum, _parameterinfo[p].ParameterType.IsClass, _parameterinfo[p].ParameterType.IsValueType ); } Console.WriteLine("\t)"); } } Console.WriteLine(); } } } } return; //DO_UserGroup _usergroup_test = new DO_UserGroup( // //new DBConnection( // // DBServerTypes.SQLServer, // // "server=127.0.0.1;uid=sa;pwd=passpub;database=OGen-NTier_UTs;" // //) //); //_usergroup_test.IDGroup = 1; //_usergroup_test.IDUser = 1; //_usergroup_test.Relationdate_isNull = true; //_usergroup_test.Defaultrelation_isNull = true; //_usergroup_test.setObject(true); //OGen.NTier.UTs.lib.datalayer.UTs.UT__utils _ut_utils // = new OGen.NTier.UTs.lib.datalayer.UTs.UT__utils(); //_ut_utils.TestFixtureSetUp(); //_ut_utils.UT_Check_DataObjects_integrity(); //return; //OGen.NTier.UTs.lib.datalayer.UTs.UT_User _ut_user // = new OGen.NTier.UTs.lib.datalayer.UTs.UT_User(); //_ut_user.TestFixtureSetUp(); //_ut_user.UT_hasChanges(); //return; //OGen.NTier.UTs.lib.datalayer.UTs.UT_UserGroup // _ut_usergroup = new OGen.NTier.UTs.lib.datalayer.UTs.UT_UserGroup(); //_ut_usergroup.TestFixtureSetUp(); //_ut_usergroup.UT_bugPostgreSQL_noFunctionMatchesTheGivenNameAndArgumentTypes(); ////_ut_usergroup.UT_NullableFields(); //return; //DO_Config _config_test = new DO_Config(); //_config_test.Connection.Open(); //_config_test.Connection.Transaction.Begin(); //_config_test.Fields.Name = "test"; //_config_test.Fields.Description = "test"; //_config_test.Fields.Config = "test"; //_config_test.Fields.Type = 1; //try { // _config_test.setObject(true); // Console.WriteLine("ok"); //} catch { // Console.WriteLine("ko"); //} //_config_test.Connection.Transaction.Rollback(); //_config_test.Connection.Transaction.Terminate(); //_config_test.Connection.Close(); //_config_test.Dispose(); //return; const int _cycles = 50; DBConnection[] _cons = new DBConnection[] { #region new DBConnection(DBServerTypes.SQLServer, ...), DBConnectionsupport.CreateInstance( DBServerTypes.SQLServer, DBUtilssupport.GetInstance(DBServerTypes.SQLServer).ConnectionString.Build( "127.0.0.1", "sa", "passpub", "OGen-NTier_UTs" ) ), #endregion #region new DBConnection(DBServerTypes.PostgreSQL, ...) DBConnectionsupport.CreateInstance( DBServerTypes.PostgreSQL, DBUtilssupport.GetInstance(DBServerTypes.PostgreSQL).ConnectionString.Build( "127.0.0.1", "postgres", "passpub", "OGen-NTier_UTs" ) ) #endregion //#region new DBConnection(DBServerTypes.MySQL, ...) //, DBConnectionsupport.CreateInstance( // DBServerTypes.MySQL, // DBUtilssupport.GetInstance(DBServerTypes.MySQL).ConnectionString.Build( // "127.0.0.1", // "root", // "passpub", // "OGen-NTier_UTs" // ) //) //#endregion }; long _conter = 0L; for (int _compiled = 0; _compiled < 2; _compiled++) { for (int _con = 0; _con < _cons.Length; _con++) { _cons[_con].Open(); _cons[_con].Transaction.Begin(); for (int _cached = 0; _cached < 2; _cached++) { DO_Config _config = new DO_Config(_cons[_con]); #region _config.setObject(); _conter = DateTime.Now.Ticks; for (int c = 0; c < _cycles; c++) { _config.Fields.Name = c.ToString(); _config.Fields.Config = "DELETE THIS, IT IS A TEST"; _config.Fields.Type = 2; _config.setObject(true); } Console.WriteLine( "setObject() \t{0}\tcached:{1}\tcompiled:{2}\t{3}", DBConnectionsupport.GetDBServerType(_cons[_con]), (_cached == 1), (_compiled == 1), (DateTime.Now.Ticks - _conter).ToString() ); #endregion #region _config.Record.Open_...(false); _conter = DateTime.Now.Ticks; _config.Record.Open_all(); while (_config.Record.Read()) { ; } _config.Record.Close(); Console.WriteLine( "Record.Open() \t{0}\tcached:{1}\tcompiled:{2}\t{3}", DBConnectionsupport.GetDBServerType(_cons[_con]), (_cached == 1), (_compiled == 1), (DateTime.Now.Ticks - _conter).ToString() ); #endregion #region _config.delObject(); _conter = DateTime.Now.Ticks; _config.Record.Open_all(); while (_config.Record.Read()) { if (_config.Fields.Config == "DELETE THIS, IT IS A TEST") { _config.delObject(); } } _config.Record.Close(); Console.WriteLine( "delObject() \t{0}\tcached:{1}\tcompiled:{2}\t{3}", DBConnectionsupport.GetDBServerType(_cons[_con]), (_cached == 1), (_compiled == 1), (DateTime.Now.Ticks - _conter).ToString() ); #endregion #region _config.getObject(); _conter = DateTime.Now.Ticks; _config.Fields.Name = "SomeIntConfig"; _config.Fields.Config = "1245"; _config.Fields.Type = 4; _config.setObject(true); for (int c = 0; c < _cycles; c++) { _config.getObject("SomeIntConfig"); } Console.WriteLine( "getObject() \t{0}\tcached:{1}\tcompiled:{2}\t{3}", DBConnectionsupport.GetDBServerType(_cons[_con]), (_cached == 1), (_compiled == 1), (DateTime.Now.Ticks - _conter).ToString() ); #endregion _config.Dispose(); _config = null; //--- DO_User _do_user = new DO_User(_cons[_con]); #region _do_user.insObject(); _conter = DateTime.Now.Ticks; for (int c = 0; c < _cycles; c++) { bool _constraint; _do_user.Fields.Login = c.ToString(); _do_user.Fields.Password = "******"; _do_user.insObject(true, out _constraint); } _do_user.Record.Open_all(); while (_do_user.Record.Read()) { if (_do_user.Fields.Password == "DELETE THIS, IT IS A TEST") { _do_user.delObject(); } } _do_user.Record.Close(); Console.WriteLine( "insObject() \t{0}\tcached:{1}\tcompiled:{2}\t{3}", DBConnectionsupport.GetDBServerType(_cons[_con]), (_cached == 1), (_compiled == 1), (DateTime.Now.Ticks - _conter).ToString() ); #endregion _conter = DateTime.Now.Ticks; for (int c = 0; c < _cycles; c++) { if (!_do_user.isObject_byLogin("fmonteiro")) { bool _constraint; _do_user.Fields.Login = "******"; _do_user.Fields.Password = "******"; _do_user.insObject(true, out _constraint); } _do_user.getObject_byLogin("fmonteiro"); } Console.WriteLine( "getObject_by() \t{0}\tcached:{1}\tcompiled:{2}\t{3}", DBConnectionsupport.GetDBServerType(_cons[_con]), (_cached == 1), (_compiled == 1), (DateTime.Now.Ticks - _conter).ToString() ); _do_user.Dispose(); _do_user = null; } _cons[_con].Transaction.Rollback(); _cons[_con].Transaction.Terminate(); _cons[_con].Close(); } } Console.WriteLine("Press any key to continue..."); Console.ReadLine(); }
public static XS__metadataBusiness Load_fromAssembly( string assemblyFilePath_in, XS__RootMetadata root_ref_in, int index_in ) { #region XS__metadataBusiness _output = ...; XS__metadataBusiness _output = new XS__metadataBusiness(); _output.root_metadatabusiness_ = ROOT + "." + METADATABUSINESS + "[" + index_in.ToString() + "]"; _output.parent_ref = root_ref_in; // ToDos: now! if (root_ref_in != null) { _output.root_ref = root_ref_in; } #endregion #region Assembly _assembly = Assembly.LoadFrom(assemblyFilePath_in); Assembly _assembly //= Assembly.LoadFile(assemblyFilePath_in); = Assembly.LoadFrom(assemblyFilePath_in); //_assembly.GetFiles(true); //_assembly.GetReferencedAssemblies(); if (_assembly == null) { throw new Exception(String.Format( "can't load assembly 'assemblyName_in'\n at: {0}.{1}.Load_fromAssembly();", typeof(XS__metadataBusiness).Namespace, typeof(XS__metadataBusiness).Name, assemblyFilePath_in )); } #endregion bool _isBO = false; bool _isBDO = false; int _class_index; int _method_index; int _property_index; Type[] _types = _assembly.GetTypes(); for (int t = 0; t < _types.Length; t++) { Type _type = (Type)_types[t]; object[] _classattributes = _type.GetCustomAttributes( typeof(BOClassAttribute), true //false ); if ( (_classattributes.Length > 0) //&& //(_type.Name.IndexOf("BO0_") != 0) //&& //(_type.Name.IndexOf("BDO0_") != 0) && ( (_type.Name.IndexOf("BO_") == 0) || (_type.Name.IndexOf("BDO_") == 0) ) ) { for (int ca = 0; ca < _classattributes.Length; ca++) { BOClassAttribute _attribute = (BOClassAttribute)_classattributes[ca]; _isBO = false; _isBDO = false; _output.Classes.ClassCollection.Add( out _class_index, //_attribute.Name (_isBO = (_type.Name.IndexOf("BO_") == 0)) ? _type.Name.Substring(3) : ( (_isBDO = (_type.Name.IndexOf("BDO_") == 0)) ? _type.Name.Substring(4) : _type.Name ) ); _output.Classes.ClassCollection[_class_index].Type = ((_isBO) ? XS_BoEnumeration.BO : ((_isBDO) ? XS_BoEnumeration.BDO : XS_BoEnumeration.invalid ) ); MethodInfo[] _methods = _type.GetMethods( BindingFlags.Public | BindingFlags.Instance ); for (int m = 0; m < _methods.Length; m++) { if (Attribute.IsDefined( _methods[m], typeof(BOMethodAttribute) )) { Attribute[] _methodattributes = Attribute.GetCustomAttributes( _methods[m], typeof(BOMethodAttribute), true ); _method_index = -1; for (int ma = 0; ma < _methodattributes.Length; ma++) { if (_methodattributes[ma].GetType() == typeof(BOMethodAttribute)) { BOMethodAttribute _methodattribute = (BOMethodAttribute)_methodattributes[ma]; _output.Classes.ClassCollection[_class_index].Methods.MethodCollection.Add( out _method_index, _methods[m].Name ); _output.Classes.ClassCollection[_class_index].Methods.MethodCollection[ _method_index ].Distribute = _methodattribute.Distribute; _output.Classes.ClassCollection[_class_index].Methods.MethodCollection[ _method_index ].OutputType = translate(string.Format( "{0}.{1}", _methods[m].ReturnType.Namespace, _methods[m].ReturnType.Name )); } } ParameterInfo[] _parameterinfo = _methods[m].GetParameters(); for (int p = 0; p < _parameterinfo.Length; p++) { _output.Classes.ClassCollection[_class_index].Methods.MethodCollection[_method_index].Parameters.ParameterCollection.Add( out _property_index, _parameterinfo[p].Name ); _output.Classes.ClassCollection[_class_index].Methods.MethodCollection[_method_index].Parameters.ParameterCollection[ _property_index ].isOut = _parameterinfo[p].IsOut; _output.Classes.ClassCollection[_class_index].Methods.MethodCollection[_method_index].Parameters.ParameterCollection[ _property_index ].Type = translate(string.Format( "{0}.{1}", _parameterinfo[p].ParameterType.Namespace, (_parameterinfo[p].ParameterType.Name.IndexOf('&') >= 0) ? _parameterinfo[p].ParameterType.Name.Substring(0, _parameterinfo[p].ParameterType.Name.Length - 1) : _parameterinfo[p].ParameterType.Name )); _output.Classes.ClassCollection[_class_index].Methods.MethodCollection[_method_index].Parameters.ParameterCollection[ _property_index ].isRef = (_parameterinfo[p].ParameterType.IsByRef && !_parameterinfo[p].IsOut); _output.Classes.ClassCollection[_class_index].Methods.MethodCollection[_method_index].Parameters.ParameterCollection[ _property_index ].isParams = false; } } } } } } return(_output); }
public static XS__metadataBusiness Load_fromAssembly( string assemblyFilePath_in, XS__RootMetadata root_ref_in, int index_in ) { #region XS__metadataBusiness _output = ...; XS__metadataBusiness _output = new XS__metadataBusiness(); _output.root_metadatabusiness_ = string.Concat(ROOT, ".", METADATABUSINESS, "[", index_in.ToString(System.Globalization.CultureInfo.CurrentCulture), "]"); _output.parent_ref = root_ref_in; // ToDos: now! if (root_ref_in != null) { _output.root_ref = root_ref_in; } #endregion #region Assembly _assembly = Assembly.LoadFrom(assemblyFilePath_in); Assembly _assembly //= Assembly.LoadFile(assemblyFilePath_in); = Assembly.LoadFrom(assemblyFilePath_in); //_assembly.GetFiles(true); //_assembly.GetReferencedAssemblies(); if (_assembly == null) { throw new Exception(string.Format( System.Globalization.CultureInfo.CurrentCulture, "can't load assembly 'assemblyName_in'\n at: {0}.{1}.Load_fromAssembly();", typeof(XS__metadataBusiness).Namespace, typeof(XS__metadataBusiness).Name, assemblyFilePath_in )); } #endregion //bool _isBO = false; //bool _isBDO = false; int _class_index; int _method_index; int _property_index; Type[] _types = _assembly.GetTypes(); #if NET_2_0 Array.Sort( _types, delegate( Type arg1, Type arg2 ) { return(string.Compare( arg1.Name, arg2.Name, false, System.Globalization.CultureInfo.CurrentCulture )); } ); #endif for (int t = 0; t < _types.Length; t++) { Type _type = (Type)_types[t]; object[] _classattributes = _type.GetCustomAttributes( typeof(BOClassAttribute), true //false ); if ( (_classattributes.Length > 0) && (_type.Name.IndexOf("SBO_", StringComparison.CurrentCulture) == 0) ) { for (int ca = 0; ca < _classattributes.Length; ca++) { // BOClassAttribute _attribute // = (BOClassAttribute)_classattributes[ca]; _output.Classes.ClassCollection.Add( out _class_index, //_attribute.Name (_type.Name.IndexOf("SBO_", StringComparison.CurrentCulture) == 0) ? _type.Name.Substring(4) : _type.Name ); _output.Classes.ClassCollection[_class_index].Namespace = _type.Namespace; _output.Classes.ClassCollection[_class_index].Type = XS_BoEnumeration.invalid; MethodInfo[] _methods = _type.GetMethods( BindingFlags.Public | //BindingFlags.Instance BindingFlags.Static ); #if NET_2_0 Array.Sort( _methods, delegate( MethodInfo arg1, MethodInfo arg2 ) { return(string.Compare( arg1.Name, arg2.Name, false, System.Globalization.CultureInfo.CurrentCulture )); } ); #endif for (int m = 0; m < _methods.Length; m++) { if (Attribute.IsDefined( _methods[m], typeof(BOMethodAttribute) )) { Attribute[] _methodattributes = Attribute.GetCustomAttributes( _methods[m], typeof(BOMethodAttribute), true ); _method_index = -1; for (int ma = 0; ma < _methodattributes.Length; ma++) { if (_methodattributes[ma].GetType() == typeof(BOMethodAttribute)) { BOMethodAttribute _methodattribute = (BOMethodAttribute)_methodattributes[ma]; _output.Classes.ClassCollection[_class_index].Methods.MethodCollection.Add( out _method_index, _methods[m].Name ); _output.Classes.ClassCollection[_class_index].Methods.MethodCollection[ _method_index ].Distribute = _methodattribute.Distribute; _output.Classes.ClassCollection[_class_index].Methods.MethodCollection[ _method_index ].IsSearch = _methodattribute.IsSearch; _output.Classes.ClassCollection[_class_index].Methods.MethodCollection[ _method_index ].IPParamNum = _methodattribute.IPParamNum; _output.Classes.ClassCollection[_class_index].Methods.MethodCollection[ _method_index ].OutputType = OGen.Libraries.Utilities.Type_ToString(_methods[m].ReturnType); } } ParameterInfo[] _parameterinfo = _methods[m].GetParameters(); for (int p = 0; p < _parameterinfo.Length; p++) { _output.Classes.ClassCollection[_class_index].Methods.MethodCollection[_method_index].Parameters.ParameterCollection.Add( out _property_index, _parameterinfo[p].Name ); _output.Classes.ClassCollection[_class_index].Methods.MethodCollection[_method_index].Parameters.ParameterCollection[ _property_index ].IsOut = _parameterinfo[p].IsOut; _output.Classes.ClassCollection[_class_index].Methods.MethodCollection[_method_index].Parameters.ParameterCollection[ _property_index ].Type = OGen.Libraries.Utilities.Type_ToString(_parameterinfo[p].ParameterType); _output.Classes.ClassCollection[_class_index].Methods.MethodCollection[_method_index].Parameters.ParameterCollection[ _property_index ].IsRef = (_parameterinfo[p].ParameterType.IsByRef && !_parameterinfo[p].IsOut); _output.Classes.ClassCollection[_class_index].Methods.MethodCollection[_method_index].Parameters.ParameterCollection[ _property_index ].IsParams = false; } } } } } } return(_output); }