Prechádzať zdrojové kódy

Added Requisition Destinations Lookup

frogsoftware 1 rok pred
rodič
commit
bd0b55ce15

+ 9 - 9
prs.classes/Entities/Requisition/Requisition.cs

@@ -31,9 +31,6 @@ namespace Comal.Classes
         [Aggregate(typeof(RequisitionDocumentCount))]
         [NullEditor]
         public int Documents { get; set; }
-
-        [MemoEditor]
-        public string Request { get; set; }
         
         public Expression<Func<Requisition, int>> AutoIncrementField()
         {
@@ -56,8 +53,7 @@ namespace Comal.Classes
             get => base.Created;
             set => base.Created = value;
         }
-
-
+        
         [EditorSequence(3)]
         [TextBoxEditor]
         public string Title { get; set; }
@@ -72,17 +68,21 @@ namespace Comal.Classes
 
         [EditorSequence(6)]
         public EmployeeLink RequestedBy { get; set; }
-
+        
         [EditorSequence(7)]
+        [MemoEditor]
+        public string Request { get; set; }
+
+        [EditorSequence(8)]
         [NotesEditor]
         public string[] Notes { get; set; } = Array.Empty<string>();
 
-        [EditorSequence(8)]
+        [EditorSequence(9)]
         [DateTimeEditor]
         public DateTime Due { get; set; }
         
-        [EditorSequence(9)]
-        public RequisitionDeliveryMethodLink DeliveryMethod { get; set; }
+        [EditorSequence(10)]
+        public RequisitionDestinationLink Destination { get; set; }
         
         [EditorSequence("Fulfilment", 1)]
         [Caption("Assigned To")]

+ 0 - 10
prs.classes/Entities/Requisition/RequisitionDeliveryMethod.cs

@@ -1,10 +0,0 @@
-using System;
-using InABox.Core;
-
-namespace Comal.Classes
-{
-    public class RequisitionDeliveryMethod : Entity, IRemotable, IPersistent
-    {
-        public String Description { get; set; }
-    }
-}

+ 15 - 0
prs.classes/Entities/Requisition/RequisitionDestination.cs

@@ -0,0 +1,15 @@
+using System;
+using InABox.Core;
+
+namespace Comal.Classes
+{
+    public class RequisitionDestination : Entity, IRemotable, IPersistent, ISequenceable
+    {
+        [NullEditor]
+        public long Sequence { get; set; }
+        
+        [TextBoxEditor]
+        public String Description { get; set; }
+        
+    }
+}

+ 2 - 2
prs.classes/Entities/Requisition/RequisitionDeliveryMethodLink.cs → prs.classes/Entities/Requisition/RequisitionDestinationLink.cs

@@ -3,9 +3,9 @@ using InABox.Core;
 
 namespace Comal.Classes
 {
-    public class RequisitionDeliveryMethodLink : EntityLink<RequisitionDeliveryMethod>
+    public class RequisitionDestinationLink : EntityLink<RequisitionDestination>
     {
-        [LookupEditor(typeof(RequisitionDeliveryMethod))]
+        [LookupEditor(typeof(RequisitionDestination))]
         public override Guid ID { get; set; }
         
         [TextBoxEditor(Visible = Visible.Default, Editable = Editable.Hidden)]

+ 25 - 0
prs.classes/Entities/Requisition/RequisitionDestinationLookups.cs

@@ -0,0 +1,25 @@
+using InABox.Core;
+
+namespace Comal.Classes
+{
+    public class RequisitionDestinationLookups : EntityLookup<RequisitionDestination>
+    {
+        public override Columns<RequisitionDestination> DefineColumns()
+        {
+            return new Columns<RequisitionDestination>(
+                x => x.ID,
+                x => x.Description
+            );
+        }
+
+        public override Filter<RequisitionDestination> DefineFilter()
+        {
+            return null;
+        }
+
+        public override SortOrder<RequisitionDestination> DefineSortOrder()
+        {
+            return new SortOrder<RequisitionDestination>(x => x.Sequence);
+        }
+    }
+}

+ 10 - 1
prs.desktop/MainWindow.xaml.cs

@@ -1209,6 +1209,9 @@ namespace PRSDesktop
                     { ReadyToGoItemsButton, DispatchButton, RequisitionsButton, DeliveriesButton, DeliveredItemsButton },
                 new FrameworkElement[] { ConsignmentButton });
 
+            
+            AddSetupAction(LogisticsTab, "Requisition Destinations", RequisitionDestinations_Click, PRSDesktop.Resources.milestone,
+                Security.CanView<RequisitionDestination>());
             AddSetupAction(LogisticsTab, "Delivery Types", DeliveryTypesButton_Click, PRSDesktop.Resources.truck,
                 Security.CanView<ConsignmentType>());
             AddSetupAction(LogisticsTab, "Consignment Types", ConsignmentTypesButton_Click, PRSDesktop.Resources.service,
@@ -2852,7 +2855,13 @@ namespace PRSDesktop
             var list = new MasterList(typeof(PurchaseOrderCategory));
             list.ShowDialog();
         }
-
+        
+        private void RequisitionDestinations_Click()
+        {
+            var list = new MasterList(typeof(RequisitionDestination));
+            list.ShowDialog();
+        }
+        
         private void DeliveryTypesButton_Click()
         {
             var list = new MasterList(typeof(DeliveryType));

+ 13 - 7
prs.desktop/Panels/Requisitions/RequisitionPanel.xaml

@@ -90,9 +90,10 @@
                                     <RowDefinition Height="Auto" />
                                     <RowDefinition Height="Auto" />
                                     <RowDefinition Height="Auto" />
+                                    <RowDefinition Height="Auto" />
                                 </Grid.RowDefinitions>
                                 <Grid.ColumnDefinitions>
-                                    <ColumnDefinition Width="120" />
+                                    <ColumnDefinition Width="Auto" />
                                     <ColumnDefinition Width="*" />
                                 </Grid.ColumnDefinitions>
                                 
@@ -106,9 +107,14 @@
                                 <Button x:Name="DueDate" Grid.Row="1" Grid.Column="1" FontSize="16" FontWeight="Bold"
                                         HorizontalContentAlignment="Center" Margin="5,5,5,0" IsEnabled="False" Height="40" />
                                 
-                                <Label Content="Pick Status:" Grid.Row="2" Grid.Column="0" FontSize="16" FontWeight="Bold"
+                                <Label Content="Destination:" Grid.Row="2" Grid.Column="0" FontSize="16" FontWeight="Bold"
+                                       HorizontalContentAlignment="Center" Margin="5,5,0,0"  VerticalContentAlignment="Center" />
+                                <Button x:Name="Destination" Grid.Row="2" Grid.Column="1" FontSize="16" FontWeight="Bold"
+                                        HorizontalContentAlignment="Center" Margin="5,5,5,0" IsEnabled="False" Height="40" />
+                                
+                                <Label Content="Pick Status:" Grid.Row="3" Grid.Column="0" FontSize="16" FontWeight="Bold"
                                        HorizontalContentAlignment="Center" Margin="5,5,0,0" VerticalContentAlignment="Center" />
-                                <Button x:Name="MarkAsFilled" Grid.Row="2" Grid.Column="1" Click="MarkAsFilled_Click" Margin="5,5,5,0"
+                                <Button x:Name="MarkAsFilled" Grid.Row="3" Grid.Column="1" Click="MarkAsFilled_Click" Margin="5,5,5,0"
                                         Padding="5">
                                     <Button.Content>
                                         <Grid HorizontalAlignment="Stretch">
@@ -124,9 +130,9 @@
                                     </Button.Content>
                                 </Button>
 
-                                <Label Content="Taken By:" Grid.Row="3" Grid.Column="0" FontSize="16" FontWeight="Bold"
+                                <Label Content="Taken By:" Grid.Row="4" Grid.Column="0" FontSize="16" FontWeight="Bold"
                                        HorizontalContentAlignment="Center" Margin="5,5,0,0" VerticalContentAlignment="Center" />
-                                <Button x:Name="TakenBy" Grid.Row="3" Grid.Column="1" Click="TakenBy_Click" Margin="5,5,5,0"
+                                <Button x:Name="TakenBy" Grid.Row="4" Grid.Column="1" Click="TakenBy_Click" Margin="5,5,5,0"
                                         Padding="5">
                                     <Button.Content>
                                         <Grid HorizontalAlignment="Stretch">
@@ -143,9 +149,9 @@
                                     </Button.Content>
                                 </Button>
 
-                                <Label Content="Warehouse:" Grid.Row="4" Grid.Column="0" FontSize="16" FontWeight="Bold"
+                                <Label Content="Warehouse:" Grid.Row="5" Grid.Column="0" FontSize="16" FontWeight="Bold"
                                        HorizontalContentAlignment="Center" Margin="5,5,0,5" VerticalContentAlignment="Center" />
-                                <Button x:Name="UpdateStock" Grid.Row="4" Grid.Column="1" Click="UpdateStock_Click" Margin="5,5,5,5"
+                                <Button x:Name="UpdateStock" Grid.Row="5" Grid.Column="1" Click="UpdateStock_Click" Margin="5,5,5,5"
                                         Padding="5">
                                     <Button.Content>
                                         <Grid HorizontalAlignment="Stretch">

+ 2 - 0
prs.desktop/Panels/Requisitions/RequisitionPanel.xaml.cs

@@ -341,6 +341,8 @@ public partial class RequisitionPanel : UserControl, IPanel<Requisition>
         RequestedBy.Content = _requisition != null ? _requisition.RequestedBy.Name : "";
 
         DueDate.Content = _requisition != null ? string.Format("{0:dddd, dd MMM yyyy}", _requisition.Due) : "";
+        
+        Destination.Content = _requisition != null ? _requisition.Destination.Description : "";
 
         var notes = _requisition != null ? _requisition.Notes : Array.Empty<string>();
         var request = _requisition != null ? CoreUtils.StripHTML(_requisition.Request) : "";