Example #1
0
        public FileLabel(string path)
        {
            this.FilePath = path;
            InitializeComponent();
            onCloseFile     += new CloseEvent(() => { });
            onClosedFile    += new ClosedEvent(() => { });
            onProgressBegin += new ProgressBeginEvent(() => { });
            onProgressEnd   += new ProgressEndEvent(() => { });
            onAccept        += new AcceptEvent(() => { });

            this.fileName.Content = filePath.Substring(filePath.LastIndexOf("\\") + 1);
            this.Progress.Maximum = 100;

            ImageBrush imgB = new ImageBrush(System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(Properties.Resources.Close1.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions()));

            this.btnClose.Background      = imgB;
            this.btnClose.BorderThickness = new Thickness(1);
            this.btnClose.Click          += new RoutedEventHandler((object obj, RoutedEventArgs e) =>
            {
                this.Close();
            });

            this.acceptLabel.MouseLeftButtonUp += new MouseButtonEventHandler((object obj1, MouseButtonEventArgs e1) =>
            {
                this.ProgresBegin();
                this.HiddenAccept();
            });
        }
Example #2
0
        public FileLabel(string path)
        {
            this.FilePath = path;
            InitializeComponent();
            onCloseFile += new CloseEvent(() => { });
            onClosedFile += new ClosedEvent(() => { });
            onProgressBegin += new ProgressBeginEvent(() => { });
            onProgressEnd += new ProgressEndEvent(() => { });
            onAccept += new AcceptEvent(() => { });

            this.fileName.Content = filePath.Substring(filePath.LastIndexOf("\\") + 1);
            this.Progress.Maximum = 100;

            ImageBrush imgB = new ImageBrush(System.Windows.Interop.Imaging.CreateBitmapSourceFromHBitmap(Properties.Resources.Close1.GetHbitmap(), IntPtr.Zero, Int32Rect.Empty, BitmapSizeOptions.FromEmptyOptions()));
            this.btnClose.Background = imgB;
            this.btnClose.BorderThickness = new Thickness(1);
            this.btnClose.Click += new RoutedEventHandler((object obj, RoutedEventArgs e) =>
            {
                this.Close();
            });

            this.acceptLabel.MouseLeftButtonUp += new MouseButtonEventHandler((object obj1, MouseButtonEventArgs e1) =>
            {
                this.ProgresBegin();
                this.HiddenAccept();
            });
        }
Example #3
0
        public async Task Should_Support_Progress_From_Sever_To_Client()
        {
            var(client, server) = await Initialize(ConfigureClient, ConfigureServer);

            var data = new List <ProgressEvent>();

            client.ProgressManager.Progress.Take(1).Switch().Subscribe(x => data.Add(x));

            using var workDoneObserver = server.ProgressManager.Create(
                      new ProgressStartEvent {
                Cancellable = true,
                Message     = "Begin",
                Percentage  = 0,
                Title       = "Work is pending"
            }, onComplete: () => new ProgressEndEvent {
                Message = "End"
            }
                      );

            workDoneObserver.OnNext(
                new ProgressUpdateEvent {
                Percentage = 10,
                Message    = "Report 1"
            }
                );

            workDoneObserver.OnNext(
                new ProgressUpdateEvent {
                Percentage = 20,
                Message    = "Report 2"
            }
                );

            workDoneObserver.OnNext(
                new ProgressUpdateEvent {
                Percentage = 30,
                Message    = "Report 3"
            }
                );

            workDoneObserver.OnNext(
                new ProgressUpdateEvent {
                Percentage = 40,
                Message    = "Report 4"
            }
                );

            workDoneObserver.OnCompleted();

            await data.DelayUntilCount(6, CancellationToken);

            var results = data.Select(
                z => z switch {
                ProgressStartEvent begin => begin.Message,
                ProgressUpdateEvent begin => begin.Message,
                ProgressEndEvent begin => begin.Message,
                _ => throw new NotSupportedException()
            }
Example #4
0
        Task <Unit> IRequestHandler <ProgressEndEvent, Unit> .Handle(ProgressEndEvent request, CancellationToken cancellationToken)
        {
            if (_activeObservables.TryGetValue(request.ProgressId, out var observable))
            {
                observable.OnNext(request);
            }

            // TODO: Add log message for unhandled?
            return(Unit.Task);
        }
Example #5
0
 public abstract Task <Unit> Handle(ProgressEndEvent request, CancellationToken cancellationToken);