void AddExecute(object param)
        {
            ExtWorkType extWorkType;

            if (selectedExtWorkType != null)
            {
                extWorkType = selectedExtWorkType.Clone();
            }
            else
            {
                extWorkType = new ExtWorkType();
            }
            extWorkType.EXT_CLIENT_KEY = currentClientDef.ExtClientKey;
            extWorkType.EXT_SYS        = currentClientDef.ExtSys;
            extWorkType.EXT_WORK_TYPE  = string.Empty;
            if (ExtWorkTypes == null)
            {
                ExtWorkTypes = new ObservableCollection <ExtWorkType>();
            }

            ExtWorkTypes.Add(extWorkType);
            clientDefListViewModel.EnablePicker = false;
            SelectedExtWorkType          = extWorkType;
            SelectedExtWorkType.Modified = true;
        }
        void RestoreExecute(object param)
        {
            bool wasAdding = false;

            foreach (ExtWorkType extWorkType in ExtWorkTypes)
            {
                if (extWorkType.IsAdding)
                {
                    ExtWorkTypes.Remove(extWorkType);
                    if (copySelectedExtWorkType != null)
                    {
                        SelectedExtWorkType = copySelectedExtWorkType;
                    }
                    else
                    {
                        SelectedExtWorkType = null;
                    }
                    wasAdding = true;
                }
            }
            if (!wasAdding)
            {
                int i = ExtWorkTypes.IndexOf(SelectedExtWorkType);
                ExtWorkTypes.Remove(SelectedExtWorkType);
                ExtWorkTypes.Insert(i, copySelectedExtWorkType);
                SelectedExtWorkType = copySelectedExtWorkType;
            }
            SetClientDefWorkType();
        }
        void SetClientDefWorkType()
        {
            if (currentClientDef == null)
            {
                AltContractRates = new ObservableCollection <ContractRateAlt>();
                AltContractRates.Insert(0, NoneAltRate);
                return;
            }

            ExtWorkTypes = ExtWorkTypeTarget.GetWorkTypes(currentClientDef.ExtSys, currentClientDef.ExtClientKey);
            ExtWorkTypes.ForEach((thisList, eachExtWorkType) => eachExtWorkType.Modified = false);
            ResetAltRateOverrideSelection();
#if ASDF
            foreach (OverRideKeySource overRideKeySource in OverRideKeySources)
            {
                if (currentClientDef.OverrideKeySource == overRideKeySource.OVERRIDE_KEY_SOURCE)
                {
                    SelectedOverRideKeySource = overRideKeySource;
                }
            }

            foreach (ExtWorkType extWorkType in ExtWorkTypes)
            {
                //if (currentClientDef.ExtWorkTypeSourceDescr == extWorkTypeSource.DESCR)
                //{
                //    SelectedExtWorkTypeSource = extWorkTypeSource;
                //}
            }
            currentClientDef.Modified = false;
#endif
        }