public bool UnpersistMaterialCatalog(string fileName, string bakFileName) { bool ok = true; Stream stream = null; try { if (File.Exists(fileName) || File.Exists(bakFileName)) { if (File.Exists(fileName)) { stream = new FileStream(fileName, FileMode.Open); } else if (File.Exists(bakFileName)) { stream = new FileStream(bakFileName, FileMode.Open); } SoapFormatter serializer = new SoapFormatter(); // BinaryFormatter serializer = new BinaryFormatter(); // serializer.AssemblyFormat = FormatterAssemblyStyle.Simple; ArrayList customMaterials = (ArrayList)serializer.Deserialize(stream); IEnumerator e = customMaterials.GetEnumerator(); while (e.MoveNext()) { DryingMaterial dm = (DryingMaterial)e.Current; dm.SetObjectData(); DryingMaterialCatalog.GetInstance().AddDryingMaterial(dm); } } } catch (Exception e) { ok = false; string message = e.ToString(); MessageBox.Show(message, "Error Retrieving Material Catalog", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); } finally { if (stream != null) { stream.Close(); } } return(ok); }