/// <summary> /// Loads from element. /// </summary> /// <param name="element">The element.</param> /// <param name="optional">The optional.</param> private void LoadFromElement(XElement element, MappingDictionary optional) { foreach (var mapping in element.Elements(mappingName)) { Required[mapping.Attribute(keyName).Value] = mapping.Attribute(valueName).Value; } }
/// <summary> /// Creates the mapping element. /// </summary> /// <param name="name">The name.</param> /// <param name="items">The items.</param> /// <returns></returns> public XElement CreateMappingElement(string name, MappingDictionary items) { return(new XElement(name, items.Select(kvp => new XElement(mappingName, new XAttribute(keyName, kvp.Key), new XAttribute(valueName, kvp.Value))))); }
/// <summary> /// Gets the mappings. /// </summary> /// <param name="key">The key.</param> /// <returns></returns> private MappingDictionary GetMappings(string key) { var result = this[key] as MappingDictionary; if (result == null) { lock (_mappingsLock) { //result = this[key] as MappingDictionary; this[key] = result = new MappingDictionary(); } } return(result); }
/// <summary> /// Initializes a new instance of the <see cref="DatasetSummaryHelper"/> class. /// </summary> /// <param name="context">The context.</param> /// <param name="progress">The progress.</param> /// <param name="required">The required.</param> /// <param name="optional">The optional.</param> public DatasetSummaryHelper( DatasetContext context, ProgressState progress, MappingDictionary required, MappingDictionary optional) { Progress = progress ?? new ProgressState(0, 1); MappingsHelper = new MappingsHelper(required, optional); var attrs = new List <XAttribute>(); if (!string.IsNullOrEmpty(context.Year)) { attrs.Add(new XAttribute("Year", context.Year ?? string.Empty)); } if (context.Quarter.HasValue) { attrs.Add(new XAttribute("Quarter", context.Quarter.GetValueOrDefault())); } ReportingPeriod = new XElement("ReportingPeriod", attrs.ToArray()); }
/// <summary> /// Initializes a new instance of the <see cref="MappingsHelper"/> class. /// </summary> /// <param name="required">The required.</param> /// <param name="optional">The optional.</param> public MappingsHelper(MappingDictionary required, MappingDictionary optional) { Required = required ?? new MappingDictionary(); Optional = optional ?? new MappingDictionary(); }