예제 #1
0
        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);
            }
        }
예제 #2
0
        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);
            }
        }
예제 #3
0
        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);
            }
        }
예제 #4
0
        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";
        }