public void Write( XElement node, string?name, IEnumerable <T> item, ErrorMaskBuilder?errorMask, TranslationCrystal?translationMask, XmlSubWriteDelegate <T> transl) { var elem = new XElement(name !); node.Add(elem); int i = 0; var subCrystal = translationMask?.GetSubCrystal(0); foreach (var listObj in item) { using (errorMask?.PushIndex(i++)) { try { WriteSingleItem(elem, transl, listObj, errorMask, subCrystal); } catch (Exception ex) when(errorMask != null) { errorMask.ReportException(ex); } } } }
public void Write( XElement node, string name, IEnumerable <T> item, int fieldIndex, ErrorMaskBuilder?errorMask, TranslationCrystal?translationMask, XmlSubWriteDelegate <T> transl) { using (errorMask?.PushIndex(fieldIndex)) { try { Write( node: node, name: name, item: item, errorMask: errorMask, translationMask: translationMask, transl: transl); } catch (Exception ex) when(errorMask != null) { errorMask.ReportException(ex); } } }
public void Write <Mask>( XElement node, string name, IEnumerable <KeyValuePair <K, V> > items, int fieldIndex, ErrorMaskBuilder?errorMask, TranslationCrystal translationMask, XmlSubWriteDelegate <K> keyTransl, XmlSubWriteDelegate <V> valTransl) where Mask : IErrorMask { using (errorMask?.PushIndex(fieldIndex)) { try { Write( node: node, name: name, items: items, errorMask: errorMask, translationMask: translationMask, keyTransl: keyTransl, valTransl: valTransl); } catch (Exception ex) when(errorMask != null) { errorMask.ReportException(ex); } } }
public void WriteSingleItem( XElement node, KeyValuePair <K, V> item, ErrorMaskBuilder?errorMask, TranslationCrystal?translationMaskKey, TranslationCrystal?translationMaskVal, XmlSubWriteDelegate <K> keyTransl, XmlSubWriteDelegate <V> valTransl) { var itemElem = new XElement("Item"); node.Add(itemElem); var keyElem = new XElement("Key"); itemElem.Add(keyElem); keyTransl( keyElem, item.Key, errorMask: errorMask, translationMask: translationMaskKey); var valElem = new XElement("Value"); itemElem.Add(valElem); valTransl( valElem, item.Value, errorMask: errorMask, translationMask: translationMaskVal); }
public override void WriteSingleItem( XElement node, XmlSubWriteDelegate <T> transl, T item, ErrorMaskBuilder?errorMask, TranslationCrystal?translMask) { transl( node, item, errorMask, translMask); }
public void Write( XElement node, string?name, IEnumerable <KeyValuePair <K, V> > items, ErrorMaskBuilder?errorMask, TranslationCrystal?translationMask, XmlSubWriteDelegate <K> keyTransl, XmlSubWriteDelegate <V> valTransl, int?fieldIndex = null) { var elem = new XElement(name !); node.Add(elem); int i = 0; var keyTranslMask = translationMask?.GetSubCrystal(0); var valTranslMask = translationMask?.GetSubCrystal(1); foreach (var item in items) { using (errorMask?.PushIndex(i++)) { try { WriteSingleItem( node: elem, item: item, errorMask: errorMask, translationMaskKey: keyTranslMask, translationMaskVal: valTranslMask, keyTransl: keyTransl, valTransl: valTransl); } catch (Exception ex) when(errorMask != null) { errorMask.ReportException(ex); } } } }
public abstract void WriteSingleItem( XElement node, XmlSubWriteDelegate <T> transl, T item, ErrorMaskBuilder?errorMask, TranslationCrystal?translationMask);