Example #1
0
 public StartForm(FormInitParamSet functionInitParamSet)
 {
     try
     {
         FunctionInitParamSet = functionInitParamSet;
         if (functionInitParamSet.IsFormInvisible)
         {
             this.Hide();
         }
         _adapter = BootStrapper.Adapter;
     }
     catch (Exception ex)
     {
         throw new ArgumentException("\n>> " + GetType().FullName + ".StartForm Error: " + ex.Message);
     }
 }
        internal static void Init(ApplicationSetting applicationStartParamSet)
        {
            try
            {
                if (!applicationStartParamSet.RunBootStrapperTasksAtStart & !applicationStartParamSet.HasCblpComponent)
                {
                    return;
                }

                var bootStrapperTasksDllPath = "";
                var cblpDllPath          = "";
                var adapterClassFullName = "";
                Ioc.InitializeWith(new DependencyResolverFactory("Ligg.Infrastructure.Utility.Ioc.AutofacContainer"));

                if (applicationStartParamSet.RunBootStrapperTasksAtStart)
                {
                    var bootStrapperTasksNames = applicationStartParamSet.BootStrapperTasks;
                    bootStrapperTasksDllPath = applicationStartParamSet.BootStrapperTasksDllPath;
                    if (!string.IsNullOrEmpty(bootStrapperTasksNames))
                    {
                        var tmpArry = bootStrapperTasksNames.GetSubParamArray(true, true);
                        foreach (var tmpStr in tmpArry)
                        {
                            var tmpStr1 = tmpStr.Trim();
                            var bootStrapperClassFullName = applicationStartParamSet.BootStrapperTaskNameSpace + "." + tmpStr1;
                            Ioc.Register(bootStrapperTasksDllPath, bootStrapperClassFullName);
                            _bootStrapperTaskClassFullNames.Add(bootStrapperClassFullName);
                        }
                    }
                }
                if (applicationStartParamSet.HasCblpComponent)
                {
                    cblpDllPath          = applicationStartParamSet.CblpDllPath;
                    adapterClassFullName = applicationStartParamSet.CblpAdapterClassFullName;
                    if (!cblpDllPath.IsNullOrEmpty())
                    {
                        Ioc.Register(cblpDllPath, adapterClassFullName);
                    }
                }

                Ioc.SetContainer();

                if (applicationStartParamSet.RunBootStrapperTasksAtStart)
                {
                    if (_bootStrapperTaskClassFullNames.Count > 0)
                    {
                        foreach (var bootStrapperTaskClassFullName in _bootStrapperTaskClassFullNames)
                        {
                            var obj = (IBootStrapperTask)Ioc.Resolve(bootStrapperTasksDllPath, bootStrapperTaskClassFullName);
                            var bootStrapperTask = new BootStrapperTask(obj, bootStrapperTaskClassFullName.GetLastSeparatedString('.'));
                            BootStrapperTaskList.Add(bootStrapperTask);
                        }
                    }
                }

                if (applicationStartParamSet.HasCblpComponent)
                {
                    if (File.Exists(cblpDllPath))
                    {
                        if (!FileHelper.IsFileExisting(cblpDllPath))
                        {
                            return;
                        }
                        Adapter = CreateAdapter(cblpDllPath, adapterClassFullName);
                        Adapter?.Initialize();
                    }
                }
            }
            catch (Exception ex)
            {
                throw new ArgumentException("\n>> " + TypeName + ".Init Error: " + ex.Message);
            }
        }