瀏覽代碼

Merge branch 'kenric' into issues

Kenric Nugteren 8 月之前
父節點
當前提交
4b36c2292d

+ 2 - 7
prs.classes/EnclosedEntities/Dimensions/Dimensions.cs

@@ -241,13 +241,8 @@ namespace Comal.Classes
 
         public static Filter<T> DimensionEquals<T>(this Filter<T> filter, IDimensions dim)
         {
-            if (!CoreUtils.TryFindMemberExpression(filter.Expression, out var mexp))
-            {
-                throw new ArgumentException("Filter expression is not a MemberExpression");
-            }
-            var prop = CoreUtils.GetFullPropertyName(mexp, ".") + ".";
-
-            filter.Expression = CoreUtils.GetMemberExpression(typeof(T), prop + unitid.Property);
+            var prop = filter.Property + ".";
+            filter.Property = prop + unitid.Property;
             filter.IsEqualTo(dim.Unit.ID);
 
             filter.And(prop + quantity.Property).IsEqualTo(dim.Quantity);

+ 5 - 0
prs.desktop/Panels/Reservation Management/Substitution/ReservationManagementSubstitutionGrid.cs

@@ -84,6 +84,11 @@ public class ReservationManagementSubstitutionGrid : DynamicDataGrid<StockHoldin
         HiddenColumns.Add(x => x.Dimensions.Unit.Code);
         HiddenColumns.Add(x => x.Dimensions.Unit.Description);
         HiddenColumns.Add(x => x.Available);
+        HiddenColumns.Add(x => x.AverageValue);
+        foreach(var column in StockHolding.Columns)
+        {
+            HiddenColumns.Add(column);
+        }
     }
 
     protected override void Reload(Filters<StockHolding> criteria, Columns<StockHolding> columns, ref SortOrder<StockHolding>? sort, CancellationToken token, Action<CoreTable?, Exception?> action)

+ 5 - 1
prs.desktop/Panels/Reservation Management/Substitution/ReservationManagementSubstitutionWindow.xaml.cs

@@ -34,7 +34,7 @@ public partial class ReservationManagementSubstitutionWindow : Window
         var _holding = substitutions.SelectedRows?.FirstOrDefault()?.ToObject<StockHolding>();
         if (_holding == null || substitutions.JRI == null)
             return;
-        Progress.ShowModal("Subsitution Item", progress =>
+        Progress.ShowModal("Substitution Item", progress =>
         {
             substitutions.JRI.Dimensions.CopyFrom(_holding.Dimensions, true);
             if (substitutions.UpdateStyle)
@@ -46,6 +46,8 @@ public partial class ReservationManagementSubstitutionWindow : Window
             _xferout.Notes = "Substituted by Requisition Management Screen";
             _xferout.Transaction = Guid.NewGuid();
             _xferout.Type = StockMovementType.TransferOut;
+            _xferout.Employee.ID = App.EmployeeID;
+            _xferout.Cost = _holding.AverageValue;
         
             var _xferin = _holding.CreateMovement();
             _xferin.JobRequisitionItem.CopyFrom(substitutions.JRI);
@@ -54,6 +56,8 @@ public partial class ReservationManagementSubstitutionWindow : Window
             _xferin.Notes = "Substituted by Requisition Management Screen";
             _xferin.Transaction = _xferout.Transaction;
             _xferin.Type = StockMovementType.TransferIn;
+            _xferin.Employee.ID = App.EmployeeID;
+            _xferin.Cost = _holding.AverageValue;
         
             Client.Save(new[] { _xferout, _xferin}, "Substituted by Requisition Management Screen");
         });

+ 4 - 6
prs.desktop/Panels/Tasks/TaskPanel.xaml.cs

@@ -39,10 +39,9 @@ public class TaskPanelFilterButton : FilterButton<Kanban>
         {
             return new Filter<Kanban>().All();
         }
-        else if (CoreUtils.TryFindMemberExpression(kanbanFilter.Expression, out var mexp))
+        else if (!kanbanFilter.Property.IsNullOrWhiteSpace())
         {
-            var prop = CoreUtils.GetFullPropertyName(mexp, ".");
-            var filter = new Filter<Kanban>(prop)
+            var filter = new Filter<Kanban>(kanbanFilter.Property)
             {
                 Operator = kanbanFilter.Operator,
                 Value = kanbanFilter.Value
@@ -65,10 +64,9 @@ public class TaskPanelFilterButton : FilterButton<Kanban>
         {
             return new Filter<KanbanSubscriber>().All();
         }
-        else if (CoreUtils.TryFindMemberExpression(kanbanFilter.Expression, out var mexp))
+        else if (!kanbanFilter.Property.IsNullOrWhiteSpace())
         {
-            var prop = CoreUtils.GetFullPropertyName(mexp, ".");
-            var filter = new Filter<KanbanSubscriber>(nameof(KanbanSubscriber.Kanban) + "." + prop)
+            var filter = new Filter<KanbanSubscriber>(nameof(KanbanSubscriber.Kanban) + "." + kanbanFilter.Property)
             {
                 Operator = kanbanFilter.Operator,
                 Value = kanbanFilter.Value