Example #1
0
        public void Frame()
        {
            TaskList.AddRange(AddTaskList);
            AddTaskList.Clear();

            TaskList.ForEach(task => task.Update());
            TaskList.RemoveAll(task => task.IsFinished());
        }
        private void OnLoadFileClick(object obj)
        {
            var fileDialog = new OpenFileDialog();

            fileDialog.Filter           = "TEXT |*.txt";
            fileDialog.InitialDirectory = AppDomain.CurrentDomain.BaseDirectory;
            if (fileDialog.ShowDialog().Value)
            {
                string filename = fileDialog.FileName;
                //MessageBox.Show("Loading file! " + filename);
                TaskList.Clear();
                TaskList.AddRange(ioManager.LoadFile(filename));
            }
        }
Example #3
0
        /// <summary>
        /// 获取任务队列
        /// </summary>
        /// <returns></returns>
        public TaskList GetTask()
        {
            DataSet ds = U8.Interface.Bus.DBUtility.DbHelperSQL.Query("SELECT * FROM MES_Comm_DLLReflect WITH(NOLOCK) WHERE ClassType='op' ");

            TaskList mtasklist = new TaskList();

            if (ds == null || ds.Tables[0].Rows.Count == 0)
            {
                return(mtasklist);
            }

            List <VoucherType> vl = new List <VoucherType>();

            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                vl.Add(new VoucherType()
                {
                    CardNo          = ds.Tables[0].Rows[i]["cvouchertype"].ToString(),
                    VoucherName     = "", // "产成品入库单",
                    SourceCardNo    = "", // "MO21",
                    SourceVoucherNo = "", //"00001",

                    VoucherClassDllpath   = ds.Tables[0].Rows[i]["Dllpath"].ToString(),
                    VoucherClassNamespace = ds.Tables[0].Rows[i]["Namespace"].ToString(),
                    VoucherClass          = ds.Tables[0].Rows[i]["ClassName"].ToString()
                });
            }
            for (int i = 0; i < vl.Count; i++)
            {
                BaseOp   tmpOp       = (BaseOp)System.Reflection.Assembly.Load(vl[i].VoucherClassDllpath).CreateInstance(vl[i].VoucherClassNamespace + "." + vl[i].VoucherClass);
                TaskList tmpTaskList = new TaskList();
                tmpTaskList = tmpOp.GetTask();
                if (null == tmpTaskList || tmpTaskList.Count == 0)
                {
                }
                else
                {
                    mtasklist.AddRange(tmpTaskList);
                }
            }
            return(mtasklist);
        }
Example #4
0
        private void AddRange()
        {
            UnitOfWork[]  workItems = new UnitOfWork[20];
            ActivityLog[] logItems  = new ActivityLog[20];

            for (int i = 0; i < workItems.Length; i++)
            {
                workItems[i] = new UnitOfWork();
                logItems[i]  = new ActivityLog {
                    Id = workItems[i].Id
                };
            }

            Stopwatch sw1 = Stopwatch.StartNew();

            TaskList.AddRange(workItems);
            Activity.AddRange(logItems);
            sw1.Stop();

            for (int i = 0; i < workItems.Length; i++)
            {
                UnitOfWork  task = workItems[i];
                ActivityLog log  = logItems[i];

                log.AddElapsed = sw1.Elapsed;
                Task.Factory.StartNew(task.Run)
                .ContinueWith(t =>
                {
                    Stopwatch sw2     = Stopwatch.StartNew();
                    bool rc           = TaskList.Remove(task);
                    int index2        = TaskList.IndexOf(task);
                    log.RemoveElapsed = sw2.Elapsed;
                    log.Success       = rc && index2 == -1;
                });
            }
        }