BillLineStore.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536
  1. using System.Linq;
  2. using Comal.Classes;
  3. using InABox.Core;
  4. namespace Comal.Stores
  5. {
  6. internal class BillLineStore : BaseStore<BillLine>
  7. {
  8. protected override void AfterSave(BillLine entity)
  9. {
  10. base.BeforeSave(entity);
  11. var pitems = Provider.Query(
  12. new Filter<PurchaseOrderItem>(x => x.ID).IsEqualTo(entity.OrderItem.ID),
  13. new Columns<PurchaseOrderItem>(
  14. x => x.ID,
  15. x => x.ExTax,
  16. x => x.TaxCode,
  17. x => x.TaxRate,
  18. x => x.IncTax,
  19. x => x.Balance,
  20. x => x.ReceivedDate
  21. )
  22. ).Rows.Select(x => x.ToObject<PurchaseOrderItem>()).ToArray();
  23. foreach (var pitem in pitems)
  24. {
  25. pitem.ExTax = entity.ExTax;
  26. pitem.TaxCode.ID = entity.TaxCode.ID;
  27. pitem.TaxRate = entity.TaxRate;
  28. pitem.IncTax = entity.IncTax;
  29. pitem.Balance = pitem.ReceivedDate.IsEmpty() ? pitem.IncTax : 0.00F;
  30. }
  31. FindSubStore<PurchaseOrderItem>().Save(pitems.Where(x => x.IsChanged()), "Updated by Bill Modification");
  32. }
  33. }
  34. }