示例#1
0
        private void cboCategories_SelectedIndexChanged(object sender, EventArgs e)
        {
            var      key = ((KeyValuePair <int, string>)cboCategories.SelectedItem).Key;
            Assembly assembly;

            switch (key)
            {
            case 1:
                assembly        = Assembly.GetAssembly(typeof(AccountRepository));
                _displayClasses = assembly.GetTypes().Where(t => t.Namespace != null && t.IsClass && t.IsPublic).ToList();
                if (_displayClasses.Any())
                {
                    var uw = new DAL.DbEntity.UnitOfWork();
                    _constorInfoUniversal = new ConstructorInfo
                    {
                        ConstorParamType = new[] { uw.GetContext().GetType() },
                        ConstorParams    = new[] { uw.GetContext() }
                    };
                }
                _bFlags = BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Public;
                break;

            case 2:
                assembly = Assembly.GetAssembly(typeof(AccountRepositorySealed));
                //TekTak.iLoop.Sealed
                _displayClasses       = assembly.GetTypes().Where(t => t.Namespace != null && t.Namespace.StartsWith("TekTak.iLoop.Sealed", StringComparison.OrdinalIgnoreCase) && t.IsClass && t.IsPublic).ToList();
                _constorInfoUniversal = _constorInfo;
                _bFlags = BindingFlags.FlattenHierarchy | BindingFlags.Instance | BindingFlags.Public;
                break;

            case 3:
                assembly        = Assembly.GetAssembly(typeof(AccountService));
                _displayClasses = assembly.GetTypes().Where(t => t.Namespace != null && t.IsClass && t.IsPublic).ToList();
                if (_displayClasses.Any())
                {
                    var uw  = new DAL.DbEntity.UnitOfWork();
                    var uow = new TekTak.iLoop.UOW.UnitOfWork();
                    _constorInfoUniversal = new ConstructorInfo
                    {
                        ConstorParamType = new[] { uw.GetType(), uow.GetType() },
                        ConstorParams    = new object[] { uw, uow }
                    };
                }
                _bFlags = BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Public;
                break;
            }
            _cboItems = new Dictionary <string, string>();
            foreach (var type in _displayClasses)
            {
                var display = type.Name.IndexOf("Repo", StringComparison.Ordinal) > 0
                    ? type.Name.Substring(0, type.Name.IndexOf("Repo", StringComparison.Ordinal))
                    : type.Name;
                display = display.EndsWith("Service", StringComparison.OrdinalIgnoreCase) ? display.Substring(0, display.LastIndexOf("Service", StringComparison.OrdinalIgnoreCase)) : display;
                _cboItems.Add(type.FullName, display.AddSpaceBeforeCapitalLetters());
            }
            cboClasses.DataSource    = new BindingSource(_cboItems, null);
            cboClasses.DisplayMember = "Value";
            cboClasses.ValueMember   = "Key";
            cboClasses.SelectedIndex = 0;
        }
示例#2
0
 private void cboCategories_SelectedIndexChanged(object sender, EventArgs e)
 {
     var key = ((KeyValuePair<int, string>)cboCategories.SelectedItem).Key;
     Assembly assembly;
     switch (key)
     {
         case 1:
             assembly = Assembly.GetAssembly(typeof(AccountRepository));
             _displayClasses = assembly.GetTypes().Where(t => t.Namespace != null && t.IsClass && t.IsPublic).ToList();
             if (_displayClasses.Any())
             {
                 var uw = new DAL.DbEntity.UnitOfWork();
                 _constorInfoUniversal = new ConstructorInfo
                 {
                     ConstorParamType = new[] { uw.GetContext().GetType() },
                     ConstorParams = new[] { uw.GetContext() }
                 };
             }
             _bFlags = BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Public;
             break;
         case 2:
             assembly = Assembly.GetAssembly(typeof(AccountRepositorySealed));
             //TekTak.iLoop.Sealed
             _displayClasses = assembly.GetTypes().Where(t => t.Namespace != null && t.Namespace.StartsWith("TekTak.iLoop.Sealed", StringComparison.OrdinalIgnoreCase) && t.IsClass && t.IsPublic).ToList();
             _constorInfoUniversal = _constorInfo;
             _bFlags = BindingFlags.FlattenHierarchy | BindingFlags.Instance | BindingFlags.Public;
             break;
         case 3:
             assembly = Assembly.GetAssembly(typeof(AccountService));
             _displayClasses = assembly.GetTypes().Where(t => t.Namespace != null && t.IsClass && t.IsPublic).ToList();
             if (_displayClasses.Any())
             {
                 var uw = new DAL.DbEntity.UnitOfWork();
                 var uow = new TekTak.iLoop.UOW.UnitOfWork();
                 _constorInfoUniversal = new ConstructorInfo
                 {
                     ConstorParamType = new[] { uw.GetType(), uow.GetType() },
                     ConstorParams = new object[] { uw, uow }
                 };
             }
             _bFlags = BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Public;
             break;
     }
     _cboItems = new Dictionary<string, string>();
     foreach (var type in _displayClasses)
     {
         var display = type.Name.IndexOf("Repo", StringComparison.Ordinal) > 0
             ? type.Name.Substring(0, type.Name.IndexOf("Repo", StringComparison.Ordinal))
             : type.Name;
         display = display.EndsWith("Service", StringComparison.OrdinalIgnoreCase) ? display.Substring(0, display.LastIndexOf("Service", StringComparison.OrdinalIgnoreCase)) : display;
         _cboItems.Add(type.FullName, display.AddSpaceBeforeCapitalLetters());
     }
     cboClasses.DataSource = new BindingSource(_cboItems, null);
     cboClasses.DisplayMember = "Value";
     cboClasses.ValueMember = "Key";
     cboClasses.SelectedIndex = 0;
 }