Explorar el Código

PRS DESKTOP - moving files to appropriate location

Nick-PRSDigital@bitbucket.org hace 2 años
padre
commit
067085a1f3

+ 0 - 0
prs.desktop/Panels/Products/Job Requisitions/JobRequisitionHoldingsReview.xaml → prs.desktop/Panels/Products/Reservation Management/JobRequisitionHoldingsReview.xaml


+ 4 - 0
prs.desktop/Panels/Products/Job Requisitions/JobRequisitionHoldingsReview.xaml.cs → prs.desktop/Panels/Products/Reservation Management/JobRequisitionHoldingsReview.xaml.cs

@@ -292,7 +292,11 @@ namespace PRSDesktop
                 model.AlreadyRequisitioned);
 
             if (page.ShowDialog() == true)
+            {
+                MessageBox.Show("Success - stock requisitioned for line");
                 OnHoldingsReviewRefresh?.Invoke();
+            }
+                
         }
     }
 

+ 0 - 0
prs.desktop/JobRequisitionPurchasing.xaml → prs.desktop/Panels/Products/Reservation Management/JobRequisitionPurchasing.xaml


+ 0 - 0
prs.desktop/JobRequisitionPurchasing.xaml.cs → prs.desktop/Panels/Products/Reservation Management/JobRequisitionPurchasing.xaml.cs


+ 6 - 3
prs.desktop/Panels/Products/Job Requisitions/JobRequisitionReviewGrid.cs → prs.desktop/Panels/Products/Reservation Management/JobRequisitionReviewGrid.cs

@@ -43,7 +43,7 @@ namespace PRSDesktop
                 SelectedFilter = new(FilterSettings.Filter.Name, Serialization.Deserialize<Filter<JobRequisitionItem>>(FilterSettings.Filter.Filter));
                 UpdateFilterButton(InABox.Wpf.Resources.filter_set, FilterSettings.Filter.Name);
             }
-                
+
 
             Options.AddRange(
                 DynamicGridOption.FilterRows,
@@ -116,9 +116,12 @@ namespace PRSDesktop
             //Migrate();
         }
 
+        
+
+
         private bool GridOnFilterSelected(DynamicGridFilter filter)
         {
-            new UserConfiguration<JobRequisitionReviewUserSettings>().Save(new JobRequisitionReviewUserSettings { Filter = filter });         
+            new UserConfiguration<JobRequisitionReviewUserSettings>().Save(new JobRequisitionReviewUserSettings { Filter = filter });
             OnGridRefresh?.Invoke();
             return true;
         }
@@ -255,7 +258,7 @@ namespace PRSDesktop
         private void JobRequisitionReviewGrid_OnSelectItem(object sender, DynamicGridSelectionEventArgs e)
         {
             OnJobRequiItemSelected?.Invoke(SelectedRows);
-        }        
+        }
 
         private bool CreateTreatmentPO(Button button, CoreRow[] rows)
         {

+ 0 - 0
prs.desktop/JobRequisitionStockSelectionPage.xaml → prs.desktop/Panels/Products/Reservation Management/JobRequisitionStockSelectionPage.xaml


+ 40 - 0
prs.desktop/JobRequisitionStockSelectionPage.xaml.cs → prs.desktop/Panels/Products/Reservation Management/JobRequisitionStockSelectionPage.xaml.cs

@@ -62,8 +62,17 @@ namespace PRSDesktop
         {
             var models = ViewModels.Where(x => x.ChosenUnits > 0);
 
+            double total = 0;
             foreach (var model in models)
+            {
                 CreateStockMovements(model);
+                total = total + model.ChosenUnits;
+            }
+
+            if (Item.Qty > total)
+            {
+                SplitLine(Item, total, Item.Qty - total);
+            }
 
             DialogResult = true;
         }
@@ -151,6 +160,37 @@ namespace PRSDesktop
             if (model.ChosenUnits < holdingUnits)
                 model.ChosenUnits++;
         }
+
+        private void SplitLine(JobRequisitionItem item, double oldItemQty, double newItemQty)
+        {
+            List<JobRequisitionItem> items = new List<JobRequisitionItem>();
+            JobRequisitionItem newItem = new JobRequisitionItem();
+            newItem.Requisition.ID = item.Requisition.ID;
+            newItem.Status = JobRequisitionItemStatus.NotChecked;
+            newItem.Requisition.Job.ID = item.Requisition.Job.ID;
+            newItem.Requisition.Job.JobNumber = item.Requisition.Job.JobNumber;
+            newItem.Requisition.Job.Name = item.Requisition.Job.Name;
+            newItem.Job.ID = item.Job.ID;
+            newItem.Product.ID = item.Product.ID;
+            newItem.Product.Name = item.Product.Name;
+            newItem.Product.Code = item.Product.Code;
+            newItem.Product.Group.ID = item.Product.Group.ID;
+            newItem.Product.Group.Description = item.Product.Group.Description;
+            newItem.Dimensions.CopyFrom(item.Dimensions);
+            newItem.Style.ID = item.Style.ID;
+            newItem.Style.Description = item.Style.Description;
+            newItem.Style.Code = item.Style.Code;
+            newItem.Notes = item.Notes + Environment.NewLine + "Line split from original line when reserving";
+            item.Notes = newItem.Notes;
+
+            item.Qty = oldItemQty;
+            newItem.Qty = newItemQty;
+
+            items.Add(newItem);
+            items.Add(item);
+            new Client<JobRequisitionItem>().Save(items, "Split lines from Job Requi Item Review Dashboard");
+            MessageBox.Show("Requisition Line split due to " + oldItemQty + " stock selected of " + (oldItemQty + newItemQty) + " required.");           
+        }
     }
 
     public class JobRequistionStockSelectionViewModel : INotifyPropertyChanged

+ 0 - 0
prs.desktop/Panels/Products/Job Requisitions/JobRequisitionsPanel.xaml → prs.desktop/Panels/Products/Reservation Management/JobRequisitionsPanel.xaml


+ 0 - 0
prs.desktop/Panels/Products/Job Requisitions/JobRequisitionsPanel.xaml.cs → prs.desktop/Panels/Products/Reservation Management/JobRequisitionsPanel.xaml.cs