Пример #1
0
        //添加任务
        private void AddOK_Click(object sender, EventArgs e)
        {
            ScheduleFrequence frequence  = 0;
            ScheduleOffGrid   schoffGrid = ScheduleOffGrid.On;

            RadioButton[] freqs  = { radBtnOneDay, radBtnEveDay, radWeekly };            //频率
            RadioButton[] Events = { radStartInverter, radCloseInverter, radioVoltage }; //事件
            foreach (RadioButton freq in freqs)
            {
                if (freq.Checked == true)
                {
                    switch (Convert.ToInt16(freq.Tag))
                    {
                    case 0: frequence = ScheduleFrequence.Single; break;

                    case 1: frequence = ScheduleFrequence.EveryDay; break;

                    case 2: frequence = ScheduleFrequence.EveryWeek; break;
                    }
                }
            }
            foreach (RadioButton Event in Events)
            {
                if (Event.Checked == true)
                {
                    schoffGrid = (ScheduleOffGrid)Convert.ToInt16(Event.Tag);
                    break;
                }
            }
            //创建一个任务
            ScheduleTask schTask = new ScheduleTask(Convert.ToDateTime(dateTimePicker1.Text), frequence);

            schTask.tag     = (int)schoffGrid;
            schTask.handle += new TaskHandle(new OffGridTask(schoffGrid).handle);
            SolarSchedule.ScheduleManager.getInstance().addTask(schTask);

            //schedule.listBox1.Items.Add(schTask);


            for (int i = 0; i < schedule.dataGridView1.Rows.Count; i++)
            {
                if (schedule.dataGridView1.Rows[i].Cells[0].Value.ToString() == null || schedule.dataGridView1.Rows[i].Cells[0].Value.ToString() == "")
                {
                    schedule.dataGridView1.Rows[i].Cells[0].Value = ScheduleTask.transTask(schTask.tag);
                    schedule.dataGridView1.Rows[i].Cells[1].Value = schTask.time.ToString("yyyy-MM-dd HH:mm:ss dddd");
                    schedule.dataGridView1.Rows[i].Cells[2].Value = ScheduleTask.transFreq(schTask.frequence);
                    schedule.dataGridView1.Rows[i].Cells[3].Value = ScheduleTask.transResult(schTask.result);
                    schedule.dataGridView1.Rows[i].Cells[4].Value = ScheduleTask.transPreResult(schTask.preExecuteTime);
                    schedule.dataGridView1.Rows[i].Cells[5].Value = schTask;
                    break;
                }
            }
            this.Close();
        }
Пример #2
0
        /*------------------- 管理器 ----------------------------------*/

        public void loadTask()
        {
            //初始化 任务列表
            using (FileStream fs = File.Open(path, FileMode.Open))
            {
                XmlDocument document = new XmlDocument();
                document.Load(fs);
                XmlNode root = document.LastChild;
                foreach (XmlNode item in root.ChildNodes)
                {
                    ScheduleFrequence          freq = (ScheduleFrequence)Enum.Parse(typeof(ScheduleFrequence), item.Attributes["frequence"].Value, true);
                    ScheduleOffGrid            type = (ScheduleOffGrid)Enum.Parse(typeof(ScheduleOffGrid), item.Attributes["type"].Value, true);
                    SolarSchedule.ScheduleTask st   = new SolarSchedule.ScheduleTask(
                        DateTime.Parse(item.Attributes["time"].Value),
                        SolarSchedule.ScheduleFrequence.Single);
                    st.tag     = (int)type;
                    st.handle += new TaskHandle(new OffGridTask(type).handle);
                    _tasks.Add(st);
                }
            }
        }
Пример #3
0
 public OffGridTask(ScheduleOffGrid type)
 {
     this.type = type;
 }