1234567891011121314151617181920212223242526272829303132 |
- using System.Linq;
- using Comal.Classes;
- using InABox.Core;
- namespace Comal.Stores
- {
- public class StockWarehouseStore : BaseStore<StockWarehouse>
- {
- protected override void BeforeSave(StockWarehouse entity)
- {
- base.BeforeSave(entity);
- // Try to make sure there is one and one only default warehouse
- var otherdefaults = Provider.Query(
- new Filter<StockWarehouse>(x => x.ID).IsNotEqualTo(entity.ID).And(x => x.Default).IsEqualTo(true),
- new Columns<StockWarehouse>(x => x.ID, x => x.Default)
- ).Rows.Select(x => x.ToObject<StockWarehouse>()).ToArray();
- if (!entity.Default)
- if (!otherdefaults.Any())
- entity.Default = true;
- if (entity.Default)
- {
- entity.Active = true;
- foreach (var otherdefault in otherdefaults)
- otherdefault.Default = false;
- Provider.Save(otherdefaults);
- }
- }
- }
- }
|