<UserControl x:Class="Tango.PPC.Technician.Views.UpdatesView"
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:local="clr-namespace:Tango.PPC.Technician.Views"
xmlns:sys="clr-namespace:System;assembly=mscorlib"
xmlns:vm="clr-namespace:Tango.PPC.Technician.ViewModels"
xmlns:touch="clr-namespace:Tango.Touch.Controls;assembly=Tango.Touch"
xmlns:converters="clr-namespace:Tango.PPC.Technician.Converters"
xmlns:global="clr-namespace:Tango.PPC.Technician"
mc:Ignorable="d"
d:DesignHeight="1280" d:DesignWidth="800" d:DataContext="{d:DesignInstance Type=vm:UpdatesViewVM, IsDesignTimeCreatable=False}" DataContext="{x:Static global:ViewModelLocator.UpdatesViewVM}">
<UserControl.Resources>
<converters:LogItemMessageToOneLineConverter x:Key="LogItemMessageToOneLineConverter" />
</UserControl.Resources>
<Grid Background="{StaticResource TangoMidBackgroundBrush}">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="1*"/>
</Grid.RowDefinitions>
<Border Padding="20" Background="{StaticResource TangoPrimaryBackgroundBrush}" BorderThickness="0 0 0 1" BorderBrush="{StaticResource TangoDividerBrush}">
<Border.Effect>
<DropShadowEffect Color="Silver" ShadowDepth="0" BlurRadius="20" Opacity="1" />
</Border.Effect>
<TextBlock VerticalAlignment="Center" FontSize="{StaticResource TangoHeaderFontSize}" FontWeight="SemiBold">Updates & Synchronization</TextBlock>
</Border>
<Grid Grid.Row="1" Margin="15">
<DockPanel>
<touch:TouchNavigationLinks x:Name="nav" DockPanel.Dock="Top" FontSize="{StaticResource TangoTitleFontSize}">
<sys:String>Updates</sys:String>
<sys:String>Synchronization</sys:String>
</touch:TouchNavigationLinks>
<TabControl Padding="0" BorderThickness="0" Margin="0 10 0 0" Background="Transparent" SelectedIndex="{Binding ElementName=nav,Path=SelectedIndex,Mode=OneWay}">
<TabItem Visibility="Collapsed" Header="Software Updates">
<touch:TouchSimpleDataGrid Style="{StaticResource TechGrid}" ItemsSource="{Binding Updates}" SelectedItem="{Binding SelectedUpdate}">
<DataGrid.Columns>
<DataGridTemplateColumn Header="" Width="50">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<touch:TouchIcon Width="16">
<touch:TouchIcon.Style>
<Style TargetType="touch:TouchIcon">
<Setter Property="Icon" Value="Pause"></Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding IsSetup}" Value="True">
<Setter Property="Icon" Value="Settings"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding IsUpdate}" Value="True">
<Setter Property="Icon" Value="CloudDownload"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding IsDataBase}" Value="True">
<Setter Property="Icon" Value="Database"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding IsSynchronization}" Value="True">
<Setter Property="Icon" Value="Sync"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding IsOfflineUpdate}" Value="True">
<Setter Property="Icon" Value="Sd"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding IsOfflineFirmwareUpgrade}" Value="True">
<Setter Property="Icon" Value="Chip"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding IsStarted}" Value="True">
<Setter Property="Foreground" Value="{StaticResource TangoWarningBrush}"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding IsCompleted}" Value="True">
<Setter Property="Foreground" Value="{StaticResource TangoSuccessBrush}"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding IsFailed}" Value="True">
<Setter Property="Foreground" Value="{StaticResource TangoErrorBrush}"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</touch:TouchIcon.Style>
</touch:TouchIcon>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Date" Width="120" Binding="{Binding StartDate,Converter={StaticResource DateTimeUTCToShortDateTimeConverter}}" />
<DataGridTextColumn Header="Application" Width="120" Binding="{Binding ApplicationVersion}" />
<DataGridTextColumn Header="Firmware" Width="120" Binding="{Binding FirmwareVersion}" />
<DataGridTemplateColumn Header="Message" Width="1*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding UpdateStatus,Converter={StaticResource EnumToDescriptionConverter}}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</touch:TouchSimpleDataGrid>
</TabItem>
<TabItem Visibility="Collapsed" Header="Synchronization">
<DockPanel>
<DockPanel DockPanel.Dock="Bottom">
<DockPanel Margin="20">
<touch:TouchButton IsEnabled="{Binding MachineDataSynchronizer.IsEnabled}" DockPanel.Dock="Right" Padding="50 20" CornerRadius="30" Command="{Binding SynchronizeCommand}">Synchronize Now</touch:TouchButton>
<TextBlock Foreground="{StaticResource TangoGrayTextBrush}" VerticalAlignment="Center" TextWrapping="Wrap" Margin="0 0 20 0">Synchronization occurres automatically in the background. You can choose to synchronize now.</TextBlock>
</DockPanel>
</DockPanel>
<Grid>
<touch:TouchSimpleDataGrid Style="{StaticResource TechGrid}" ItemsSource="{Binding MachineDataSynchronizer.StatusHistory}" SelectedItem="{Binding SelectedSynchronization}">
<DataGrid.Columns>
<DataGridTemplateColumn Header="" Width="50">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<touch:TouchIcon Width="16">
<touch:TouchIcon.Style>
<Style TargetType="touch:TouchIcon">
<Setter Property="Icon" Value="Pause"></Setter>
<Style.Triggers>
<DataTrigger Binding="{Binding State}" Value="Pending">
<Setter Property="Icon" Value="Pause"></Setter>
<Setter Property="Foreground" Value="{StaticResource TangoGrayBrush}"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding State}" Value="Synchronizing">
<Setter Property="Icon" Value="CloudSync"></Setter>
<Setter Property="Foreground" Value="{StaticResource TangoWarningBrush}"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding State}" Value="Failed">
<Setter Property="Icon" Value="Alert"></Setter>
<Setter Property="Foreground" Value="{StaticResource TangoErrorBrush}"></Setter>
</DataTrigger>
<DataTrigger Binding="{Binding State}" Value="Completed">
<Setter Property="Icon" Value="Check"></Setter>
<Setter Property="Foreground" Value="{StaticResource TangoGreenBrush}"></Setter>
</DataTrigger>
</Style.Triggers>
</Style>
</touch:TouchIcon.Style>
</touch:TouchIcon>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
<DataGridTextColumn Header="Start Time" Width="120" Binding="{Binding StartDateTime,StringFormat=t}" />
<DataGridTextColumn Header="Status" Width="120" Binding="{Binding State,Converter={StaticResource EnumToDescriptionConverter}}" />
<DataGridTextColumn Header="Duration" Width="120" Binding="{Binding Duration,StringFormat='hh\\:mm\\:ss'}" />
<DataGridTemplateColumn Header="Message" Width="1*">
<DataGridTemplateColumn.CellTemplate>
<DataTemplate>
<TextBlock Text="{Binding Message,Converter={StaticResource StringEllipsisConverter},ConverterParameter='70',Mode=OneWay}"/>
</DataTemplate>
</DataGridTemplateColumn.CellTemplate>
</DataGridTemplateColumn>
</DataGrid.Columns>
</touch:TouchSimpleDataGrid>
</Grid>
</DockPanel>
</TabItem>
</TabControl>
</DockPanel>
</Grid>
</Grid>
</UserControl>