private void ControlsToData()
        {
            if (lvList.Items.Count > 0)
            {
                if (_legalDocuments == null)
                    _legalDocuments = new HardwareItemDescriptionLegalDocuments();

                var documents = new Document[lvList.Items.Count];
                var types =
                    new HardwareItemDescriptionLegalDocumentsItemsChoiceType[lvList.Items.Count];
                int idx = 0;
                foreach (ListViewItem lvi in lvList.Items)
                {
                    var document = (Document) lvi.Tag;
                    if (document != null)
                    {
                        documents[idx] = document;
                        types[idx++] = document.LegalDocumentType;
                    }
                }

                if (documents.Length == 0)
                    documents = null;
                if (types.Length == 0)
                    types = null;
                _legalDocuments.Items = documents;
                _legalDocuments.ItemsElementName = types;
            }
            else
            {
                _legalDocuments = null;
            }
        }
 public static bool LoadFromFile(string fileName, out HardwareItemDescriptionLegalDocuments obj)
 {
     Exception exception;
     return LoadFromFile(fileName, out obj, out exception);
 }
 public static bool Deserialize(string input, out HardwareItemDescriptionLegalDocuments obj)
 {
     Exception exception;
     return Deserialize(input, out obj, out exception);
 }
 /// <summary>
 /// Deserializes xml markup from file into an HardwareItemDescriptionLegalDocuments object
 /// </summary>
 /// <param name="fileName">string xml file to load and deserialize</param>
 /// <param name="obj">Output HardwareItemDescriptionLegalDocuments object</param>
 /// <param name="exception">output Exception value if deserialize failed</param>
 /// <returns>true if this Serializer can deserialize the object; otherwise, false</returns>
 public static bool LoadFromFile(string fileName, out HardwareItemDescriptionLegalDocuments obj, out Exception exception)
 {
     exception = null;
     obj = default(HardwareItemDescriptionLegalDocuments);
     try
     {
         obj = LoadFromFile(fileName);
         return true;
     }
     catch (Exception ex)
     {
         exception = ex;
         return false;
     }
 }
 /// <summary>
 /// Deserializes workflow markup into an HardwareItemDescriptionLegalDocuments object
 /// </summary>
 /// <param name="input">string workflow markup to deserialize</param>
 /// <param name="obj">Output HardwareItemDescriptionLegalDocuments object</param>
 /// <param name="exception">output Exception value if deserialize failed</param>
 /// <returns>true if this Serializer can deserialize the object; otherwise, false</returns>
 public static bool Deserialize(string input, out HardwareItemDescriptionLegalDocuments obj, out Exception exception)
 {
     exception = null;
     obj = default(HardwareItemDescriptionLegalDocuments);
     try
     {
         obj = Deserialize(input);
         return true;
     }
     catch (Exception ex)
     {
         exception = ex;
         return false;
     }
 }