Esempio n. 1
0
 public static T OpenTask <T>(Common.Configurator config, long task_data_id) where T : Common.Tasks.AbstractBaseTask
 {
     Common.Tasks.AbstractBaseTask task = createInstance(typeof(T), config);
     if (task != null)
     {
         task.TaskDataID = task_data_id;
     }
     return((T)task);
 }
Esempio n. 2
0
        public static Common.Tasks.AbstractBaseTask OpenTask(string assembly_name, string full_name, Common.Configurator config, long task_data_id)
        {
            Common.Tasks.AbstractBaseTask task = CreateInstance(assembly_name, full_name, config);
            if (task != null)
            {
                task.TaskDataID = task_data_id;
            }

            return(task);
        }
Esempio n. 3
0
        private static Common.Tasks.AbstractBaseTask createInstance(Type task_type, Common.Configurator config)
        {
            Common.Tasks.AbstractBaseTask abstractTask = null;
            try
            {
                Assembly found_assembly = task_type.Assembly;

                abstractTask = (Common.Tasks.AbstractBaseTask)found_assembly.CreateInstance(task_type.FullName);
            }
            catch (Exception)
            {
                return(null);
            }
            if (abstractTask != null)
            {
                abstractTask.Config = config;
            }
            return(abstractTask);
        }
Esempio n. 4
0
        public static List <Common.Tasks.AbstractBaseTask> ListupDelegatedTasks(short application_id, short task_id, Common.Configurator config)
        {
            List <Models.TaskData> taskDataList = Common.GyomuDataAccess.SelectTaskDataByApplicationIDTaskIDStatusUserList
                                                      (application_id, task_id, Common.Tasks.AbstractBaseTask.STATUS_DELEGATE,
                                                      new List <string>()
            {
                config.User.UserID
            });
            List <Common.Tasks.AbstractBaseTask> lstTask = new List <Common.Tasks.AbstractBaseTask>();

            Models.TaskInfo taskInfo = Common.GyomuDataAccess.SelectTaskInfo(application_id, task_id);

            foreach (Models.TaskData taskData in taskDataList)
            {
                Common.Tasks.AbstractBaseTask task = OpenTask(taskInfo.assembly_name, taskInfo.class_name, config ?? Common.BaseConfigurator.GetInstance(), taskData.id);
                lstTask.Add(task);
            }
            return(lstTask);
        }
Esempio n. 5
0
 private static Common.Tasks.AbstractBaseTask CreateInstance(string assembly_name, string full_name, Common.Configurator config)
 {
     Common.Tasks.AbstractBaseTask abstractTask = null;
     try
     {
         Type     found_type     = null;
         Assembly found_assembly = null;
         if (string.IsNullOrEmpty(assembly_name) == false)
         {
             try
             {
                 found_assembly = AppDomain.CurrentDomain.Load(assembly_name);
             }
             catch (Exception) { }
         }
         if (found_assembly == null)
         {
             foreach (Assembly assembly in AppDomain.CurrentDomain.GetAssemblies())
             {
                 found_assembly = assembly;
                 found_type     = assembly.GetType(full_name);
                 if (found_type != null)
                 {
                     break;
                 }
             }
         }
         abstractTask = (Common.Tasks.AbstractBaseTask)found_assembly.CreateInstance(full_name);
     }
     catch (Exception)
     {
         return(null);
     }
     if (abstractTask != null)
     {
         abstractTask.Config = config;
     }
     return(abstractTask);
 }