Quintiq file version 2.0
#parent: #root
Method GetIsUniqueCost () derived id:Method_DialogCreateEditStockingPointCost_GetIsUniqueCost
{
  #keys: '[113694.2.555296993]'
  BaseType => //DialogCreateEditAccountCost/Method_DialogCreateEditAccountCost_GetIsUniqueCost
  Body:
  [*
    // Check if the cost is unique
    data := Dialog.Data();
    /* This dialog can be open up from different place, but there is only one place we want to check the
       shadow unique cost, which is open from DialogCreateEditStockingPoint */
    shadowowner := guard( Dialog.Parent().astype( DialogCreateEditStockingPoint ).Data(),
                          null( shadow[StockingPoint_MP] ) );
    
    isvalid := not exists( shadowowner, StockingPointCost , spcost,
                           spcost <> data,
                           spcost.AccountName() = SelectionAccount.BoundValue()
                           and spcost.CostDriver() = StringSelectionCostDriver.BoundValue()
                           and spcost.Start() = GUIDateTimeSelectorStart.DateTime().Date() );
    
    return isvalid;
  *]
}
