| 12345678910111213141516171819202122232425262728293031323334353637383940 | 
							- using Comal.Classes;
 
- using Comal.Stores;
 
- using InABox.Clients;
 
- using InABox.Core;
 
- namespace PRSStores;
 
- public class ForeignCurrencyStore : BaseStore<ForeignCurrency>
 
- {
 
-     protected override void AfterSave(ForeignCurrency entity)
 
-     {
 
-         base.AfterSave(entity);
 
-         var queue = Provider.Query(
 
-             new Filter<SupplierProduct>(x => x.SupplierLink.Currency.ID).IsEqualTo(entity.ID),
 
-             Columns.None<SupplierProduct>()
 
-                 .Add(x => x.ID)
 
-                 .Add(x=>x.SupplierLink.Currency.ID)
 
-                 .Add(x => x.SupplierLink.Currency.ExchangeRate)
 
-                 .Add(x => x.TaxCode.ID)
 
-                 .Add(x => x.ForeignCurrencyPrice)
 
-                 .Add(x => x.TradePrice)
 
-                 .Add(x => x.Discount)
 
-                 .Add(x => x.CostPrice)
 
-         ).ToObjects<SupplierProduct>().ToQueue();
 
-         while (queue.Any())
 
-         {
 
-             var products = queue.Dequeue(100).ToArray();
 
-             foreach (var product in products)
 
-             {
 
-                 var price = product.ForeignCurrencyPrice;
 
-                 if (price.IsEffectivelyEqual(0.0))
 
-                     price = product.TradePrice * product.SupplierLink.Currency.ExchangeRate;
 
-                 product.ForeignCurrencyPrice = 0.0;
 
-                 product.CommitChanges();
 
-                 product.ForeignCurrencyPrice = price;
 
-             }
 
-             Provider.Save(products.Where(x=>x.IsChanged()));
 
-         }
 
-     }
 
- }
 
 
  |