public void Delete(DeleteMetadataObjectMessage message)
        {
            VmInstrument instrument;

            switch (message.MetadataType)
            {
            case MetadataType.QuotationSource:
                this.RemoveQuotationSource(message.ObjectId);
                break;

            case MetadataType.Instrument:
                instrument = this._Instruments.SingleOrDefault(i => i.Id == message.ObjectId);
                if (instrument != null)
                {
                    if (instrument.SourceRelations != null)
                    {
                        instrument.SourceRelations.Clear();
                    }
                    instrument.VmDerivativeRelation  = null;
                    instrument.VmPriceRangeCheckRule = null;
                    instrument.VmWeightedPriceRule   = null;
                    this._Instruments.Remove(instrument);
                }
                break;

            case MetadataType.InstrumentSourceRelation:
                VmInstrumentSourceRelation relation;
                if (this.FindVmInstrumentSourceRelation(message.ObjectId, out relation, out instrument))
                {
                    instrument.SourceRelations.Remove(relation);
                }
                break;

            case MetadataType.DerivativeRelation:
                // TODO: Check if this will happen.
                break;

            case MetadataType.PriceRangeCheckRule:
                // TODO: Check if this will happen.
                break;

            case MetadataType.WeightedPriceRule:
                // TODO: Check if this will happen.
                break;

            default:
                break;
            }
        }
 internal void Process(DeleteMetadataObjectMessage message)
 {
     VmQuotationManager.Instance.Delete(message);
 }
 public void Delete(DeleteMetadataObjectMessage message)
 {
     VmInstrument instrument;
     switch (message.MetadataType)
     {
         case MetadataType.QuotationSource:
             this.RemoveQuotationSource(message.ObjectId);
             break;
         case MetadataType.Instrument:
             instrument = this._Instruments.SingleOrDefault(i => i.Id == message.ObjectId);
             if (instrument != null)
             {
                 if (instrument.SourceRelations != null)
                 {
                     instrument.SourceRelations.Clear();
                 }
                 instrument.VmDerivativeRelation = null;
                 instrument.VmPriceRangeCheckRule = null;
                 instrument.VmWeightedPriceRule = null;
                 this._Instruments.Remove(instrument);
             }
             break;
         case MetadataType.InstrumentSourceRelation:
             VmInstrumentSourceRelation relation;
             if(this.FindVmInstrumentSourceRelation(message.ObjectId, out relation, out instrument))
             {
                 instrument.SourceRelations.Remove(relation);
             }
             break;
         case MetadataType.DerivativeRelation:
             // TODO: Check if this will happen.
             break;
         case MetadataType.PriceRangeCheckRule:
             // TODO: Check if this will happen.
             break;
         case MetadataType.WeightedPriceRule:
             // TODO: Check if this will happen.
             break;
         default:
             break;
     }
 }
Пример #4
0
 private void Process(DeleteMetadataObjectMessage message)
 {
     this._QuotationMessageProcessor.Process(message);
 }