#define TRACE using System; using System.CodeDom.Compiler; using System.Diagnostics; using System.IO; using System.Xml.Serialization; using ArchestrAServices.Common; using ArchestrAServices.Contract; namespace ArchestrAServices.ASBContract; [Serializable] [GeneratedCode("System.Xml", "4.0.30319.18054")] [DebuggerStepThrough] [XmlType(Namespace = "http://asb.contracts.idata.data/20111111")] public struct ItemStatus : IASBCustomSerializableType { private ItemIdentity itemField; private ushort errorCodeField; private bool errorCodeFieldSpecified; public ItemIdentity Item { get { return itemField; } set { itemField = value; } } public ushort ErrorCode { get { return errorCodeField; } set { errorCodeField = value; ErrorCodeSpecified = true; } } [XmlIgnore] public bool ErrorCodeSpecified { get { return errorCodeFieldSpecified; } set { errorCodeFieldSpecified = value; } } public void WriteToStream(BinaryWriter writer) { if (writer != null) { try { itemField.WriteToStream(writer); writer.Write(errorCodeField); writer.Write(errorCodeFieldSpecified); } catch (Exception ex) { SvcTrace.DiagDiagnostics.TraceEvent(TraceEventType.Error, 0, $" ItemStatus: WriteTo. Exception raised {ex.Message} \n Stack Trace: {ex.StackTrace}"); } } } public void InitializeFromStream(BinaryReader reader) { if (MemoryStreamHelper.ValidateStream(reader)) { try { itemField.InitializeFromStream(reader); errorCodeField = reader.ReadUInt16(); errorCodeFieldSpecified = reader.ReadBoolean(); } catch (Exception ex) { SvcTrace.DiagDiagnostics.TraceEvent(TraceEventType.Error, 0, $" ItemStatus: InitializeFrom. Exception raised {ex.Message} \n Stack Trace: {ex.StackTrace}"); } } } public object InitializeArrayFromStream(BinaryReader reader, int arrayCnt) { object result = null; if (MemoryStreamHelper.ValidateStream(reader, arrayCnt)) { try { ItemStatus[] array = new ItemStatus[arrayCnt]; for (int i = 0; i < arrayCnt; i++) { InitializeFrom(reader, ref array[i]); } result = array; } catch (Exception ex) { SvcTrace.DiagDiagnostics.TraceEvent(TraceEventType.Error, 0, $" ItemStatus: InitializeFromArray. Exception raised {ex.Message} \n Stack Trace: {ex.StackTrace}"); } } return result; } public void WriteArrayToStream(object graph, ref BinaryWriter bw) { if (graph == null || bw == null) { return; } try { if (graph is ItemStatus[] array) { bw.Write(array.Length); ItemStatus[] array2 = array; foreach (ItemStatus itemStatus in array2) { itemStatus.WriteToStream(bw); } } } catch (Exception ex) { SvcTrace.DiagDiagnostics.TraceEvent(TraceEventType.Error, 0, $" ItemStatus: WriteArrayTo. Exception raised {ex.Message} \n Stack Trace: {ex.StackTrace}"); } } private static void InitializeFrom(BinaryReader reader, ref ItemStatus result) { if (MemoryStreamHelper.ValidateStream(reader)) { result.itemField.InitializeFromStream(reader); result.errorCodeField = reader.ReadUInt16(); result.errorCodeFieldSpecified = reader.ReadBoolean(); } } }