public virtual void InitializeModules() { LoadAll(); var sortedModules = _modules.GetSortedModuleListByDependency(); sortedModules.ForEach(module => module.Instance.PreInitialize()); sortedModules.ForEach(module => module.Instance.Initialize()); //Regist all Rp and Sv sortedModules.ForEach(module => YAssembly.Regist(module.Assembly)); YAssembly.Initialize(); sortedModules.ForEach(module => module.Instance.PostInitialize()); }
public object Execute(string serviceName, string methodName, object param) { serviceName = serviceName.ToUpper(); methodName = methodName.ToUpper(); var svType = YAssembly.FindServiceType(serviceName); var interfaceType = YAssembly.ServiceDic[svType]; var method = YAssembly.GetMethodByType(interfaceType, methodName); object result = null; var instance = IocManager.Instance.Resolve(interfaceType); result = Invoke(method, instance, param); return(result); }
public void InitializeRepositorys(Type type, object instance, IDbConnection dbConnection = null, IDbTransaction dbTransaction = null) { var members = GetRepositoryMembers(type); if (members != null) { var properTyMember = members.Where(r => r.MemberType == MemberTypes.Property); foreach (var memberInfo in properTyMember) { var fieldInfo = ((PropertyInfo)memberInfo); var typeofMember = YAssembly.GetType(fieldInfo.PropertyType.FullName); var instanceOfMember = YAssembly.CreateInstance(fieldInfo.PropertyType.FullName); typeofMember.GetProperty("Connection").SetValue(instanceOfMember, dbConnection, null); typeofMember.GetProperty("Transaction").SetValue(instanceOfMember, dbTransaction, null); type.GetProperty(memberInfo.Name).SetValue(instance, instanceOfMember, null); } } }