Example #1
0
        //
        // GET: /Butler/Welcome/
        public ActionResult Index()
        {
            Assembly targetAssembly = Assembly.GetExecutingAssembly(); // or whichever
            List<DocumentTypeWrapper> subtypes =
                targetAssembly.GetTypes()
                              .Where(t => t.IsSubclassOf(typeof (ButlerDocument)) && t.IsPublic)
                              .Select(t => new DocumentTypeWrapper(t))
                              .ToList();

            var vm = new WelcomeViewModel();
            vm.Types = subtypes;
            foreach (DocumentTypeWrapper type in vm.Types)
            {
                type.Name = Attributes.GetName(type.Type);
            }

            return View(vm);
        }