|
@@ -10,6 +10,19 @@ namespace Comal.Stores;
|
|
|
|
|
|
internal class PurchaseOrderItemStore : BaseStore<PurchaseOrderItem>
|
|
|
{
|
|
|
+ private Columns<PurchaseOrderItem> RequiredColumns()
|
|
|
+ {
|
|
|
+ return new Columns<PurchaseOrderItem>(x => x.ID)
|
|
|
+ .Add(x => x.Product.ID)
|
|
|
+ .Add(x => x.Qty)
|
|
|
+ .Add(x => x.Cost)
|
|
|
+ .Add(x => x.StockLocation.ID)
|
|
|
+ .Add(x => x.Style.ID)
|
|
|
+ .Add(x => x.Job.ID)
|
|
|
+ .Add(x => x.ReceivedDate)
|
|
|
+ .Add(x => x.PurchaseOrderLink.PONumber)
|
|
|
+ .AddDimensionsColumns(x => x.Dimensions, Dimensions.ColumnsType.Data);
|
|
|
+ }
|
|
|
|
|
|
private void UpdateStockMovements(PurchaseOrderItem entity)
|
|
|
{
|
|
@@ -281,8 +294,6 @@ internal class PurchaseOrderItemStore : BaseStore<PurchaseOrderItem>
|
|
|
movement.Job.ID = entity.Job.ID;
|
|
|
movement.Location.ID = locationid;
|
|
|
movement.Style.ID = entity.Style.ID;
|
|
|
- movement.Style.Code = entity.Style.Code;
|
|
|
- movement.Style.Description = entity.Style.Description;
|
|
|
movement.Notes = string.Format("Received on PO {0}", entity.PurchaseOrderLink.PONumber);
|
|
|
movement.Cost = entity.Cost;
|
|
|
movement.Type = StockMovementType.Receive;
|
|
@@ -298,7 +309,7 @@ internal class PurchaseOrderItemStore : BaseStore<PurchaseOrderItem>
|
|
|
movement.JobRequisitionItem.ID = jobRequisitionItemID;
|
|
|
}
|
|
|
|
|
|
- var updates = movements.Where(x => x.IsChanged());
|
|
|
+ var updates = movements.Where(x => x.IsChanged()).ToList();
|
|
|
if (updates.Any())
|
|
|
FindSubStore<StockMovement>().Save(updates, "Updated by Purchase Order Modification");
|
|
|
}
|
|
@@ -326,9 +337,10 @@ internal class PurchaseOrderItemStore : BaseStore<PurchaseOrderItem>
|
|
|
DeleteStockMovements(entity);
|
|
|
else
|
|
|
{
|
|
|
- var item = Provider
|
|
|
- .Query(new Filter<PurchaseOrderItem>(x => x.ID).IsEqualTo(entity.ID))
|
|
|
- .Rows.FirstOrDefault()?.ToObject<PurchaseOrderItem>();
|
|
|
+ var item = Provider.Query(
|
|
|
+ new Filter<PurchaseOrderItem>(x => x.ID).IsEqualTo(entity.ID),
|
|
|
+ RequiredColumns())
|
|
|
+ .ToObjects<PurchaseOrderItem>().FirstOrDefault();
|
|
|
if (item != null)
|
|
|
{
|
|
|
UpdateStockMovements(item);
|