Exemplo n.º 1
0
 private void ReadActivities(Activities processTypeActivities, PoolElement poolElement)
 {
     if (processTypeActivities != null && processTypeActivities.Activity != null)
     {
         foreach (Activity activity in processTypeActivities.Activity)
         {
             object activityItem = activity.Item;
             if (activityItem != null)
             {
                 IActivityMapper mapper = ActivityMapperAttribute.GetMapper(activityItem.GetType());
                 if (mapper != null)
                 {
                     IBaseElement element = mapper.CreateElement(activityItem, activity.NodeGraphicsInfos);
                     element.Name = activity.Name;
                     element.Guid = Guid.Parse(activity.Id);
                     _elements.Add(element.Guid, element);
                     poolElement.Elements.Add(element);
                 }
                 else
                 {
                     throw new MapperNotFoundException(activityItem.GetType());
                 }
             }
         }
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// Reads avaliable elements at start
        /// </summary>
        private void ReadAvailableElements()
        {
            ClassReader         reader = new ClassReader(null, IsTypeToolboxVisible);
            var                 types  = reader.GetTypes();
            ClassAssemblyReader classAssemblyReader = new ClassAssemblyReader(Settings.Default.Assemblies);

            types.AddRange(classAssemblyReader.GetTypes(IsTypeToolboxVisible));
            foreach (Type type in types)
            {
                ElementCreatorViewModel model = new ElementCreatorViewModel(type);
                ActivityMapperAttribute activityMapperAttribute = type.GetCustomAttribute <ActivityMapperAttribute>();
                activityMapperAttribute?.Register();
                Elements.Add(model);
            }
        }