using MarketData.Utils; using System; using System.Collections.Generic; namespace MarketData.Generator.MGSHMomentum { public class MGSHPricingExceptions:List { public NVPCollections ToNVPCollections() { NVPCollections nvpCollections=new NVPCollections(); foreach(MGSHPricingException pricingException in this) { nvpCollections.Add(pricingException.ToNVPCollection()); } return nvpCollections; } public static MGSHPricingExceptions FromNVPCollections(NVPCollections nvpCollections) { MGSHPricingExceptions pricingExcpetions=new MGSHPricingExceptions(); foreach(NVPCollection nvpCollection in nvpCollections) { pricingExcpetions.Add(MGSHPricingException.FromNVPCollection(nvpCollection)); } return pricingExcpetions; } public void AddFromNVPCollection(NVPCollection nvpCollection) { Add(MGSHPricingException.FromNVPCollection(nvpCollection)); } } public class MGSHPricingException { public MGSHPricingException() { } public MGSHPricingException(MGSHPricingException pricingException) { this.Symbol=pricingException.Symbol; this.ExceptionCount=pricingException.ExceptionCount; } public MGSHPricingException(String symbol,int exceptionCount) { this.Symbol=symbol; this.ExceptionCount=exceptionCount; } public String Symbol { get; set; } public int ExceptionCount { get; set; } public virtual NVPCollection ToNVPCollection() { NVPCollection nvpCollection=new NVPCollection(); nvpCollection.Add(new NVP("Symbol",Symbol.ToString())); nvpCollection.Add(new NVP("ExceptionCount",ExceptionCount.ToString())); return nvpCollection; } public static MGSHPricingException FromNVPCollection(NVPCollection nvpCollection) { MGSHPricingException pricingException=new MGSHPricingException(); NVPDictionary nvpDictionary=nvpCollection.ToDictionary(); pricingException.Symbol=nvpDictionary["Symbol"].Get(); pricingException.ExceptionCount=nvpDictionary["ExceptionCount"].Get(); return pricingException; } } }