/// <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.Eperience = record.Experience; serializeRecord.Balance = record.Balance; serializeRecord.EnglishLevel = record.EnglishLevel; collection.Add(serializeRecord); } var serializableRecords = new SerializableRecordsArray(); 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, SerializableRecordsArray records) { this.writer = writer; this.records = records; this.serializer = new XmlSerializer(typeof(SerializableRecordsArray)); }