Esempio n. 1
0
        public T Create <T>(IFormManagerServiceSettings settings = null) where T : IPersistableModel
        {
            IPersistableModel model = typeof(T).GetProperty("Instance")?.GetValue(null) as IPersistableModel ?? Activator.CreateInstance <T>();

            this.Models.Add(model);
            return((T)model);
        }
Esempio n. 2
0
        public FormManagerService(IFormManagerServiceSettings settings = null) : base("FormManagerService", /*SBSFormModel.Instance*/ null, settings ?? FormManagerServiceSettings.FromConfig())
        {
            AppDomain.CurrentDomain.AssemblyLoad += (sender, eventArgs) =>
            {
                var types = ReflectionHelpers.GetTypesInAssemblyThatImplementAnAttribute(eventArgs.LoadedAssembly, typeof(SBSWorkflowAttribute));
                if (types == null)
                {
                    return;
                }
                foreach (var type in types)
                {
                    var name = type.GetCustomAttribute <SBSWorkflowAttribute>().Name;
                    WorkflowRepository.Instance.Add(name, type.AssemblyQualifiedName);
                }
            };

            this.FormDefinitionModel = SBSModelCreator.Instance.Create <SBSFormDefinitionModel>(settings);
            this.FormModel           = SBSModelCreator.Instance.Create <SBSFormModel>(settings);
            this.RefDataModel        = SBSModelCreator.Instance.Create <SBSFormReferenceDataModel>(settings);
        }