aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/TechGraphController.cs
blob: 28c75f79f177e03f28aa3162aa0114ce768d0ed6 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
using RealTimeGraphX;
using RealTimeGraphX.DataPoints;
using RealTimeGraphX.Renderers;
using RealTimeGraphX.WPF.DataSeries;
using RealTimeGraphX.WPF.Painters;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Tango.MachineStudio.Technician
{
    public class TechGraphController : GraphControllerBase<WpfDataSeries, TimeSpanDataPoint, DoubleDataPoint>
    {
        public TechGraphController(int refreshRate = 50)
        {
            var renderer = new GraphScrollingRenderer<WpfDataSeries, TimeSpanDataPoint, DoubleDataPoint>()
            {
                RefreshRate = TimeSpan.FromMilliseconds(refreshRate)
            };

            var painter = new WpfScrollingGraphPainter();

            ConnectOutput(renderer);
            renderer.ConnectOutput(painter);
        }
    }
}
pan class="p">; using System.Windows; using Tango.Core.Commands; using Tango.Core.Cryptography; using Tango.Core.Helpers; using Tango.Core.IO; using Tango.MachineStudio.Common; using Tango.MachineStudio.Common.Publish; using Tango.MachineStudio.Common.Web; using Tango.Settings; using Tango.SharedUI; using Tango.Transport.Web; using Tango.Web; namespace Tango.MachineStudio.Publisher.UI { public class MainWindowVM : ViewModel { private MachineStudioPublisher _publisher; private PublishOptions _options; public PublishOptions Options { get { return _options; } set { _options = value; RaisePropertyChangedAuto(); } } private String _localVersion; public String LocalVersion { get { return _localVersion; } set { _localVersion = value; RaisePropertyChangedAuto(); } } private String _remoteVersion; public String RemoteVersion { get { return _remoteVersion; } set { _remoteVersion = value; RaisePropertyChangedAuto(); } } private PublishProgressEventArgs _publishArgs; public PublishProgressEventArgs PublishArgs { get { return _publishArgs; } set { _publishArgs = value; RaisePropertyChangedAuto(); } } public RelayCommand PublishCommand { get; set; } public MainWindowVM() { PublishCommand = new RelayCommand(Publish, () => Options.Email != null && Options.Password != null && Options.Comments != null && LocalVersion != null && RemoteVersion != null && IsFree); Options = SettingsManager.Default.GetOrCreate<PublisherSettings>().Options; _publisher = new MachineStudioPublisher(Options); _publisher.PublishProgress += _publisher_PublishProgress; Options.BasicInfoChanged += (_, __) => { InvalidateRelayCommands(); }; Options.EnvironmentChanged += (_, __) => UpdateVersions(); Options.BuidConfigChanged += (_, __) => UpdateVersions(); UpdateVersions(); } private void _publisher_PublishProgress(object sender, PublishProgressEventArgs e) { PublishArgs = e; } private async void UpdateVersions() { IsFree = false; LocalVersion = _publisher.GetLocalVersion(); RemoteVersion = await _publisher.GetRemoteVersion(); InvalidateRelayCommands(); IsFree = true; } private async void Publish() { SettingsManager.Default.Save(); if (!ShowQuestion("Did you remember to synchronize production database ?")) { return; } try { IsFree = false; await _publisher.Publish(); ShowInfo("Version published successfully."); UpdateVersions(); } catch (Exception ex) { ShowError(ex.FlattenMessage()); } finally { IsFree = true; } } private void ShowError(String error) { MessageBox.Show(error, "Machine Studio Publisher", MessageBoxButton.OK, MessageBoxImage.Error); } private void ShowInfo(String message) { MessageBox.Show(message, "Machine Studio Publisher", MessageBoxButton.OK, MessageBoxImage.Information); } private bool ShowQuestion(String message) { return MessageBox.Show(message, "Machine Studio Publisher", MessageBoxButton.YesNo, MessageBoxImage.Information) == MessageBoxResult.Yes; } } }