|
@@ -18,23 +18,32 @@ namespace PRSDesktop
|
|
|
/// <summary>
|
|
|
/// Interaction logic for JobRequisitionStockSelectionPage.xaml
|
|
|
/// </summary>
|
|
|
- public partial class JobRequisitionStockSelectionPage : ThemableWindow
|
|
|
+ public partial class StockSelectionPage : ThemableWindow
|
|
|
{
|
|
|
- ObservableCollection<JobRequistionStockSelectionViewModel> ViewModels = new ObservableCollection<JobRequistionStockSelectionViewModel>();
|
|
|
+ ObservableCollection<StockSelectionViewModel> ViewModels = new ObservableCollection<StockSelectionViewModel>();
|
|
|
JobRequisitionItem Item = new JobRequisitionItem();
|
|
|
public Guid EmpID { get; set; }
|
|
|
public Guid IssuingJobID { get; set; }
|
|
|
public bool Allocated = false;
|
|
|
- public JobRequisitionStockSelectionPage(IEnumerable<StockHolding> holdings, JobRequisitionItem item, Job issuingJob, bool requisitioned = false)
|
|
|
+ PageMode _mode;
|
|
|
+
|
|
|
+ enum PageMode
|
|
|
+ {
|
|
|
+ Reservation,
|
|
|
+ Picking
|
|
|
+ }
|
|
|
+ public StockSelectionPage(IEnumerable<StockHolding> holdings, JobRequisitionItem item, Job issuingJob, bool requisitioned = false)
|
|
|
{
|
|
|
InitializeComponent();
|
|
|
|
|
|
+ _mode = PageMode.Reservation;
|
|
|
+
|
|
|
Item = item;
|
|
|
IssuingJobID = issuingJob.ID;
|
|
|
jobLbl.Text = "Taking stock from Job: " + issuingJob.Name + " (" + issuingJob.JobNumber + ")";
|
|
|
foreach (var holding in holdings)
|
|
|
{
|
|
|
- ViewModels.Add(new JobRequistionStockSelectionViewModel
|
|
|
+ ViewModels.Add(new StockSelectionViewModel
|
|
|
{
|
|
|
Location = holding.Location.Description,
|
|
|
Area = holding.Location.Area.Description,
|
|
@@ -77,7 +86,7 @@ namespace PRSDesktop
|
|
|
DialogResult = true;
|
|
|
}
|
|
|
|
|
|
- private void CreateStockMovements(JobRequistionStockSelectionViewModel model)
|
|
|
+ private void CreateStockMovements(StockSelectionViewModel model)
|
|
|
{
|
|
|
StockMovementBatch batch = new StockMovementBatch();
|
|
|
batch.TimeStamp = DateTime.Now;
|
|
@@ -97,7 +106,7 @@ namespace PRSDesktop
|
|
|
new Client<StockMovement>().Save(new StockMovement[] { issuing, receiving }, "Created from Reservation Management Screen");
|
|
|
}
|
|
|
|
|
|
- private StockMovement CreateBaseMovement(JobRequistionStockSelectionViewModel model, Guid batchid)
|
|
|
+ private StockMovement CreateBaseMovement(StockSelectionViewModel model, Guid batchid)
|
|
|
{
|
|
|
StockMovement mvt = new StockMovement();
|
|
|
mvt.Style.ID = model.Holding.Style.ID;
|
|
@@ -128,12 +137,12 @@ namespace PRSDesktop
|
|
|
|
|
|
else
|
|
|
{
|
|
|
- var holdingUnits = (box.DataContext as JobRequistionStockSelectionViewModel).Holding.Units;
|
|
|
+ var holdingUnits = (box.DataContext as StockSelectionViewModel).Holding.Units;
|
|
|
|
|
|
if (holdingUnits >= value && value >= 0)
|
|
|
- (box.DataContext as JobRequistionStockSelectionViewModel).ChosenUnits = value;
|
|
|
+ (box.DataContext as StockSelectionViewModel).ChosenUnits = value;
|
|
|
else
|
|
|
- (box.DataContext as JobRequistionStockSelectionViewModel).ChosenUnits = holdingUnits;
|
|
|
+ (box.DataContext as StockSelectionViewModel).ChosenUnits = holdingUnits;
|
|
|
|
|
|
}
|
|
|
|
|
@@ -142,13 +151,13 @@ namespace PRSDesktop
|
|
|
|
|
|
private void All_Clicked(object sender, RoutedEventArgs e)
|
|
|
{
|
|
|
- var holdingUnits = ((sender as Button).DataContext as JobRequistionStockSelectionViewModel).Holding.Units;
|
|
|
- ((sender as Button).DataContext as JobRequistionStockSelectionViewModel).ChosenUnits = holdingUnits;
|
|
|
+ var holdingUnits = ((sender as Button).DataContext as StockSelectionViewModel).Holding.Units;
|
|
|
+ ((sender as Button).DataContext as StockSelectionViewModel).ChosenUnits = holdingUnits;
|
|
|
}
|
|
|
|
|
|
private void Minus_Click(object sender, RoutedEventArgs e)
|
|
|
{
|
|
|
- var model = (sender as Button).DataContext as JobRequistionStockSelectionViewModel;
|
|
|
+ var model = (sender as Button).DataContext as StockSelectionViewModel;
|
|
|
|
|
|
if (model.ChosenUnits > 0)
|
|
|
model.ChosenUnits--;
|
|
@@ -156,8 +165,8 @@ namespace PRSDesktop
|
|
|
|
|
|
private void Plus_Click(object sender, RoutedEventArgs e)
|
|
|
{
|
|
|
- var holdingUnits = ((sender as Button).DataContext as JobRequistionStockSelectionViewModel).Holding.Units;
|
|
|
- var model = (sender as Button).DataContext as JobRequistionStockSelectionViewModel;
|
|
|
+ var holdingUnits = ((sender as Button).DataContext as StockSelectionViewModel).Holding.Units;
|
|
|
+ var model = (sender as Button).DataContext as StockSelectionViewModel;
|
|
|
if (model.ChosenUnits < holdingUnits)
|
|
|
model.ChosenUnits++;
|
|
|
}
|
|
@@ -194,7 +203,7 @@ namespace PRSDesktop
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- public class JobRequistionStockSelectionViewModel : INotifyPropertyChanged
|
|
|
+ public class StockSelectionViewModel : INotifyPropertyChanged
|
|
|
{
|
|
|
public event PropertyChangedEventHandler? PropertyChanged;
|
|
|
public string Location { get; set; }
|
|
@@ -214,7 +223,7 @@ namespace PRSDesktop
|
|
|
}
|
|
|
public StockHolding Holding { get; set; }
|
|
|
|
|
|
- public JobRequistionStockSelectionViewModel()
|
|
|
+ public StockSelectionViewModel()
|
|
|
{
|
|
|
Location = "";
|
|
|
Area = "";
|