ConsignmentDock.xaml 7.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. <UserControl x:Class="PRSDesktop.ConsignmentDock"
  2. xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
  3. xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
  4. xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
  5. xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
  6. xmlns:local="clr-namespace:PRSDesktop"
  7. mc:Ignorable="d"
  8. d:DesignHeight="450" d:DesignWidth="800">
  9. <UserControl.Resources>
  10. <local:DateHasValueConverter x:Key="DateHasValue" />
  11. <Style x:Key="supplierStyle" TargetType="{x:Type TextBlock}">
  12. <Style.Triggers>
  13. <DataTrigger Binding="{Binding Path=ActualWarehouseArrival, Converter={StaticResource DateHasValue}}"
  14. Value="False">
  15. <Setter Property="Visibility" Value="Visible" />
  16. </DataTrigger>
  17. <DataTrigger Binding="{Binding Path=ActualDispatchDate, Converter={StaticResource DateHasValue}}"
  18. Value="True">
  19. <Setter Property="Visibility" Value="Collapsed" />
  20. </DataTrigger>
  21. <DataTrigger Binding="{Binding Path=Closed, Converter={StaticResource DateHasValue}}" Value="True">
  22. <Setter Property="Visibility" Value="Collapsed" />
  23. </DataTrigger>
  24. </Style.Triggers>
  25. </Style>
  26. <Style x:Key="transitStyle" TargetType="{x:Type TextBlock}">
  27. <Style.Triggers>
  28. <!--<MultiDataTrigger>
  29. <MultiDataTrigger.Conditions>
  30. <Condition Binding="{Binding Path=Assignment.Date, Converter={StaticResource DateHasValue}}" Value="True"/>
  31. <Condition Binding="{Binding Path=Completed, Converter={StaticResource DateHasValue}}" Value="False"/>
  32. </MultiDataTrigger.Conditions>
  33. <Setter Property="Visibility" Value="Visible" />
  34. </MultiDataTrigger>-->
  35. <DataTrigger Binding="{Binding Path=ActualWarehouseArrival, Converter={StaticResource DateHasValue}}"
  36. Value="False">
  37. <Setter Property="Visibility" Value="Visible" />
  38. </DataTrigger>
  39. <DataTrigger Binding="{Binding Path=ActualWarehouseArrival, Converter={StaticResource DateHasValue}}"
  40. Value="True">
  41. <Setter Property="Visibility" Value="Collapsed" />
  42. </DataTrigger>
  43. <DataTrigger Binding="{Binding Path=ActualDispatchDate, Converter={StaticResource DateHasValue}}"
  44. Value="False">
  45. <Setter Property="Visibility" Value="Collapsed" />
  46. </DataTrigger>
  47. </Style.Triggers>
  48. </Style>
  49. <Style x:Key="arrivedStyle" TargetType="{x:Type TextBlock}">
  50. <Style.Triggers>
  51. <DataTrigger Binding="{Binding Path=ActualWarehouseArrival, Converter={StaticResource DateHasValue}}"
  52. Value="True">
  53. <Setter Property="Visibility" Value="Visible" />
  54. </DataTrigger>
  55. <DataTrigger Binding="{Binding Path=ActualWarehouseArrival, Converter={StaticResource DateHasValue}}"
  56. Value="False">
  57. <Setter Property="Visibility" Value="Collapsed" />
  58. </DataTrigger>
  59. </Style.Triggers>
  60. </Style>
  61. <Style x:Key="backgroundStyle" TargetType="{x:Type Border}">
  62. <Style.Triggers>
  63. <DataTrigger Binding="{Binding Path=ActualWarehouseArrival, Converter={StaticResource DateHasValue}}"
  64. Value="True">
  65. <Setter Property="Background" Value="Silver" />
  66. </DataTrigger>
  67. <DataTrigger Binding="{Binding Path=ActualDispatchDate, Converter={StaticResource DateHasValue}}"
  68. Value="True">
  69. <Setter Property="Background" Value="LimeGreen" />
  70. </DataTrigger>
  71. <DataTrigger Binding="{Binding Path=ActualDispatchDate, Converter={StaticResource DateHasValue}}"
  72. Value="False">
  73. <Setter Property="Background" Value="Orange" />
  74. </DataTrigger>
  75. </Style.Triggers>
  76. </Style>
  77. </UserControl.Resources>
  78. <Grid>
  79. <Grid.RowDefinitions>
  80. <RowDefinition Height="*" />
  81. <RowDefinition Height="Auto" />
  82. </Grid.RowDefinitions>
  83. <ListBox Grid.Row="0" x:Name="Consignments" HorizontalContentAlignment="Stretch">
  84. <ListBox.ItemTemplate>
  85. <DataTemplate>
  86. <Border CornerRadius="5" BorderBrush="Black" BorderThickness="0.75" Margin="2"
  87. Style="{StaticResource backgroundStyle}">
  88. <Grid>
  89. <Grid.ColumnDefinitions>
  90. <ColumnDefinition Width="Auto" />
  91. <ColumnDefinition Width="*" />
  92. <ColumnDefinition Width="Auto" />
  93. </Grid.ColumnDefinitions>
  94. <Grid.RowDefinitions>
  95. <RowDefinition Height="Auto" />
  96. <RowDefinition Height="*" />
  97. <RowDefinition Height="Auto" />
  98. </Grid.RowDefinitions>
  99. <TextBlock Grid.Row="0" Grid.Column="0" Margin="4,2,4,2" Grid.ColumnSpan="2">
  100. <Run Text="{Binding Path='Supplier.Name'}" /><Run Text=" - " />
  101. <Run Text="{Binding Path='Number'}" />
  102. </TextBlock>
  103. <TextBlock Grid.Row="0" Grid.Column="2" Margin="4,2,4,2" Text="{Binding Path='Origin'}"
  104. TextAlignment="Right" />
  105. <TextBlock Grid.Row="1" Grid.Column="0" Grid.ColumnSpan="3" Margin="4,0,4,2"
  106. Text="{Binding Path='Description'}" />
  107. <TextBlock Grid.Row="2" Grid.Column="0" Margin="4,0,4,2"
  108. Text="{Binding Path='Type.Description'}" />
  109. <TextBlock Grid.Row="2" Grid.Column="1" Margin="4,0,4,2" Text="{Binding Path='Status'}"
  110. TextAlignment="Center" />
  111. <TextBlock Grid.Row="2" Grid.Column="2" Margin="4,0,4,2" TextAlignment="Right"
  112. Style="{StaticResource supplierStyle}">
  113. <Run Text="ETD: " />
  114. <Run Text="{Binding Path='EstimatedDispatchDate', StringFormat='{}{0:dd MMM yy}'}" />
  115. </TextBlock>
  116. <TextBlock Grid.Row="2" Grid.Column="2" Margin="4,0,4,2" TextAlignment="Right"
  117. Style="{StaticResource transitStyle}">
  118. <Run Text="ETA: " />
  119. <Run Text="{Binding Path='EstimatedWarehouseArrival', StringFormat='{}{0:dd MMM yy}'}" />
  120. </TextBlock>
  121. <TextBlock Grid.Row="2" Grid.Column="2" Margin="4,0,4,2" TextAlignment="Right"
  122. Style="{StaticResource arrivedStyle}">
  123. <Run Text="Arrived: " />
  124. <Run Text="{Binding Path='ActualWarehouseArrival', StringFormat='{}{0:dd MMM yy}'}" />
  125. </TextBlock>
  126. </Grid>
  127. </Border>
  128. </DataTemplate>
  129. </ListBox.ItemTemplate>
  130. </ListBox>
  131. </Grid>
  132. </UserControl>