コード例 #1
0
        public WrkElement(DTODataServer work)
        {
            this.Work = work;

            InitializeComponent();
            UpdateWrkElement(this.Work);
        }
コード例 #2
0
        public void UpdateWorkList(DTODataServer work)
        {
            if (workList.Count > 0)
            {
                Dispatcher.Invoke(() => {
                    abortBtn.IsEnabled = true;
                });
                Dispatcher.Invoke(() =>
                {
                    pauseBtn.IsEnabled = true;
                });
                Dispatcher.Invoke(() =>
                {
                    resumeBtn.IsEnabled = true;
                });
            }
            if (!workList.Any())
            {
                workList.Add(work);


                Dispatcher.Invoke(() => {
                    workElements.Add(new WrkElement(work));
                    WorkList.Items.Add(workElements[workElements.Count - 1]);
                    workElements[workElements.Count - 1].UpdateWrkElement(work);
                });
                return;
            }
            else
            {
                for (int i = 0; i < workList.Count; i++)
                {
                    if (workList[i].Name == work.Name)
                    {
                        workList[i] = work;

                        Dispatcher.Invoke(() => {
                            workElements[i].UpdateWrkElement(work);
                        });
                        return;
                    }
                }

                workList.Add(work);

                Dispatcher.Invoke(() => {
                    workElements.Add(new WrkElement(work));
                    WorkList.Items.Add(workElements[workElements.Count - 1]);
                    workElements[workElements.Count - 1].UpdateWrkElement(work);
                });
                return;
            }
        }
コード例 #3
0
        public void UpdateWrkElement(DTODataServer workItem)
        {
            this.Work = workItem;

            workNameLbl.Content = workItem.Name;

            workProgressBar.Value       = Int16.Parse(workItem.Progress);
            workDuration.Content        = workItem.Duration.ToString();
            workEligibleSize.Content    = workItem.EligibleFiles.ToString();
            workEncryptDuration.Content = workItem.EncryptDuration.ToString();
            workRemainingSize.Content   = workItem.RemainingSize.ToString();
            workSize.Content            = workItem.Size.ToString();
            //workTypeLbl.Content = workItem.TypeSave.ToString();
        }
コード例 #4
0
 public void NotifyObserver(DTODataServer work)
 {
     try
     {
         foreach (Observer obs in obsList)
         {
             obs.UpdateWorkList(work);
         }
     }
     catch (Exception e)
     {
         Console.WriteLine("[-] An error occured while trying to notify the server: {0}", e);
     }
 }
コード例 #5
0
 public void Handle(byte[] packet, Socket clientSocket)
 {
     Monitor.Enter(tLock);
     try
     {
         Message       msg        = new Message(packet);
         DTODataServer dataServer = JsonSerializer.Deserialize <DTODataServer>(msg.Text);
         NotifyObserver(dataServer);
     } catch (Exception e)
     {
         Console.WriteLine("[-] {0}", e);
     } finally
     {
         Monitor.Exit(tLock);
     }
 }
コード例 #6
0
 public void PrintComponents(DTODataServer work)
 {
 }