void Save()
 {
     try
     {
         if (bRatesModified && selectedContractVolumeEvt != null)
         {
             foreach (VolumeEvtRate ver in BackUpvolumeEvtRates)
             {
                 if (!VolumeEvtRates.Contains(ver))
                 {
                     VolumeEvtRateTarget.Remove(ver);
                 }
             }
             foreach (VolumeEvtRate ver in VolumeEvtRates)
             {
                 if (!BackUpvolumeEvtRates.Contains(ver))
                 {
                     ver.CONTRACT_VOLUME_EVT_ID = selectedContractVolumeEvt.CONTRACT_VOLUME_EVT_ID;
                     VolumeEvtRateTarget.Add(ver);
                 }
             }
             foreach (VolumeEvtRate ver in VolumeEvtRates)
             {
                 if (ver.Modified)
                 {
                     VolumeEvtRateTarget.Update(ver);
                 }
             }
         }
         foreach (ContractVolumeEvt cve in BackupContractVolumeEvts)
         {
             if (!ContractVolumeEvts.Contains(cve))
             {
                 ContractVolumeEvtTarget.Remove(cve);
             }
         }
         foreach (ContractVolumeEvt cve in ContractVolumeEvts)
         {
             if (!BackupContractVolumeEvts.Contains(cve))
             {
                 cve.CONTRACT_ID = CurrentContract.CONTRACT_ID;
                 ContractVolumeEvtTarget.Add(cve);
             }
         }
         foreach (ContractVolumeEvt cve in ContractVolumeEvts)
         {
             if (cve.Modified)
             {
                 ContractVolumeEvtTarget.Update(cve);
             }
         }
         Restore();
     }
     catch (Exception x)
     {
         ThisView.ShowMsg(x.ToString());
     }
 }
 void SetContractVolumeEvtsDetails()
 {
     ContractVolumeEvts.ForEach((thisList, thisItem) =>
     {
         foreach (VolumeEvtType vt in VolumeEvtTypes)
         {
             if (vt.VOLUME_EVT_TYPE_ID == thisItem.VOLUME_EVT_TYPE_ID)
             {
                 thisItem.volumeEvtType = vt;
                 thisItem.Modified      = false;
                 break;
             }
         }
     }
                                );
 }