aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Statistics/Models/ExcelModel.cs
blob: f06b9fe600b4d341568ff18ab167499d690f4ff8 (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
30
31
32
33
34
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Tango.MachineStudio.Statistics.Models
{
    public class ExcelModel
    {
        public String ID { get; set; }
        public String Machine { get; set; }
        public String User { get; set; }
        public String JobName { get; set; }
        public String Thread { get; set; }
        public String Length { get; set; }
        public String Source { get; set; }
        public String UploadDuration { get; set; }
        public String HeatingDuration { get; set; }
        public String StartTime { get; set; }
        public String IsGradient { get; set; }
        public String GR { get; set; }
        public String Status { get; set; }
        public String EndTime { get; set; }
        public String EndPosition { get; set; }
        public String Cyan { get; set; }
        public String Magenta { get; set; }
        public String Yellow { get; set; }
        public String Black { get; set; }
        public String Transparent { get; set; }
        public String Lubricant { get; set; }
        public String Cleaner { get; set; }
    }
}
class="w"> } private LogItemBase _selectedLog; public LogItemBase SelectedLog { get { return _selectedLog; } set { _selectedLog = value; RaisePropertyChangedAuto(); OnSelectedLogChanged(); } } private ObservableCollection<DateTime> _dates; public ObservableCollection<DateTime> Dates { get { return _dates; } set { _dates = value; RaisePropertyChangedAuto(); } } private DateTime _selectedDate; public DateTime SelectedDate { get { return _selectedDate; } set { _selectedDate = value; RaisePropertyChangedAuto(); OnSelectedDateChanged(); } } private DateTime _minDate; public DateTime MinDate { get { return _minDate; } set { _minDate = value; RaisePropertyChangedAuto(); } } private DateTime _maxDate; public DateTime MaxDate { get { return _maxDate; } set { _maxDate = value; RaisePropertyChangedAuto(); } } private bool _isRealTime; public bool IsRealTime { get { return _isRealTime; } set { _isRealTime = value; RaisePropertyChangedAuto(); OnSelectedDateChanged(); } } private bool _realTimePaused; public bool RealTimePaused { get { return _realTimePaused; } set { _realTimePaused = value; RaisePropertyChangedAuto(); if (!_realTimePaused) { _realTimeLogs.InsertRange(0, _pausedLogs); _pausedLogs.Clear(); } } } public RelayCommand NavigateToHomeCommand { get; set; } public RelayCommand ToggleRealTimePaused { get; set; } public RelayCommand ClearRealTimeLogsCommand { get; set; } public EmbeddedLogsViewVM(LoggingNavigationManager navigation, IStudioApplicationManager application, INotificationProvider notification) { _notification = notification; NavigateToHomeCommand = new RelayCommand(() => navigation.NavigateTo(LoggingNavigationView.HomeView)); _parser = new EmbeddedLogFileParser(); _logFiles = _parser.GetLogFiles(); Dates = new ObservableCollection<DateTime>(_logFiles.Select(x => x.DateTime).OrderBy(x => x)); _realTimeLogs = new ControlledObservableCollection<LogItemBase>(); _pausedLogs = new List<LogItemBase>(); IsRealTime = true; RealTimePaused = true; SelectedDate = Dates.LastOrDefault(); if (Dates.Count > 0) { MinDate = Dates.Min(); MaxDate = Dates.Max(); } MachineOperator.EmbeddedLogManager.NewLog += EmbeddedLogManager_NewLog; ToggleRealTimePaused = new RelayCommand(() => RealTimePaused = !RealTimePaused); ClearRealTimeLogsCommand = new RelayCommand(() => { _realTimeLogs.Clear(); }); } private void EmbeddedLogManager_NewLog(object sender, LogItemBase log) { if (!RealTimePaused) { InvokeUI(() => { _realTimeLogs.Insert(0, log); }); } else { _pausedLogs.Add(log); } } private async void OnSelectedDateChanged() { if (IsRealTime) { Logs = _realTimeLogs; } else { List<LogItemBase> logs = new List<LogItemBase>(); using (_notification.PushTaskItem("Loading embedded device logs...")) { await Task.Factory.StartNew(() => { foreach (var logFile in _logFiles.Where(x => x.DateTime.Date == SelectedDate.Date)) { logs.AddRange(_parser.Parse(logFile)); } }); } Logs = new ControlledObservableCollection<LogItemBase>(logs); } } private void OnSelectedLogChanged() { if (SelectedLog != null && !_dialog_shown) { _dialog_shown = true; _notification.ShowModalDialog<LogDetailsViewVM, EmbeddedLogDetailsView>(new LogDetailsViewVM(SelectedLog), (x) => { }, () => { _dialog_shown = false; }); } } } }