aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/MachineStudio/Modules/Tango.MachineStudio.Technician/Project/MachineTechViewProjectTab.cs
blob: c86e1ae55e53b47d016e9ed04024a85c6b951746 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Tango.MachineStudio.Technician.TechItems;

namespace Tango.MachineStudio.Technician.Project
{
    public class MachineTechViewProjectTab
    {
        public String Name { get; set; }
        public List<TechItem> Items { get; set; }

        public MachineTechViewProjectTab()
        {
            Items = new List<TechItem>();
        }
    }
}
using System.Text; using System.Threading.Tasks; using Tango.BL; using Tango.BL.Entities; using Tango.Core.Commands; using Tango.MachineStudio.Common.Diagnostics; using Tango.MachineStudio.Common.Notifications; using Tango.MachineStudio.Common.StudioApplication; using Tango.SharedUI; using System.Data.Entity; namespace Tango.MachineStudio.UI.ViewModels { public class ConnectedMachineViewVM : DialogViewVM { public enum ConnectedMachineVMResult { Cancel, Disconnect, UploadHardwareConfig, Reset, TurnOffHeaters } private IStudioApplicationManager _applicationManager; public IStudioApplicationManager ApplicationManager { get { return _applicationManager; } set { _applicationManager = value; RaisePropertyChangedAuto(); } } public ConnectedMachineVMResult Result { get; set; } private IDiagnosticsFrameProvider _diagnosticsFrameProvider; public IDiagnosticsFrameProvider DiagnosticsFrameProvider { get { return _diagnosticsFrameProvider; } set { _diagnosticsFrameProvider = value; RaisePropertyChangedAuto(); } } private String _totalMachineWorkTime; public String TotalMachineWorkTime { get { return _totalMachineWorkTime; } set { _totalMachineWorkTime = value; RaisePropertyChangedAuto(); } } private String _totalMachineMeters; public String TotalMachineMeters { get { return _totalMachineMeters; } set { _totalMachineMeters = value; RaisePropertyChangedAuto(); } } public RelayCommand DisconnectCommand { get; set; } public RelayCommand UploadHardwareConfigurationCommand { get; set; } public RelayCommand ResetCommand { get; set; } public RelayCommand TurnOffHeatersCommand { get; set; } public ConnectedMachineViewVM(IStudioApplicationManager application, IDiagnosticsFrameProvider frameProvider) { ApplicationManager = application; DisconnectCommand = new RelayCommand(() => AcceptResult(ConnectedMachineVMResult.Disconnect)); UploadHardwareConfigurationCommand = new RelayCommand(() => AcceptResult(ConnectedMachineVMResult.UploadHardwareConfig)); ResetCommand = new RelayCommand(() => AcceptResult(ConnectedMachineVMResult.Reset)); TurnOffHeatersCommand = new RelayCommand(() => AcceptResult(ConnectedMachineVMResult.TurnOffHeaters)); DiagnosticsFrameProvider = frameProvider; } private void AcceptResult(ConnectedMachineVMResult result) { Result = result; Accept(); } public override void OnShow() { base.OnShow(); LoadMachineCounters(); } private async void LoadMachineCounters() { try { TotalMachineMeters = "loading..."; TotalMachineWorkTime = "loading..."; using (ObservablesContext db = ObservablesContext.CreateDefault()) { var jobRuns = await db.JobRuns.Where(x => x.MachineGuid == ApplicationManager.Machine.Guid).Select(x => new { x.StartDate, x.EndDate, x.EndPosition }).ToListAsync(); TotalMachineWorkTime = TimeSpan.FromHours(jobRuns.Select(x => x.EndDate - x.StartDate).Sum(x => x.TotalHours)).ToString(@"hh\:mm\:ss"); int meters = (int)jobRuns.Select(x => x.EndPosition).Sum(); TotalMachineMeters = $"{meters.ToString("N0")} meters"; } } catch (Exception ex) { LogManager.Log(ex, "Error loading machine counters."); TotalMachineMeters = "error!"; TotalMachineWorkTime = "error!"; } } } }