public static bool AddPart(this RadanProject radanProject, RadanPart radanPart) { try { radanPart.ID = radanProject.Parts.NextID; radanProject.Parts.Add(radanPart); radanProject.Parts.NextID++; return(true); } catch (Exception ex) { return(false); } }
public static RadanProject LoadData(this RadanProject radanProject, string fileName) { try { System.IO.Stream stream = System.IO.File.Open(fileName, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); stream.Flush(); using (StreamReader reader = new StreamReader(stream)) { XmlSerializer prjSerializer = new XmlSerializer(typeof(RadanProject)); radanProject = (RadanProject)prjSerializer.Deserialize(reader); } return(radanProject); } catch (Exception ex) { return(null); } }
public static bool SaveData(this RadanProject radanProject, string fileName) { try { string path = fileName; System.IO.Stream stream = null; stream = System.IO.File.Open(path, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite); using (StreamWriter Writer = new StreamWriter(stream)) { XmlSerializer prjSerializer = new XmlSerializer(typeof(RadanProject)); stream = System.IO.File.Open(path, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); prjSerializer.Serialize(stream, radanProject); stream.Close(); Writer.Close(); } return(true); } catch (Exception ex) { return(false); } }
private void btnAddToProject_Click(object sender, EventArgs e) { radInterface.SaveProject(); System.IO.Stream stream = null; PartToImport part = new PartToImport(); RadanProject rPrj = new RadanProject(); string path = Properties.Settings.Default["radanProject"].ToString(); int numOfPartsImported = 0; for (int i = 0; i < PartsToImport.Count; i++) { part = PartsToImport[i]; if (part.qty != 0) { string partName = symFolder + part.name + ".sym"; double partThickness = double.Parse(part.thickness); int partQty = part.qty; try { var timeOut = TimeSpan.FromSeconds(1); stream = System.IO.File.Open(path, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); stream.Flush(); using (StreamReader reader = new StreamReader(stream)) { XmlSerializer prjSerializer = new XmlSerializer(typeof(RadanProject)); rPrj = (RadanProject)prjSerializer.Deserialize(reader); RadanPart prt = new RadanPart(partName, rPrj.Parts.NextID, PartsToImport[i].materialType, partThickness, "in", partQty); rPrj.Parts.NextID++; rPrj.Parts.Add(prt); stream.Close(); reader.Close(); } stream = System.IO.File.Open(path, FileMode.Create, FileAccess.ReadWrite, FileShare.ReadWrite); //stream.Flush(); using (StreamWriter Writer = new StreamWriter(stream)) { XmlSerializer prjSerializer = new XmlSerializer(typeof(RadanProject)); stream = System.IO.File.Open(path, FileMode.Open, FileAccess.ReadWrite, FileShare.ReadWrite); prjSerializer.Serialize(stream, rPrj); stream.Close(); Writer.Close(); } } catch (Exception) { //Console.WriteLine("Error opening XML file"); if (stream != null) { stream.Close(); } } numOfPartsImported++; } } radInterface.LoadProject(path); toolStripStatusLabel.Text = numOfPartsImported + " items added to project"; }