using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Media.Imaging;
using Tango.BL.Entities;
using Tango.BL.Enumerations;
using Tango.MachineStudio.Common;
using Tango.MachineStudio.HardwareDesigner.Views;
using Tango.SharedUI.Helpers;
namespace Tango.MachineStudio.HardwareDesigner
{
[StudioModule(3)]
public class HardwareDesignerModule : StudioModuleBase
{
public override string Name
{
get
{
return "Hardware Versions";
}
}
public override string Description
{
get
{
return "Select and configure hardware versions using the available hardware components. Hardware versions can be assigned to a machine configuration using the Machine Designer module.";
}
}
public override BitmapSource Image
{
get
{
return ResourceHelper.GetImageFromResources("Images/components.png");
}
}
///
<UserControl x:Class="Tango.MachineStudio.MachineDesigner.Views.MachineUpdateDetailsDialog"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mahapps="http://metro.mahapps.com/winfx/xaml/controls"
xmlns:converters="clr-namespace:Tango.SharedUI.Converters;assembly=Tango.SharedUI"
xmlns:controls="clr-namespace:Tango.SharedUI.Controls;assembly=Tango.SharedUI"
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
xmlns:vm="clr-namespace:Tango.MachineStudio.MachineDesigner.ViewModels"
xmlns:local="clr-namespace:Tango.MachineStudio.MachineDesigner.Views"
mc:Ignorable="d"
d:DesignHeight="400" d:DesignWidth="700" Height="700" Width="1280" Background="White" d:DataContext="{d:DesignInstance Type=vm:MachineUpdateDetailsDialogVM, IsDesignTimeCreatable=False}">
<UserControl.Resources>
<converters:EnumToDescriptionConverter x:Key="EnumToDescriptionConverter" />
<converters:DateTimeUTCToShortDateTimeConverter x:Key="DateTimeUTCToShortDateTimeConverter" />
<converters:StringToOneLineConverter x:Key="StringToOneLineConverter" />
</UserControl.Resources>
<Grid>
<Grid Grid.RowSpan="2">
<Grid.RowDefinitions>
<RowDefinition Height="60"/>
<RowDefinition Height="31*"/>
<RowDefinition Height="50"/>
</Grid.RowDefinitions>
<StackPanel Orientation="Horizontal" DataContext="{Binding Update}">
<materialDesign:PackIcon Width="42" Height="42" VerticalAlignment="Center">
<materialDesign:PackIcon.Style>
<Style TargetType="materialDesign:PackIcon">
<Setter Property="Kind" Value="Information"></Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding IsSetup}" Value="True">
<Setter Property="Kind" Value="Settings"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding IsUpdate}" Value="True">
<Setter Property="Kind" Value="CloudDownload"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding IsDataBase}" Value="True">
<Setter Property="Kind" Value="Database"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding IsSynchronization}" Value="True">
<Setter Property="Kind" Value="Sync"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding IsOfflineUpdate}" Value="True">
<Setter Property="Kind" Value="Sd"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding IsOfflineFirmwareUpgrade}" Value="True">
<Setter Property="Kind" Value="Chip"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding IsStarted}" Value="True">
<Setter Property="Foreground" Value="{StaticResource OrangeBrush}"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding IsCompleted}" Value="True">
<Setter Property="Foreground" Value="{StaticResource GreenBrush }"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding IsFailed}" Value="True">
<Setter Property="Foreground" Value="Red"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</materialDesign:PackIcon.Style>
</materialDesign:PackIcon>
<TextBlock VerticalAlignment="Center" Text="{Binding UpdateStatus,Converter={StaticResource EnumToDescriptionConverter}}" TextWrapping="NoWrap" Height="22" TextTrimming="CharacterEllipsis" Width="500" Margin="10 0 0 0" FontSize="16"></TextBlock>
</StackPanel>
<Grid Grid.Row="1">
<DockPanel>
<Grid DockPanel.Dock="Top">
<controls:TableGrid RowHeight="30">
<TextBlock Text="Started On:" FontWeight="SemiBold" />
<TextBlock Text="{Binding Update.StartDate,Converter={StaticResource DateTimeUTCToShortDateTimeConverter}}"></TextBlock>
<TextBlock Text="Application:" FontWeight="SemiBold" />
<TextBlock Text="{Binding Update.ApplicationVersion}"></TextBlock>
<TextBlock Text="Firmware:" FontWeight="SemiBold" />
<TextBlock Text="{Binding Update.FirmwareVersion}"></TextBlock>
<TextBlock Text="Ended:" FontWeight="SemiBold" />
<TextBlock Text="{Binding Update.EndDate,TargetNullValue='Never',FallbackValue='Never',Converter={StaticResource DateTimeUTCToShortDateTimeConverter}}"></TextBlock>
</controls:TableGrid>
</Grid>
<Border Padding="5" BorderThickness="1" BorderBrush="{StaticResource BorderBrushGainsboro}">
<TextBox BorderThickness="0" Text="{Binding Update.FailedLog,TargetNullValue='No further Information available.'}" Style="{x:Null}" TextWrapping="NoWrap" IsReadOnly="True" HorizontalScrollBarVisibility="Auto" VerticalScrollBarVisibility="Auto" Background="Transparent" />
</Border>
</DockPanel>
</Grid>
<Grid Grid.Row="2">
<Button HorizontalAlignment="Right" Width="140" Command="{Binding CloseCommand}">CLOSE</Button>
</Grid>
</Grid>
</Grid>
</UserControl>