Example #1
0
        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());
        }
Example #2
0
        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);
        }
Example #3
0
        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);
                }
            }
        }