/// <summary> /// Save records array to xml file. /// </summary> /// <param name="writer">The xml writer.</param> public void SaveToXML(StreamWriter writer) { if (writer is null) { throw new ArgumentNullException($"{nameof(writer)} cannot be null."); } var collection = new List <SerializableRecord>(); foreach (var record in this.records) { var serializeRecord = new SerializableRecord(); serializeRecord.Id = record.Id; serializeRecord.FirstName = record.FirstName; serializeRecord.LastName = record.LastName; serializeRecord.dateOfBirth = record.DateOfBirth; serializeRecord.Experience = record.Experience; serializeRecord.Account = record.Account; serializeRecord.Gender = record.Gender; collection.Add(serializeRecord); } var serializableRecords = new SerializableCollection(); serializableRecords.SerializeRecords = collection.ToArray(); var xmlWriter = new FileCabinetRecordXmlWriter(XmlWriter.Create(writer), serializableRecords); xmlWriter.Write(); }
/// <summary> /// Initializes a new instance of the <see cref="FileCabinetRecordXmlWriter"/> class. /// </summary> /// <param name="writer">The xml writer.</param> /// <param name="records">The serializable records.</param> public FileCabinetRecordXmlWriter(XmlWriter writer, SerializableCollection records) { if (writer is null) { throw new ArgumentNullException($"{nameof(writer)} cannot be null."); } if (records is null) { throw new ArgumentNullException($"{nameof(records)} cannot be null."); } this.writer = writer; this.serializer = new XmlSerializer(typeof(SerializableCollection)); this.records = records; }