示例#1
0
 public TaskBase(String name, ConditionBase condition, UpdateDataDelegate returnFuc)
 {
     this.Name = name;
     this._UpdateDataDelegate = returnFuc;
     this.Condition           = condition;
     this.Time = DateTime.Now;
 }
示例#2
0
 public TaskSendMessageAsyn(String name, IPEndCondition condition, List <ElectricityOriginalData> data,
                            UpdateDataDelegate returnFuc, TcpClient tcpClient)
     : base(name, condition, returnFuc)
 {
     this.data      = data;
     this.tcpClient = tcpClient;
 }
示例#3
0
 public TaskElectricityFilter(String name, FilterCondition condition, UpdateDataDelegate returnFuc,
                              Boolean isRealtime)
     : base(name, condition, returnFuc)
 {
     this._condition  = condition;
     this._isRealtime = isRealtime;
 }
示例#4
0
 /// <summary>
 /// 初始化基础任务类
 /// </summary>
 /// <param name="name">任务名称</param>
 /// <param name="condition">任务条件,一般用于检索任务</param>
 /// <param name="returnFuc">任务结束后的返回函数</param>
 public TaskBase(String name, ConditionBase condition, UpdateDataDelegate returnFuc)
 {
     Name           = name;
     UpdateDataData = returnFuc;
     Condition      = condition;
     result         = 0;
     Time           = DateTime.Now;
 }
示例#5
0
 public void UpdateData()
 {
     if (InvokeRequired)
     {
         UpdateDataDelegate d = new UpdateDataDelegate(UpdateData);
         Invoke(d);
     }
     else
     {
         watchedFoldersBinding.ResetBindings(false);
         watchedFilesBinding.ResetBindings(false);
     }
 }
示例#6
0
        private void updateData(string message = "", int percent = -2)
        {
            if (InvokeRequired)
            {
                //Thread.Sleep(10);
                UpdateDataDelegate udd = updateData;
                Invoke(udd, message, percent);
                return;
            }

            if (message != "")
            {
                label2.Text = message;
            }
            if (percent <= 100 && percent >= 0)
            {
                progressBar1.Style = ProgressBarStyle.Continuous;
                progressBar1.Value = percent;
            }
            if (percent == -1)
            {
                progressBar1.Style = ProgressBarStyle.Marquee;
            }
        }
示例#7
0
 public TaskFetchNodes(String name, ConditionBase condition, UpdateDataDelegate returnFuc)
     : base(name, condition, returnFuc)
 {
 }
示例#8
0
 public TaskElectricityFilter(String name, FilterCondition condition, UpdateDataDelegate returnFuc,
     Boolean isRealtime)
     : base(name, condition, returnFuc)
 {
     this._condition = condition;
     this._isRealtime = isRealtime;
 }
示例#9
0
 public TaskChargeFilter(String name, ChargeFilterCondition condition, UpdateDataDelegate returnFuc)
     : base(name, condition, returnFuc)
 {
     _condition = condition;
 }
示例#10
0
 /// <summary>
 /// 初始化基础任务类
 /// </summary>
 /// <param name="name">任务名称</param>
 /// <param name="condition">任务条件,一般用于检索任务</param>
 /// <param name="returnFuc">任务结束后的返回函数</param>
 public TaskBase(String name, ConditionBase condition, UpdateDataDelegate returnFuc)
 {
     Name = name;
     UpdateDataData = returnFuc;
     Condition = condition;
     result = 0;
     Time = DateTime.Now;
 }
示例#11
0
 public TaskBase(String name, ConditionBase condition, UpdateDataDelegate returnFuc)
 {
     this.Name = name;
     this._UpdateDataDelegate = returnFuc;
     this.Condition = condition;
     this.Time = DateTime.Now;
 }
示例#12
0
 public TaskSendMessageAsyn(String name, IPEndCondition condition, List<ElectricityOriginalData> data,
     UpdateDataDelegate returnFuc, TcpClient tcpClient)
     : base(name, condition, returnFuc)
 {
     this.data = data;
     this.tcpClient = tcpClient;
 }
示例#13
0
        private void ShowFrame(Frame frameToShow, Constants.FrameEvent frameEvent, Constants.StationId stationId)
        {
            bool isSent = frameEvent == Constants.FrameEvent.FrameSent;

            //based on msdn doc: https://msdn.microsoft.com/en-us/library/ms171728(v=vs.110).aspx
            //Thread safe call to richtextbox
            RichTextBox textBox = isSent ? txtDataSend : txtReception;

            if (textBox.InvokeRequired)
            {
                UpdateDataDelegate d = ShowFrame;
                Invoke(d, frameToShow, frameEvent, stationId);
            }
            else
            {
                OnAppend(((Int16)frameToShow.Id).ToString("000") + " | ", textBox, DefaultForeColor);
                switch (frameToShow.Type)
                {
                case Constants.FrameType.Ack:
                    OnAppend("Ack ", textBox, Color.Green);
                    break;

                case Constants.FrameType.Nak:
                    OnAppend("Nak ", textBox, Color.DarkRed);
                    break;

                case Constants.FrameType.Data:
                    OnAppend("Data", textBox, DefaultForeColor);
                    break;
                }
                OnAppend(" | " + ((Int16)frameToShow.Ack).ToString("00"), textBox, DefaultForeColor);
                OnAppend(" | " + frameToShow.DataSize.ToString("000"), textBox, DefaultForeColor);
                OnAppend("        ", textBox, DefaultForeColor);
                string errorMessage = "|";
                Color  errorColor   = DefaultForeColor;
                switch (frameEvent)
                {
                case Constants.FrameEvent.FrameReceivedCorrupted:
                    errorMessage += "Détecté";
                    errorColor    = Color.DarkOrange;
                    break;

                case Constants.FrameEvent.FrameReceivedNotAwaited:
                    break;

                case Constants.FrameEvent.FrameReceivedDuplicate:
                    break;

                case Constants.FrameEvent.FrameReceivedOk:
                    break;

                case Constants.FrameEvent.FrameReceivedCorrected:
                    errorMessage += "Corrigé";
                    errorColor    = Color.DarkGreen;
                    break;

                case Constants.FrameEvent.FrameSent:
                    break;

                default:
                    throw new ArgumentOutOfRangeException(nameof(frameEvent), frameEvent, null);
                }
                OnAppend(errorMessage, textBox, errorColor);

                OnAppend(Environment.NewLine, textBox, DefaultForeColor);
                //Updating the progress bar.
                if (stationId == Constants.StationId.Station2 && (frameEvent == Constants.FrameEvent.FrameReceivedOk ||
                                                                  frameEvent == Constants.FrameEvent.FrameReceivedCorrected))
                {
                    int newTotal = transfertBar.Value + (int)frameToShow.DataSize;
                    transfertBar.Value = Math.Min(newTotal, transfertBar.Maximum);
                    if (transfertBar.Value == transfertBar.Maximum)
                    {
                        MessageBox.Show(this, "Tranfert complété!");
                    }
                }
            }
        }
示例#14
0
 public TaskChargeFilter(String name, ChargeFilterCondition condition, UpdateDataDelegate returnFuc)
     : base(name, condition, returnFuc)
 {
     _condition = condition;
 }
示例#15
0
 public TaskFetchNodes(String name, ConditionBase condition, UpdateDataDelegate returnFuc)
     : base(name, condition, returnFuc)
 {
 }