public void Dispose()
 {
     if (AltContractRates != null)
     {
         contractRates.ForEach((thislist, eachContract) => RemoveWeakEventListener(eachContract, ContractRateListener));
         AltContractRates.ForEach((thislist, eachAltContract) => RemoveWeakEventListener(eachAltContract, ContractRateListener));
     }
 }
 bool CanNextAltExecute(object param)
 {
     if (AltContractRates != null && AltContractRates.Count > 0 && AltContractRates.IndexOf(SelectedAltContractRate) < AltContractRates.Count - 1)
     {
         return(true);
     }
     return(false);
 }
        void NextAltExecute(object param)
        {
            int  indexOf = AltContractRates.IndexOf(SelectedAltContractRate);
            bool really  = (AltContractRates != null && AltContractRates.Count > 0 && AltContractRates.IndexOf(SelectedAltContractRate) < AltContractRates.Count - 1);

            try
            {
                SelectedAltContractRate = AltContractRates[AltContractRates.IndexOf(SelectedAltContractRate) + 1];
            }
            catch (Exception ex)
            {
            }
        }
        void AddAltExecute(object param)
        {
            ContractRateAlt newAltRate;

            if (SelectedAltContractRate != null)
            {
                newAltRate = SelectedAltContractRate.Clone();
            }
            else
            {
                newAltRate = new ContractRateAlt();
            }
            newAltRate.CONTRACT_RATE_ID = SelectedContractRate.CONTRACT_RATE_ID;
            AltContractRates.Add(newAltRate);
            SelectedAltContractRate          = newAltRate;
            SelectedAltContractRate.Modified = true;
            SelectedAltContractRate.RATE_NBR = 0;
        }
        void DeleteAltExecute(object param)
        {
            if (SelectedAltContractRate != null)
            {
                RemoveWeakEventListener(SelectedAltContractRate, ContractAltRateListener);
                this.ContractRateAltTarget.Remove(SelectedAltContractRate);

                AltContractRates.Remove(SelectedAltContractRate);
                if (AltContractRates.Count >= 1)
                {
                    SelectedAltContractRate = AltContractRates[0];
                }
                else
                {
                    SelectedAltContractRate = null;
                }
            }
        }
        public void ClearOutPendingAdds()
        {
            foreach (ContractRate contractRate in this.ContractRates)
            {
                if (contractRate.CONTRACT_RATE_ID == 0)
                {
                    ContractRates.Remove(contractRate);
                    break;
                }
            }

            foreach (ContractRateAlt contractRateAlt in AltContractRates)
            {
                if (contractRateAlt.RATE_NBR == 0)
                {
                    AltContractRates.Remove(contractRateAlt);
                    break;
                }
            }
        }
 void ResetAltRateOverrideSelection()
 {
     if (SelectedExtWorkType != null)
     {
         AltContractRates = this.ContractRateAltTarget.GetAltRatesFromClients(selectedExtWorkType.EXT_SYS, selectedExtWorkType.EXT_CLIENT_KEY);
         AltContractRates.Insert(0, NoneAltRate);
         if (selectedExtWorkType.RATE_NBR == null)
         {
             SelectedAltContractRate = NoneAltRate;
         }
         else
         {
             SelectedAltContractRate = (AltContractRates.FirstOrDefault(acr => acr.RATE_NBR == selectedExtWorkType.RATE_NBR) as ContractRateAlt);
         }
     }
     else
     {
         AltContractRates = new ObservableCollection <ContractRateAlt>();
         AltContractRates.Insert(0, NoneAltRate);
         SelectedAltContractRate = NoneAltRate;
     }
 }
 void PrevAltExecute(object param)
 {
     SelectedAltContractRate = AltContractRates[AltContractRates.IndexOf(SelectedAltContractRate) - 1];
 }